Заштедете калории - JAXenter

Сега има над 70 пакети со алатки за реализација на веб-услуги. Секако, и фракцијата Перл има што да понуди. Следната статија ја опишува имплементацијата на веб-услугите со модулот Perl SOAP: Lite. Според инвеститорот Пол Кулченко, Lite во името укажува на тоа дека само мал број калории се трошат кога се користи.

калории

Во врска со SOAP и веб-услугите, претежно само Java и .NET се споменуваат како развојни средини. Додека за некои луѓе .NET светот е исклучен поради вера, развојот со Java е доста сложен. Пакетите во трицифрен опсег МБ треба да се вчитаат и потоа да се конфигурираат. Авторот на статијата Служба за нарачки (Списание XML 01.2002 година) во својот заклучок наведува дека најголем напор лежи во обезбедувањето и конфигурирањето на животната средина [1].

Назад на SOAP: Lite. Неговите карактеристики вклучуваат поддршка за SOAP 1.1 и SOAP 1.2, разни протоколи за транспорт (FTP, HTTP, IO, Jabber, SMTP, POP3, TCP и MQSeries) и, покрај SOAP, XML-RPC како протокол. Список на сите карактеристики може да се најде на поврзаната веб-страница [2]. Постојат неколку за Windows .dll-Датотеки и голем број примери за COM, .NET, VB, C # итн. Софтверот може да се преземе од почетната страница или од CPAN [3]. Инсталирањето под Unix потоа се одвива според моделот CPAN:

Покрај инсталираниот Perl (достапен во [7] или [8]), модулите се потребни XML: Парсер, MIME: Base64 и УРИ, што може да се инсталира според истата шема. Потребни се низа други модули во зависност од употребениот протокол за транспорт; тие се испитуваат за време на инсталацијата и се инсталираат. Документацијата SOAP: Lite вклучува упатство за брз почеток, книга за готвење и страници за маж [2]. Опсегот на дистрибуција, исто така, вклучува многу примерочни програми за имплементација на клиенти и сервери кои можат да се користат како почетна точка за вашите сопствени апликации.

Следните примери се ограничени на HTTP како протокол за транспорт. Да почнеме со едноставен клиент од примерочните програми (клиент.пл) Програмите се вклучени во дистрибуцијата или може да се преземат од guide.soaplite.com Методот ури го содржи именскиот простор на услугата, методот полномошник адресата. Во овој случај, со hibye.cgi скрипта CGI наречена:

На страната на серверот, SOAP: Lite поддржува неколку варијанти. Од една страна како самостоен сервер, од друга страна интеграција во Apache преку CGI, FastCGI или mod_perl. Со mod_perl толкувач на Perl е интегриран во Apache, што резултира со значително зголемување на перформансите во споредба со CGI. Нашиот клиент ја користи скриптата CGI на својата адреса hibye.cgi, па ајде прво да ја разгледаме имплементацијата како скрипта CGI (види список 1).

Во линијата 1 е дадена патеката на толкувачот, во зависност од локалната инсталација на Perl, ова треба да се прилагоди. Линијата 2 го вчитува модулот САПОН: Транспорт: HTTP, ова одговара на увозот во Јава. Внатре има класа наречена САПОН: Транспорт: HTTP: CGI дефинирано, во редот 5 се одредува кои Perl модули може да се користат како веб-услуги. САПОН: Лајт Ова им овозможува на сите постојни модули во патеката за пребарување Perl да се користат како веб-услуга на потполно транспарентен начин. Линиите 8-14 ги дефинираат двете функции во посебен простор за имиња (демо) Здраво и Чао. Тогаш беше тоа. Започнувањето на клиентот го обезбедува резултатот: Здраво свету.

Синтаксата избрана тука се разликува од вообичаената форма. Наместо да се создаде објект со конструкторски повик и потоа да се повикуваат неговите методи еден по друг, секој метод од класата може да се повика тука и понатамошните повици на методот да се поврзат заедно (со операторот ->). Вратината вредност е секогаш објектот создаден со првиот метод. За loversубителите на Перл, изворот SOAP: Lite нуди неколку примери на темата генерирање кодови.

Со цел да ги подобриме перформансите, следно ќе го извршуваме серверот не како програма CGI, туку од самиот Apache со помош на толкувачот Perl mod_perl. Ова избегнува започнување на нов процес и составување на програмата со секое барање. Предуслов за ова е што го има Апачи mod_perl беше составен. Потребниот софтвер и документација за инсталација може да се најдат на perl.apache.org. Многу дистрибуции на Linux веќе содржат соодветен Apache. Потоа се потребни четири чекори за да ги инсталирате нашите веб-услуги: Прво треба да напишете управувач на Apache. Ова не е особено тешко, како што покажува следниот изворен код:

Еве ги сите функции на модулите демо и Мој: САПОН: ЗИП може да се повика додека е надвор од модулот Мој: САПОН: XY само функцијата func1 е остварливо.

Чекор 2 е конфигурацијата на Apache, за ова httpd.conf-Датотеката останува да се прилагоди:

Серизализаторите и десериелизаторите можат да бидат препишани од нивните сопствени класи. Сè што треба да се направи е подкласа на десериализатор/серизализатор и се наведени при креирање на објектот на серверот (или клиентот, ако таму се користи посебен серизализатор):

Документацијата опишува голем број клиенти за пристап до постојните услуги што беа создадени со други пакети со алатки. Потребните прилагодувања треба да бидат прикажани со примерот на .NET услугата. Услугите под .NET очекуваат именувани параметри од една страна. Како се генерираат веќе е опишано. .NET исто така бара поле за заглавие SOAPAction во форма простор за имиња на услуги, проследено со коса црта, проследено со името на методот. Сепак, SOAP: Lite ги одделува именскиот простор и името на методот со #. Потребното прилагодување е прилично едноставно (видете список 2). Методот на_акција се пренесува блок со Perl код во кој се направени потребните прилагодувања. Со упатството под се создава анонимна потпрограма што се користи со функцијата спринтф форматирани пренесени параметри. Другите сервери може да бараат други формати тука. Ова е одличен пример за прилагодливост на SOAP: Lite преку својствата на јазикот Perl.

Повеќе информации за темата интероперабилност може да најдете во [5], резултатите на SOAP: Lite under [6].

Алтернативно, wsdl-Датотека со service => 'датотека: /your/local/path/StockQuoteService.wsdl' наведени ако ова е на локалниот датотечен систем.

Документацијата посочува дека сложените типови на податоци сè уште не работат. Со испорачаната програма никулец.пл може да се генерираат никулци. Ова не создава ништо друго освен модул Perl со соодветно име, кој како и другите модули со употреба може да се користи. Повикот на

SOAP: Lite е сеопфатен пакет алатки за развој на клиенти и сервери за веб-услуги. Употребата на моќни модули од CPAN како на пр HTTP: колаче или LWP: Кориснички агент како и модуларната архитектура заедно со својствата на Перл, како што се анонимни потпрограми, резултираат во многу флексибилен и моќен систем. Документацијата опишува низа други карактеристики на SOAP: Lite, како што се пристап преку SSL, автентикација, колачиња, итн. Книгата за готвење опишува други случаи на употреба, како што е вметнување на сопствено поле за заглавие, пристап до пликот и секако употреба на XML RPC наместо SOAP. Тековната верзија број 0,58 не треба да избегнува да ја користи: Кодот е многу стабилен и авторите на Перл генерално не сакаат да издадат верзија 1-ви *.