Postęp przez zaniechanie

Rekomendacje WS-I - Web Services Interoperability Organization stwarzają szansę na uproszczenie integrowania aplikacji.

Rekomendacje WS-I - Web Services Interoperability Organization stwarzają szansę na uproszczenie integrowania aplikacji.

Usługi Web budzą nadzieje na zasadniczy postęp w dziedzinie integracji aplikacji. Podstawą do zapewniania współpracy systemów jest ustalenie standardu komunikacji. Z technologicznego punktu widzenia problem ten rozwiązują protokoły WSDL, SOAP oraz uniwersalny, elastyczny format XML.

Jednak sama zgodność ze standardami, choć jest warunkiem koniecznym, nie wystarczy do zaistnienia rzeczywistej współpracy. Standardy nie definiują wszystkich kwestii jednakowo rygorystycznie - z reguły pozostawiają producentom rozwiązań pewien margines swobody. Ponadto zwykle standardy pozwalają na tworzenie rozszerzeń i z tej możliwości producenci rozwiązań skwapliwie korzystają, oferując klientom niestandardową, choć zwykle bardzo użyteczną funkcjonalność. Nieubłaganie prowadzi to jednak do powstawania rozbieżności implementacyjnych i w konsekwencji uderza to w klientów.

Wypracowanie przez producentów szerszego porozumienia w postaci rekomendacji wdrożeniowych, najlepszych praktyk czy tabel kompatybilności ma miejsce stosunkowo rzadko i zdarza się zwykle wtedy, gdy brak standardu istotnie utrudnia dostawcom osiąganie przychodów z danej technologii. Nie inaczej jest w przypadku platformy integracyjnej, jaką niewątpliwie stanowią usługi Web.

W lutym 2002 r. powstała organizacja WS-I - Web Services Interoperability Organization, której głównym celem jest wypromowanie zasad budowy usług Web w taki sposób, aby wszystkie tworzone rozwiązania były wzajemnie kompatybilne i by mogły współpracować ze sobą bez względu na użytą platformę systemową, język programowania czy ich architekturę wewnętrzną.

Trzeba podkreślić, że WS-I nie jest organizacją standaryzacyjną, lecz zrzeszającą dostawców rozwiązań i ściśle współpracuje takimi z ciałami, jak IETF, OASIS, OMG czy W3C. WS-I tworzy jedynie rekomendacje, mające na celu doskonalenie standardów pod kątem ich wzajemnej współpracy. Ponieważ członkami WS-I są w zasadzie wszystkie firmy mające coś do powiedzenia w dziedzinie usług Web, wypracowane w jej ramach ustalenia są dla ciał standaryzacyjnych nie do zlekceważenia.

Standard wyprofilowany

Postęp przez zaniechanie

WS-I proces

Zasadniczym efektem prac WS-I mają być tzw. profile (profiles) - dokumenty opierające się na konkretnych specyfikacjach i zawierające zestaw wymagań opisujących, jak należy je interpretować i łączyć, by rozwiązanie jako całość mogło spełniać swoją rolę bez względu na wykorzystane implementacje. Producent, który chce zagwarantować, że jego produkt bez dodatkowych nakładów jest w stanie współpracować z innymi produktami za pomocą usług Web, musi zrealizować swoje usługi Web zgodnie z podanymi w profilu wersjami standardów wraz ze wszystkimi określonymi w nim rygorami.

Profile są oparte na dobrze zdefiniowanych przypadkach użycia (use cases) oraz stworzonych na ich podstawie scenariuszach wykorzystania (usage scenarios). Do sprawdzenia, że profile są poprawne, a także by ułatwić programistom zapoznanie się z zasadami definiowania i łączenia usług Web promowanymi w profilach, WS-I planuje stworzyć przykładowe aplikacje. Mają one być zrealizowane za pomocą różnych języków programowania, głównie C# i Javy, a także na różnych platformach - mowa jest o Java 2 Enterprise Edition i .Net. Jako obszar funkcjonalny dla przykładowych aplikacji wybrano zarządzanie łańcuchem dostaw.

Aby ułatwić producentom oprogramowania dochodzenie do zgodności z profilem, dla każdego z nich WS-I zamierza stworzyć narzędzia do testowania składające się z dwóch modułów: monitorującego i analityczno-raportującego. Część monitorująca "podsłuchuje" komunikację danej usługi Web i zapisuje wyniki w plikach log, które są następnie poddawane analizie. Moduł analityczny porównuje uzyskane wyniki z założonymi i raportuje ewentualne odchylenia.

Paragraf na każdy szczegół

Podstawę profilu tworzą trzy standardy: SOAP 1.1, WSDL w wersji 1.1, UDDI w wersji 2.0. Ponadto profil opiera się na specyfikacji XML 1.0 i XML Schema, a także HTTP/1.1 i HTTP State Management Mechanism. Jako pierwszy zostanie opublikowany tzw. profil podstawowy (Basic Profile), nad którego wersją 1.0 trwają jeszcze prace - ostatnia wersja robocza została wydana w kwietniu br. Profil podstawowy obejmuje opis czterech rodzajów obiektów:

1) komunikat (message) określony element protokołu komunikacji pomiędzy usługami, konieczny do uruchomienia usługi Web (np. komunikat SOAP/HTTP).

2) opis (description), obejmujący listę punktów dostępu do usługi Web w sieci, definicje typów danych, komunikatów, interfejsów i przypisanych im protokołów, np. SOAP i formatów danych, m.in. WSDL.

3) rejestr (registry) - rejestr UDDI wyznaczony do przechowywania danych rejestracyjnych usług objętych profilem

4) dane rejestracyjne (regdata) - opis usług Web wykorzystywany w procesie indeksowania i wyszukiwania usług w rejestrze UDDI.

Aby obiekt został uznany za zgodny z profilem, musi spełniać wszystkie zawarte w nim wymagania. Profil zawiera ponad 140 takich wymagań z czego 30% dotyczy komunikatów, ponad 50% to opisy, nieco ponad 5% ma związek z danymi rejestracyjnymi. Tak więc większość wymagań odnosi się do opisów wyjaśniających, jak należy korzystać z WSDL.

Interesującym rozwiązaniem jest wprowadzenie możliwości komunikowania przez usługę Web swojej zgodności z profilem. W tym celu użyto mechanizmu rozszerzeń WSDL. Deklaracja zgodności musi być pochodną elementu dokumentacji każdego z elementów WSDL. Do deklaracji zgodności służy element <wsi:Claim>. Wartość jego atrybutu claimsTo wskazuje profil, z którym zgodność jest deklarowana.

Deklaracja zgodności danego elementu sugeruje, że taka sama deklaracja jest aktualna dla wszystkich elementów, które wykorzystuje ten element (na które wskazuje). Przykładowo, deklaracja zgodności dla typu portu (wsdl:portType) oznacza, że operacja (wsdl:operation), do której dany typ portu się odnosi, też jest zgodna z profilem.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200