Trzy lata na usługach Web

Wyszukiwanie usług

Specyfikacja UDDI (Universal Discovery Description and Integration) określa, w jaki sposób firmy mogą publikować informacje o swoich usługach Web. Pozwala udostępniać Web Services tak, by każdy zainteresowany miał dostęp do specyfikacji umożliwiającej korzystanie z nich.

Warto podkreślić podstawową różnicę między tradycyjnymi wyszukiwarkami internetowymi a tym, co proponuje UDDI. Wyszukiwarki w ustalonych okresach analizują zawartość witryn, wybierają słowa kluczowe i samodzielnie budują indeksy. Twórca witryny ma niewielki wpływ na to, by po aktualizacji witryny zmienić wpisy w indeksie wyszukiwarki. Mechanizm UDDI opiera się na innych zasadach. Dostawca usługi publikuje informacje o sobie w specjalnym repozytorium i ma prawo do aktualizowania wpisu itp.

Wyszukiwanie usług może się opierać na niemal dowolnym systemie klasyfikacyjnym (od wersji 1.0 są dostępne np. katalogi NAICS zorganizowane według specyfikacji produkt/ usługa UN/SPSC i lokalizacji geograficznej). Można definiować własne katalogi, dowolnie opisywać usługi słowami kluczowymi.

Struktura repozytorium UDDI opiera się na XML. Główny element (businessEntity) opisuje ogólne informacje o firmie (gałąź przemysłu, lokalizacja itp.). Firma może definiować dowolną liczbę usług Web, tzw. businessService. Są to elementy, które opisują konkretne usługi, np. związane z logistyką czy zamówieniami. Na poziomie businessService określa się dokładnie charakterystykę danej grupy (np. grupa regionów, do których dostawa danego towaru będzie bezpłatna). Sposób dowiązania, inaczej adres usługi, określa bindingTemplate. Sposób wywołania usługi (przekazywane parametry) zależą od informacji zawartych w elemencie o nazwie tModel. Istotną zaletą UDDI jest możliwość wyszukiwania usług wg tModel. W ten sposób można znaleźć wszystkie usługi, które "pasują" do naszych potrzeb.

Co więcej - jeżeli system jest dostosowany do danego tModel - przy zmianie dostawcy usług nie trzeba zmieniać kodu systemu.

Każde przedsiębiorstwo może zainstalować własny serwer UDDI jako dodatek do serwera WWW. Może to być wyszukiwarka "wewnętrznych" usług Web. Najnowsza specyfikacja UDDI (3.0) określa mechanizmy łączenia różnych repozytoriów w strukturę drzewiastą i np. replikuje informacje o wpisach czy zadaje pytanie wszystkim połączonym serwerom UDDI. Ważnym rozszerzeniem wprowadzonym w UDDI 3.0 jest możliwość cyfrowego podpisywania wpisów. Dzięki temu można nadawać wymagania, by podczas wyszukiwania były uwzględniane tylko te dane, które są podpisane przez określonego usługodawcę. Obecnie dostępne pakiety do tworzenia UDDI na ogół są zgodne tylko ze standardem UDDI 2.0.

Mankamenty techniczne

Podstawy techniczne usług Web zostały w zasadzie dopracowane - wiadomo, w jaki sposób wysłać żądanie i odebrać wynik. Współczesne systemy informatyczne stawiają dodatkowe wymagania, takie jak bezpieczeństwo transmisji, standaryzacja dokumentów, mechanizm podpisywania przesyłanych informacji itp.

Obecnie prace nad usługami Web idą w dwóch kierunkach. Pierwszy ma na celu uzupełnienie usług niezbędną infrastrukturą. Drugi to zapewnienie odpowiednich standardów zapisu dokumentów. Chodzi o opracowanie branżowych schematów przesyłania danych tak, by np. dwa systemy finansowo-księgowe mogły bez dodatkowych prac programistycznych wymieniać ze sobą faktury.

Rozszerzanie technicznych możliwości usług Web musi się wiązać zarówno z propozycją standardów komunikacji, jak i ze standaryzacją API (podobnie jak w przypadku XML DOM - API przeznaczonego do przetwarzania dokumentów XML). 15 listopada 2002 r. konsorcjum W3C opublikowało pierwszą wersję "dokumentu wymagań" stawianych przed usługami Web (złośliwi mogą powiedzieć, że wreszcie powstała oficjalna definicja, czym jest usługa Web).

To dokument, który porządkuje pewne pojęcia. Nie pokazuje gotowych rozwiązań poszczególnych problemów architektonicznych, ale wskazuje ogólne kierunki, w których należy prowadzić dalsze prace. Jednak sama inicjatywa jest bardzo cenna - obecnie wiele ośrodków rozwija specyfikacje, których zakres częściowo wzajemnie się pokrywa.

Najszybciej toczą się prace inicjowane przez producentów oprogramowania. IBM zakończył prace nad transakcjami - Web Services Transactions Project (WSTk) to wskazówka, jak realizować transakcje na poziomie usług Web. W rozwiązaniu jest wykorzystywany koordynator transakcji (tak jak w innych systemach rozproszonych) i mechanizm dwufazowego potwierdzania.


TOP 200