Spis treści

Web Services

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

Pod terminem Usługi Web należy rozumieć zbiór małych funkcjonalnych modułów pracujących w sieci i udostępniających określone usługi innym systemom czy też innym webservices. Takimi modułami mogą być np. usługi pogodowe, translatory językowe czy mechanizmy przeliczające waluty, a wykorzystywane mogą być przez inne usługi udostępniające usługi bardziej złożone. Webservices zwykle nie będą stanowić samodzielnych aplikacji, a jedynie stanowić interfejs komunikacyjny pomiędzy klientami z sieci a systemami biznesowymi. Wyjątkową siłą webservices jest wykorzystanie istniejących i szeroko stosowanych technologii tj. protokołu HTTP i języka XML. HTTP jest jednym z najbardziej rozpowszechnionych protokołów w sieci, co umożliwia natychmiastowe wykorzystanie tej platformy do przesyłania komunikatów. XML dostarcza metajęzyk za pomocą którego porozumiewają się klienci z usługami oraz poszczególne komponenty. Idąc dalej, przy budowie i wykorzystaniu webservices nie ma znaczenia w jakiej technologii jest napisana usługa, na jakim systemie operacyjnym pracuje. Pełną interoperatywność zapewnia protokół SOAP, który ma aspiracje stać się następcą technik typu CORBA, RMI czy DCOM.

SOAP

SOAP to protokół definiujący formaty komunikatów, sposoby wysyłania komunikatów i odbierania odpowiedzi, kodowania danych w języku XML oraz gramatykę XML służącą do: określania nazw metod, definiowania typów parametrów i zwracanych wartości oraz opisu typów. SOAP określa także mechanizmy wywoływania zdalnych procedur (RPC) przy pomocy protokołu komunikacyjnego HTTP. ¬ądania SOAP są wysyłane jako żądania HTTP POST, choć do komunikacji może być wykorzystany jakikolwiek protokół transportowy. Cały proces wymiany komunikatów rozpoczyna się od zapytania SOAP wysłanego jako HTTP POST z typem zawartości text/xml i polem SOAPAction zawierającym nazwę metody SOAP. W komunikacie jest także miejsce na dane w postaci XML. Odbiornik na serwerze (np. servlet) kontroluje pole SOAPAction i w zależności od jego zawartości podejmuje odpowiednie działania. Na podstawie treści XML odnajdywana jest odpowiednia usługa, która wykona metodę i zwróci rezultat. Następnie rezultat jest zwracany klientowi jako dokument XML ze standardowym nagłówkiem HTTP i typem zawartości text/xml. Podczas wymiany dużej ilości komunikatów znaczącą wartością staje się wydajność. W przeciwieństwie do technologii typu CORBA, RMI czy DCOM gdzie dane transportowane są w postaci binarnej (brak metadanych), SOAP przesyła komunikaty czystym i otwartym XML. SOAP wraz z samoopisującymi się danymi w XML umożliwia łatwe i szybkie przystosowanie każdego systemu do wykorzystania stosowanej implemenntacji SOAP, co w przypadku systemów binarnych sprawia duże problemy w związku z różnymi sposobami kodowania informacji. Czas potrzebny na zakodowanie/odkodowanie komunikatu SOAP jest nieporównywalnie mały do czasu przesłania takiego komunikatu przez sieć.

UDDI

UDDI (Universal Description, Discovery and Integration Service) to usługa udostępniająca klientom mechanizmy dynamicznego wyszukiwania innych usług. UDDI stanowi interfejs umożliwiający dynamiczne połączenie się z usługą udostępnianą przez innego usługodawcę. Rejestry UDDI zawierają:

  • informacje o webservices na bazie nazwy usługodawcy, jego adresu, kategorii biznesowej czy informacji technicznej itp.,
  • operacje dotyczące usługi, tj., rejestracji, wyszukiwania i korzystania z usługi
  • szczegóły udostępniane przez niskopoziomowe API

UDDI posiadają dwa rodzaje klientów: usługodawców publikujących swoje usługi oraz klientów pragnących skorzystać z tych usług. Warstwa UDDI leży nad protokołem SOAP, przez co komunikaty UDDI stanowią obiekty w komunikatach SOAP.

WSDL

WSDL (Web Services Definition Language) jest nadzbiorem języka SDL, umożliwia twórcom usługi Web opisanie co potrafi usługa, gdzie się znajduje i jak ją wywołać. Usługa Web może być pytana o listę udostępnianych metod. OdpowiedĽ powinna zawierać opis w zrozumiałym formacie. Język WSDL jest przydatny przy automatyzacji komunikacji pomiędzy usługami webservices umożliwiając współgranie usług.

DISCO

Protokół odnajdowania DISCO (Discovery) umożliwia odnajdowanie usług Web Services. Witryna internetowa powinna opublikować dokumenty DISCO zawierające adresy URL oraz opisy WSDL dla udostępnianych usług web. Dokumenty DISCO zawierają odniesienia do innych witryn oraz innych dokumentów DISCO co umożliwia przeszukiwanie drzew katalogów itp.


powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz