Trzy lata na usługach Web

W świecie idealnym firma powinna być jednym organizmem, a jej systemy informatyczne spójne. Usługi Web dają nadzieję, że ten cel uda się kiedyś zrealizować w świecie realnym.

W świecie idealnym firma powinna być jednym organizmem, a jej systemy informatyczne spójne. Usługi Web dają nadzieję, że ten cel uda się kiedyś zrealizować w świecie realnym.

Na drodze do usług Web

Na drodze do usług Web

Mianem usług Web (Web Services) określa się usługi, do których uzyskuje się dostęp za pośrednictwem standardowych protokołów Internetu. Usługą może być internetowy system składania zamówień, oparty na skryptach powiązanych z wewnętrznym systemem ERP, lub funkcja pozwalająca sprawdzić stan konta w banku. Bardziej wyrafinowane usługi mogłyby szacować ryzyko transakcji lub sporządzać długofalową prognozę pogody.

Siła standardów

Dla doświadczonego informatyka usługi Web to kolejny mechanizm przetwarzania rozproszonego, w którym obliczenia są rozsyłane do wykonania między różne komputery. Można sobie wyobrazić sytuację, w której realizacja pojedynczego zamówienia będzie podzielona na kilka faz - dostawca, hurtownia, spedytor, księgowość, bank - obsługiwanych przez wiele różnych serwerów. Tego typu przetwarzanie jest znane od lat 70. Różnica polega na tym, że usługi Web - w odróżnieniu od mechanizmów typu DCE/RPC/ RMI czy bardziej "komponentowych" DCOM/CORBA/EJB - nie są oparte na mechanizmach właściwych jednej platformie, związanej z jednym tylko środowiskiem czy językiem programowania.

Fundamentem usług Web są standardy internetowe, w tym liczne standardy de facto. Dostawcą usług Web może być dowolny serwer WWW. Klientem zaś taki komputer, który pozwala na przeglądanie Internetu, tzn. łączy się z serwerem przy użyciu portu 80. Transmisja danych jest oparta na tekstowym pliku XML, dzięki czemu nie ma potrzeby zwracania uwagi na różnice techniczne poszczególnych platform, np. w binarnej reprezentacji liczby.

Aby zrozumieć ideę usług Web, warto przyjrzeć się formularzom HTML. Po wprowadzeniu danych do formularza i naciśnięciu przycisku "Wyślij" do serwera WWW są przesyłane dane. Zwykle w odpowiedzi użytkownik otrzymuje inną stronę HTML. Jak by to wyglądało w przypadku usługi Web? Zamiast użytkownika, określone czynności wykonałby program - automatycznie wypełniłby formularz i odebrał wyniki.

Zaletą usług Web jest możliwość przekazywania "czystych" danych zapisanych w postaci XML (jak się później okaże, z pewnych względów może to być również wadą). Technicznie dokument jest przesyłany przy użyciu protokołu HTTP - tego samego, który służy do przesyłania stron HTML. Sposób wywołania usługi określa protokół SOAP - to specyfikacja definiująca postać pliku XML, który zawiera nazwę wywoływanej usługi Web i jej parametry, służy także do odbierania wyników.

Historia protokołu SOAP, w praktyce zbieżna z historią usług Web, jest dosyć burzliwa. Na przełomie 1999/2000 r. było dostępnych niemal 20 różnych "standardów" o analogicznej funkcjonalności. Obecnie w szczątkowej postaci przetrwał najprostszy protokół XML-RPC. Pozostałe albo zanikły, albo - jak ebXML - wykorzystują SOAP jako warstwę transportową.

Większość dostępnych bibliotek do obsługi usług Web wykorzystuje SOAP 1.0 lub 1.1 (różnice między tymi protokołami są niewielkie). Organizacja standaryzacyjna W3C opracowała niedawno SOAP 1.2, który można określić mianem standardu porządkującego. W SOAP 1.2 dookreślono elementy związane z sygnalizacją błędów i sprecyzowano zasady współpracy z warstwą realizującą HTTP. Pojawiła się jedna zasadnicza zmiana - nowa specyfikacja narzuca inne zasady transmisji niektórych argumentów, np. tablic (SOAP 1.0/1.1 pozwalał efektywnie przekazywać tzw. rzadkie tablice - zamiast przesyłać wszystkie komórki, przesyłane są tylko te wypełnione). Zmiana ta może być przeszkodą w szybkim przyswojeniu SOAP 1.2 przez rynek.

Innym ważnym elementem usług Web jest standard WSDL, który określa postać dokumentu "opisującego" pakiet SOAP. Innymi słowy, program lub środowisko programistyczne IDE na podstawie WSDL uzyskuje informację, w jaki sposób konstruować pakiet SOAP do wywołania danej usługi Web. Obecnie jest dostępna specyfikacja WSDL 1.1

Aby system informatyczny przedsiębiorstwa mógł wykorzystywać usługi Web, musi przetwarzać dokumenty XML, obsługiwać protokół SOAP, generować i odczytywać WSDL oraz komunikować się przy użyciu protokołu HTTP.

To są wymagania podstawowe.


TOP 200