Dojrzewające usługi Web

Global XML Architecture (GXA) to propozycja wszechstronnej platformy usług Web.

Global XML Architecture (GXA) to propozycja wszechstronnej platformy usług Web.

Dojrzewające usługi Web

Architektura GXA

O usługach Web jest głośno od ok. dwóch lat. Idea ta znalazła zainteresowanie największych firm IT. Na obecnym etapie rozwoju usługi Web stanowią dobrze zdefiniowany mechanizm komunikacji między dwiema stronami transakcji. Określono fizyczny sposób przesłania komunikatu za pośrednictwem HTTP lub innego protokołu internetowego. Wiadomo też jak zakodować wiadomości. Protokół SOAP określa postać dokumentu XML, sposób wywoływania usług i przekazania parametrów. Zdefiniowano także protokoły usługowe: WSDL (pozwala "odkryć" parametry usługi Web) i UDDI (globalny katalog usług). Czego brakuje usługom Web? Lis-ta mankamentów jest długa. Najważniejsze pozycje to: transakcje biznesowe, bezpieczeństwo, sposób i zasady przekierowywania komunikatów. Nie powstała dotąd platforma integracyjna, zapewniająca niezbędną infrastrukturę dla usług Web.

Platforma otwarta na oścież

Global XML Architecture (GXA) jest zgłoszoną przez Microsoft propozycją platformy, która miałaby służyć do stworzenia warstwy serwisowej usług Web. Chodzi o to, by firmy i programiści, tworząc nowe usługi, mogli korzystać ze znanych zestawów API, potrzebnych do rozwiązywania realnych problemów biznesowych.

Aby idea GXA zyskała poparcie świata programistycznego, konieczne jest, by cała infrastruktura była oparta na standardach. Łatwo można sobie wyobrazić pakiet SOAP przekazywany przy użyciu kolejki MSMQ - co automatycznie zapewniłoby transakcyjność, routowanie i identyfikowanie nadawcy. Jednak zastosowanie dodatkowej aplikacji Microsoftu kłóciłoby się z ogólną ideą otwartości usług Web. Dlatego firma zgłasza swoje propozycje do komitetów i organów standaryzacyjnych.

Inne założenia, które leżały u podstaw GXA, to federacyjność (ma być to API do komunikacji biznesowej, odporna na awarie) i modułowość.

Dotrzeć bezpiecznie do celu

Framework GXA ma wykorzystywać schemat SOAP i rozszerzać go o dodatkowe informacje związane m.in. z routingiem i bezpieczeństwem. Standard WS-Routing określa sposób adresowania przesyłki z uwzględnieniem wielu punktów pośrednich i rejestruje trasę pakietu.

Obecnie na potrzeby usług Web dostosowano mechanizmy kodowania XML (standard XML Encoding) i wstawiania sygnatur do nagłówka SOAP (XML Signature), dzięki czemu pakiety można podpisywać cyfrowo. Standard WS-Security ma ponadto obsługiwać mechanizm WS- -License, zawierający ogólny model licencjonowania usług Web.

Dojrzewające usługi Web

Protokół HTTP z natury zapewnia bezpieczną komunikację, np. przy użyciu kodowania SSL. Jednak jest to tylko bezpieczeństwo w warstwie transportowej, w wielu przypadkach niewystarczające. Standard bezpieczeństwa usług sieciowych WS-Security pozwala na zdefiniowanie bezpieczeństwa, tak by obejmowało całą trasę komunikatu - na poziomie pakietu SOAP, od nadawcy do odbiorcy, nawet przy uwzględnieniu routowania. Technicznie rozwiązanie opiera się na tokenach oraz mechanizmach podpisów dokumentów XML. Węzeł, przez który komunikat jest przekazywany, nie musi dekodować wiadomości, by przesłać ją dalej. WS-Security może zabezpieczać np. tylko część główną komunikatu. Wiadomości o trasie pakietu mogą być przekazywane jako czysty tekst.

Kolejnym krokiem w rozwoju WS-Security mają być usługi do definiowania polis, wzajemnych związków zaufania pomiędzy usługami, jak również między klientem a usługą, a także mechanizmy ochrony prywatności.

Transakcje

W GXA zdefiniowano ogólne ramy systemów transakcyjnych. W przypadku krótkich transakcji ma być wykorzystywany znany, dwufazowy protokół potwierdzeń. W odniesieniu do transakcji długich (nawet kilkudniowych) proponowane są rozwiązania ze świata EAI, np. dodatkowy koordynator czy podział transakcji na fazy. GXA określa tylko ogólne mechanizmy: jak rozpocząć i zakończyć transakcję, ewentualnie zawiera opis jej cech.

Częścią GXA będzie tzw. infoset - model danych dla XML. To model abstrakcyjny, który łączy technologie związane z XML: XML Schema (definicja dokumentu), XSLT (transformacja), XPath (język pozwalający odwołać się do wybranego fragmentu XML o danej strukturze). Infoset definiuje tzw. zależności informacyjne - na dokument XML patrzy się z punktu widzenia informacji, jakie zawiera, a nie tylko struktury i interfejsów do manipulowania nią. Wiele elementów technicznych XML jest przy infoset ignorowanych.

W ramach prac nad GXA Microsoft zdefiniował także rozszerzone atrybuty języka WSDL, które pozwalają opisywać dodatkowe cechy usługi Web - poziom jakości usług (QoS), wymagania transakcyjności i bezpieczeństwa usługi.

W załączeniu

Ze stron MSDN można pobrać Web Services Development Kit - bibliotekę .Net, która zawiera implementacje WS- -Security, WS-Routing, WS- -Attachments i DIME. Dwa ostatnie są protokołami, które standaryzują i upraszczają sposób przekazywania złożonych obiektów.

DIME (Direct Internet Message Encapsulation) pozwala na sprawne kodowanie binarne (można zapisać zarówno dowolny typ MIME, jak i zasób URI) i umożliwia dowolne zagnieżdżanie pakietów, np. komunikat DIME może zawierać inny pakiet DIMIE wraz z dodatkowym nagłówkiem.

WS-Attachments jest protokołem do dołączania załączników do pakietu SOAP. Określa, w jaki sposób można łatwo przekazać wartość binarną w dokumencie XML. Ma również mechanizm do zagnieżdżania pakietów SOAP.

Obie propozycje standardów zostały zgłoszone m.in. przez IBM i Microsoft do oceny przez komitet IEFT.


TOP 200