Uslugi XML Web Services_podstawy.doc

(95 KB) Pobierz
Usługi XML Web Services — podstawy

Usługi XML Web Services — podstawy

Roger Wolter
Microsoft Corporation

grudzień 2001 roku

Streszczenie
W artykule tym opisano znaczenie usług XML Web Service dla programistów oraz zamieszczono krótki opis technologii SOAP, WSDL i UDDI.
Długość dokumentu — około 7 stron drukowanych.

Spis treści

Co to jest usługa internetowa XML Web Service?
SOAP
WSDL
UDDI
Co dalej?

Co to jest usługa internetowa XML Web Service?

Usługi XML Web Services stanowią podstawowe bloki do budowania aplikacji i przyczyniają się do rozpowszechnienia technologii przetwarzania rozproszonego. Otwarte standardy oraz skupienie uwagi na możliwości komunikacji i współpracy użytkowników i aplikacji przyczyniły się do powstania środowiska, w którym usługi XML Web Service stają się platformą dla integracji aplikacji. Aplikacje konstruowane są z wielu różnych, pochodzących z różnych źródeł usług XML Web Service, które współpracują ze sobą bez względu na to, gdzie są przechowywane lub jak zostały zaimplementowane.

Prawdopodobnie można znaleźć tyle definicji usług internetowych XML Web Service, ile firm zajmuje się ich tworzeniem, ale prawie wszystkie definicje mają kilka wspólnych elementów:

·         Usługi XML Web Service udostępniają funkcjonalność użytkownikom zdalnym za pośrednictwem standardowego protokołu sieciowego. Protokołem stosowanym w większości przypadków jest protokół SOAP (Simple Object Access Protocol — prosty protokół dostępu do obiektów).

·         Interfejsy usług XML Web Service mogą być opisane na tyle szczegółowo, by użytkownik mógł zbudować aplikację kliencką, komunikującą się z tymi usługami. Opis ten ma zazwyczaj postać dokumentu XML napisanego w języku WSDL (Web Services Description Languagejęzyk opisu usług Web Service).

·         Usługi XML Web Service są rejestrowane, co umożliwia potencjalnym użytkownikom łatwe odnalezienie potrzebnych komponentów. Rejestracji usług dokonuje się z wykorzystaniem UDDI (Universal Discovery Description and Integration — specyfikacja umożliwiająca opisanie usługi, przedstawienie tego opisu aplikacjom i odnalezienie usługi przez użytkowników).

Wymienione wyżej trzy technologie zostaną dokładniej omówione w dalszej części tego artykułu, najpierw jednak czytelnikowi należy się wyjaśnienie, dlaczego usługi XML Web Service tak bardzo popularne.

Jedną z głównych zalet usług XML Web Service jest to, że umożliwiają one zestandaryzowaną komunikację pomiędzy programami napisanymi w różnych językach i dla różnych platform. Czytelnicy, którzy dłużej zajmują się informatyką, zapewne myślą sobie „Pewnie! Takie same obietnice padały już w przypadku CORBA i DCE! W jaki sposób usługi XML różnią się od tych technologii?”. Pierwsza różnica polega na tym, że SOAP jest znacznie mniej złożony niż wszystkie wcześniejsze technologie, dlatego utworzenie zgodnej ze standardami implementacji SOAP jest znacznie prostsze. Paul Kulchenko na stronie http://www.soapware.org/directory/4/implementations publikuje listę dostępnych implementacji SOAP. Gdy zaglądałem tam ostatnio, naliczyłem 79 różnych wpisów. Jak można się było tego spodziewać, większość dużych firm informatycznych ma własne implementacje protokołu SOAP, ale istnieje także wiele implementacji utworzonych przez pojedynczych programistów. Inną dużą przewagą usług XML Web Service nad wcześniejszymi technologiami jest to, że usługi te wykorzystują standardy internetowe — język XML oraz protokoły HTTP i TCP/IP. Wiele firm posiada już infrastrukturę internetową oraz zatrudnia doświadczone osoby, zajmujące się tą infrastrukturą, dlatego koszty początkowe stosowania usług XML Web Service są znacznie niższe niż koszty początkowe zastosowania wcześniejszych technologii.

Wiemy już, że usługa XML Web Service to program-usługa, wyeksponowana w sieci za pośrednictwem protokołu SOAP, opisana za pomocą pliku WSDL i zarejestrowana w UDDI. Nasuwa się zatem pytanie co można zrobić z taką usługą? Pierwsze usługi XML Web Service stanowiły zazwyczaj źródła informacji łatwe do zastosowania w aplikacjach — za pomocą usług publikowano notowania giełdowe, prognozę pogody, wyniki rozgrywek sportowych itp. Łatwo można sobie wyobrazić całą klasę aplikacji, utworzonych w celu zbierania i analizowania ważnych informacji, a następnie prezentowania ich na wiele różnych sposobów. Na przykład można utworzyć arkusz kalkulacyjny programu Microsoft® Excel, który zawiera informacje o finansach — papierach wartościowych, stanie indywidualnego konta emerytalnego, stanie kont bankowych, zaciągniętych pożyczkach itp. Jeśli takie informacje są dostępne poprzez usługi XML Web Service, to Excel może stale uaktualniać dane zebrane w arkuszu. Niektóre nformacje można uzyskać bezpłatnie, w przypadku innych trzeba wnosić opłatę subskrypcyjną. Wiele takich informacji jest już dostępnych w Internecie, ale programowy dostęp do nich ułatwiają usługi XML Web Service.

Udostępnienie funkcjonalności istniejących aplikacji w postaci usług internetowych XML Web Service umożliwia użytkownikom tworzenie nowych, silniejszych aplikacji, które wykorzystują usługi XML Web Service jako swoje składniki. Użytkownik może na przykład zbudować aplikację do obsługi zamówień, która automatycznie pobiera ceny produktów od wielu producentów, umożliwia użytkownikowi wybranie producenta, przesłanie do niego zamówienia, a następnie śledzenie przebiegu dostawy. Aplikacja działająca u producenta oprócz udostępniania w Internecie usług z cenami produktów sama może być klientem innych usług XML Web Service, służących do sprawdzania stanu płatności danego klienta, obciążania rachunku klienta i przekazywania firmie transportowej danych na temat dostaw.

W przyszłości usługi XML Web Service staną się podstawą do budowania aplikacji, umożliwiających wykorzystanie Sieci w sposób, jaki trudno jest dzisiaj sobie wyobrazić. Weźmy na przykład usługę XML Web Service obsługującą firmowy kalendarz. Jeśli dentysta i mechanik udostępniliby swoje kalendarze firmowe poprzez taką usługę XML Web Service, to można by umówić się z nimi przez Internet na wizytę. Jeśli nasz kalendarz także byłby dostępny poprzez taką usługę, to dentysta i mechanik sami mogliby wpisać w nim wizyty kontrolne i okresowe przeglądy samochodu, proponując od razu dogodny termin. Wystarczy puścić wodze fantazji i od razu nasuwają się pomysły na setki aplikacji, które można by napisać mając możliwości programowania Internetu.

Więcej informacji na temat usług XML Web Service oraz aplikacji, które można budować za ich pomocą, znajduje się w MSDN w witrynie XML Web Services Developer Center.

SOAP

SOAP to protokół komunikacyjny usług XML Web Service. Gdy mówi się o SOAP jako o protokole komunikacyjnym, wiele osób przypomina sobie DCOM oraz CORBA i zaczyna zadawać pytania typu:W jaki sposób SOAP przeprowadza aktywację obiektów?” lub „Jakiej usługi nazw używa SOAP?”. Zależy to od konkretnej implementacji — w standardzie SOAP nie zostało to określone. Jedyny fragment specyfikacji SOAP, którego implementacja jest wymagana, to format XML komunikatów. Jeśli mamy poprawny fragment XML, zawierający kilka elementów SOAP, to mamy komunikat SOAP. Proste, nieprawdaż?

Pozostałe fragmenty specyfikacji...

Zgłoś jeśli naruszono regulamin