Standardy usług Web Services

Jedną z podstawowych cech standardów internetowych jest fakt, że skupiają się na protokołach, a nie implementacjach. Internet składa się z heterogenicznych technologii, które skutecznie współdziałają przez wspólne protokoły. Zapobiega to narzuceniu jakiegokolwiek standardu na Internet przez jednego producenta. Projektowanie oprogramowania Open Source odgrywa kluczową rolę w utrzymaniu współdziałania implementacji standardów dokonanych przez różnych producentów.

W usługach Web Services kluczową rolę odgrywają następujące standardy: UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language), WSIL (Web Services Inspection Language), SOAP i WS-I (Web Services Interoperability). Relacje między tymi standardami są opisane na Rysunku 2.

W specyfikacji UDDI opisane są otwarte, niezależne od platformy standardy, które umożliwiają jednostkom biznesowym współużytkowanie informacji w globalnym rejestrze biznesowym, wykrywanie usług w rejestrze i definiowanie sposobu ich interakcji przez Internet. Więcej informacji na temat UDDI zawiera strona www.uddi.org.

WSIL to wykorzystująca XML otwarta specyfikacja, w której jest zdefiniowana metoda wykrywania dostarczająca odwołania do opisów usług w miejscu ich oferowania przez dostawcę przez określenie sposobu przeprowadzania w serwisie WWW inspekcji w celu znalezienia dostępnych usług Web Services.  W dokumencie WSIL są zdefiniowane miejsca w serwisie WWW, gdzie należy szukać opisów usług Web Services. Ponieważ specyfikacja WSIL jest przeznaczona do rozproszonego wykrywania WSIL, stanowi uzupełnienie dla specyfikacji UDDI, upraszczając wykrywanie usług, które są dostępne w serwisach WWW, ale mogą jeszcze nie figurować w rejestrze UDDI. Osobny temat w tej dokumentacji zawiera omówienie Relacji między UDDI a WSIL.  Więcej informacji na temat WSIL zawiera strona www.ibm.com/developerworks/webservices/library/ws-wsilspec.html.

WSDL to otwarta specyfikacja wykorzystująca XML, która opisuje instancje usług Web Services w sieci oraz interfejsy do nich. Specyfikacja ta jest rozszerzalna, przez co punkty końcowe mogą być opisywane niezależnie od formatu wiadomości lub protokołów sieciowych używanych do komunikacji. Jednostki biznesowe mogą udostępniać dokumenty WSDL swoich usług Web Services poprzez UDDI, WSIL lub rozgłaszanie adresów URL dokumentów WSDL za pośrednictwem poczty elektronicznej lub serwisów WWW. Język WSDL jest opisany w osobnym temacie tej dokumentacji. Więcej informacji na temat specyfikacji WSDL zawiera strona www.w3.org/TR/wsdl.

SOAP to wykorzystujący XML standard przesyłania wiadomości poprzez HTTP i inne protokoły internetowe. Jest to prosty protokół wymiany informacji w zdecentralizowanym, rozproszonym środowisku. Jest oparty na standardzie XML i składa się z trzech części: SOAP umożliwia wiązanie i używanie wykrytych usług Web Services poprzez zdefiniowanie ścieżki kierowania wiadomości. SOAP może służyć do tworzenia zapytań UDDI o usługi Web Services. Więcej informacji na temat specyfikacji SOAP 1.1 (specyfikacja SOAP 1.2 nie jest obsługiwana przez narzędzia do tworzenia usług Web Services) zawiera strona www.w3.org/TR/SOAP.

Rysunek 2. Relacje między SOAP, UDDI, WSIL a WSDL.

Na rysunku 2 zilustrowano relacje między SOAP, UDDI, WSIL a WSDL.

Dostawca usług udostępnia usługę Web Service za pomocą takich protokołów, jak SOAP/HTTP lub SOAP/JMS. Usługa Web Service jest opisywana przez dokument WSDL przechowywany na serwerze dostawcy lub w specjalnym repozytorium. Do dokumentu WSDL może się odwoływać rejestr biznesowy UDDI i dokumenty WSIL. Zawierają one wskaźniki do plików WSDL usługi Web Service.

Profil prostego powiązania SOAP WS-I i profil przyłączenia WS-I to zarysy wymagań, które ruch WSDL i protokołu usług Web Services (SOAP/HTTP) musi spełniać, aby uzyskać zgodność z WS-I. Narzędzia sprawdzania poprawności WS-I usług Web Services obsługują aktualnie profil prostego powiązania SOAP WS-I 1.0 oraz profil przyłączenia 1.0. Aby przejrzeć te specyfikacje, należy przejść do serwisu WWW WS-I i w obszarze Resources wybrać opcję Documentation Profile>: http://www.ws-i.org.

To środowisko programistyczne obsługuje też kilka nowych standardów usług Web Services. Obejmuje to następujące elementy:
JAX-RPC
JAX-RPC to interfejs API Java™ dla wywołań RPC wykorzystujących XML, który jest znany również pod nazwą JSR 101. Specyfikacja ta opisuje aplikacyjne interfejsy programistyczne (API) Java i konwencje tworzenia usług Web Services oraz klientów usług Web Services wykorzystujących zdalne wywołania procedur (RPC) oraz język XML. Określa on standard odwzorowania Java na WSDL i WSDL na Java, a także udostępnia podstawowe interfejsy API służące do projektowania i wdrażania usług Web Services i klientów usług Web Services na platformie Java. Więcej informacji na ten temat zawierają oficjalne specyfikacje.
JSR-109
Specyfikacja JSR-109 (Implementowanie korporacyjnych usług Web Services) definiuje model programowania oraz architektury wykonawczej na potrzeby wdrażania i wyszukiwania usług Web Services w środowisku Java EE, a dokładniej w sieci WWW, komponentach EJB i kontenerach aplikacji klienckich. Jednym z ich głównych celów jest zagwarantowanie możliwości współdziałania implementacji różnych dostawców. Więcej informacji na ten temat zawierają oficjalne specyfikacje.
WS-S
Narzędzia te obsługują standard OASIS Web Services Security 1.0. Więcej informacji na temat poszczególnych komponentów tego standardu zawierają dokumenty:

Narzędzia do tworzenia usług Web Services obsługują następujące specyfikacje:

Technologia lub specyfikacja Obsługiwana wersja lub poziom
Transporty
HTTP/HTTPS v1.0 i v1.1
JMS  
Przesyłanie wiadomości
Specyfikacja SOAP 1.1
Przyłączenia SOAP  
Opis
UDDI 2.0
WSDL 1.1
WSIL 1.0
Zabezpieczenia
WS-Security Standard OASIS 1.0
Współdziałanie
Profil podstawowy WS-I 1.1.2
Profil prostego powiązania SOAP WS-I 1.0.3
Profil przyłączenia WS-I 1.0
Inne standardy  
JAX-RPC 1.0 dla J2EE 1.3, 1.1 dla J2EE 1.4 oraz Java EE 1.5
JSR 109