Дипломна работа Лист № Съдържание: Обзор. 2 Грид систем


Създаване на втора машина



страница7/9
Дата18.09.2016
Размер0.59 Mb.
#10053
ТипДиплом
1   2   3   4   5   6   7   8   9

3.8. Създаване на втора машина.


Една експериментална Грид среда не би била пълноценна само с един възел, затова сега ще преминем към създаването на още една машина, която ще бъде втория сегмент на нашия ГРИД. Няма да се спираме подробно върху инсталирането на втория изчислителен възел защото процедурата е почти идентична с процеса на инсталация на първия изчислителен възел. Единствената разлика е, че на втората машина не е инсталиран SimpleCA, а само сертификат за потребителя участващ в ГРИД средата. След приключване на процедурата проверяваме дали можем да изпълним някаква тестова задача от единия възел на другия:
debian1 % globusrun-ws -F debian.tu-varna.bg -submit -c /bin/true

Submitting job...Done.

Job ID: uuid:0efba320-4780-11dc-bd6b-0007e9d811ce

Termination time: 08/11/2007 20:27 GMT

Current job state: Active

Current job state: CleanUp

Current job state: Done

Destroying job...Done.


По същия начин може да се изпрати някаква задача и от другия възел към втория.

4. Тестване на грид услуга в експериментална ГРИД среда.

Преди да започнем с реализирането на услугата, трябва да обърнем внимание, че това е услуга със запазване на състоянието. Нека да разгледаме каква е разликата между услуга без запазване на състоянието /нормална уеб услуга/ и услуга със запазване на състоянието. Обикновенно уеб услугите са без запазване на състоянието. Това означава, че уеб услугата не може да „запомня” информация или да пази състоянието си от едно извикване до друго. На пример: представете си, че искаме да реализираме проста уеб услуга която действа като акумулатор на цели числа. Акумулатора се инициализира с нула и искаме да имаме възможност да добавяме стойности в него /фиг. 5/. Да предположим, че имаме операция добавяне, в следствие на нея получаваме резултат, който ни удовлетворява /добавили сме 5 към първоначалната стойност 0 и отговора е 5, което е вярно/.Тъй като уеб услугата е без запазване на състоянието следващите извиквания не знаят какво е станало в предишните и резултата е на лице /добавяме 6, но не получаваме 11, а числото 6/.



Фиг. № 5 Задача без запазване на състоянието.


Фактът, че уеб услугите не запазват информация за състоянието си не винаги е лошо. Има много приложения при които изобщо не е необходимо да запазват каквато и да било информация за състоянието си. ГРИД приложенията в повечето случаи е добре да пазят състоянието си. В идеалния случай бихме искали услугата ни да пази информация за състоянието си /фиг. 6/.

Фиг. № 6 Задача със запазване на състоянието.


MathService /Математическа услуга/

В тази част, че ще подготвим и изпълним проста уеб услуга със запазване на състоянието, която използва WSRF за да съхранява данни за състоянието. Услугата ще представлява проста математическа услуга към която ще се обръщаме като MathService. Тя ще позволи на потребителите да извършват следните операции:



  • Addition /събиране/

  • Subtraction /изваждане/

В последствие MathService ще притежава следните ресурси:

  • Value (integer) /стойност/

  • Last operation performed (string) /последна извършена операция/

Ще добавим и операция “Get Value” за да достъпим параметъра Value. В тази операция ще разгледаме по добър начин за достъп до ресурси без да е необходимо да добавяме get/set операции.

Вътрешната логика на услугата е много проста. Веднъж след като е създаден нов ресурс, стойността на променливите се инициализира с „ZERO”, а последно извършената операция се инициализира с „NONE”. Операциите за събиране и изваждане очакват само един целочислен параметър. Този параметър се добавя или изважда от текущата стойност, а променливата на последната операция се променя на „събиране” или „изваждане” в зависимост от това какво е извършено. Трябва да се знае, че операциите събиране и изваждане не връщат нищо.

Разработването и внедряването на примерната услуга ще премине през следните пет етапа:


  1. Дефиниране на интерфейса на услугата.

  2. Реализация на услугата.

  3. Дефиниране на параметрите и настройване.

  4. Компилиране и създаване на ГАР файл.

  5. Деплойване на услугата.

Сега ще разгледаме в детайли всеки един от етапите необходими за реализирането на примерната услуга.

4.1. Дефиниране на интерфейса на услугата.


Първата стъпка при разработването на уеб услуга е дефинирането на интерфейс. Трябва да уточним какво ще предоставя нашата услуга на външния свят. На този етап не се интересуваме как функционира вътрешната логика на услугата, а просто трябва да знаем какви операции ще са на разположение на потребителите.

Има специален XML език, който може да бъде използван за уточняване на операциите които предоставя една уеб услуга. Той се нарича Web Service Description Language (WSDL)- език за описание на уеб услуга. Това от което се нуждаем е да напишем описание на услугата използвайки WSDL.

На пръв поглед може да изглежда, че ако започнем с интерфейсен език /като Java/ би трябвало да е най-добре, тъй като е по разбираем в сравнение с WSDL. Ако искахме да дефинираме нашия интерфейс в Java, можем просто да напишем следното:

public interface Math

{

public void add(int a);



public void subtract(int a);

public int getValueRP();

}

и щяхме да сме почти готови. Независимо от това ще започнем с WSDL описание на интерфейса, въпреки че е малко по труден за разбиране в сравнение с Java. Главната причина за това е че по време на цялостната разработка на услугата WSDL може да създаде много по малко проблеми в сравнение с лесното реализиране на Java.




targetNamespace="http://www.globus.org/namespaces/examples/core/MathService_instance"

xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:tns="http://www.globus.org/namespaces/examples/core/MathService_instance"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

namespace=


"http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"

location="../../wsrf/properties/WS-ResourceProperties.wsdl" />

T Y P E S

============================================================-->





xmlns:tns="http://www.globus.org/namespaces/examples/core/MathService_instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

















































29

M E S S A G E S

============================================================-->

















P O R T T Y P E

============================================================-->

wsdlpp:extends="wsrpw:GetResourceProperty"

wsrp:ResourceProperties="tns:MathResourceProperties">
























Този код се намира във файла Math.wsdl. С това приключваме с първия етап от реализирането на уеб услугата.




Каталог: 123
123 -> Възникване и развитие на телевизионната индустрия. Модели телевизионни организации
123 -> Списание „Прозорец”3/12
123 -> Н а р е д б а за реда за придобиване, управление и разпореждане с общинско имущество
123 -> Програма за действие по околната среда: Към устойчиво развитие Европейска Общностна програма за политиката и действията по отношение на околната среда и устойчивото развитие
123 -> Curriculum vitae
123 -> За произхода на някои български названия на малки предмети Живка Колева-Златева
123 -> Съобщение на комисията до европейския парламент и съвета план за действие за намаляване на инцидентния улов на морски птици в риболовните уреди
123 -> На научната продукция на ДНК маргарита карамихова
123 -> Програма за овм. Концепция за опазване и мониторинг на овм, чрез изграждане на мрежа от сътрудници по места


Сподели с приятели:
1   2   3   4   5   6   7   8   9




©obuch.info 2024
отнасят до администрацията

    Начална страница