Pragmatycznie o usługach

Z radosnej wizji marketingowej usługi sieciowe przekształcają się powoli w dojrzałą technologię.

Z radosnej wizji marketingowej usługi sieciowe przekształcają się powoli w dojrzałą technologię.

Wielki wysiłek włożony w tworzenie, rozwijanie, standaryzowanie i propagowanie usług sieciowych (WS - web services) przez IBM, Microsoft, Suna i inne firmy informatyczne zaczyna procentować w formie coraz większej liczby aplikacji, systemów i kompletnych rozwiązań opartych na technologiach WS. Stabilizacja technologii pozwala na stopniowe odzyskiwanie nakładów, wyłożonych na jej rozwój.

IBM ma nadzieję uszczknąć nieco z wydatków, jakie firmy zamierzają ponosićĘna nowoczesne rozwiązania integracyjne. Stąd też znacznie większy nacisk na technologię niż marketing, pokazywanie rozwiązań praktycznych, a nie tylko teoretycznych możliwości, oraz demonstrowanie, że jest to technologia na tyle rozwinięta i tak dobrze oprzyrządowana, iż można jej używać od zaraz. To pragmatyczne podejście firmy doskonale pasuje do obecnych tendencji integrowania aplikacji i systemów informatycznych nie tylko wewnątrz, ale również poza granicami organizacji, zmuszonych skracać cykle tworzenia i modyfikowania aplikacji.

System dla użytkownika

Około połowy lat 90. ubiegłego wieku skończył się niesłychanie wygodny dla informatyków okres, gdy użytkownik systemu informatycznego musiał intensywnie uczyć się, jak go używać, i nie mógł ingerować w jego działanie. Takie ograniczenia wynikały z ówczesnych technologii tworzenia aplikacji, używania specjalizowanego sprzętu do ich osadzania i monolityczności rozwiązań.

Rozpowszechnienie sieci WWW wymusiło konieczność dopuszczenia do systemu użytkowników "przypadkowych", o różnym poziomie wiedzy i doświadczenia, których nie interesuje, jak i gdzie system działa: ważne jest, aby działał tak, jak sobie życzą. To system ma być dla użytkownika, nie odwrotnie. Jeżeli ponadto systemy stworzone przez różnych producentów mają z sobą współpracować, muszą być oparte na wspólnych standardach, korzystać z tych samych protokołów, przesyłać komunikaty napisane we wspólnym języku, zrozumiałym również dla operatora systemu. Tak właśnie rozwinęły się usługi sieciowe.

Standardy

Pierwszy impuls usługom sieciowym nadało opracowanie SOAP wspólnego formatu komunikatów w języku XML, służących do opisu danych (zwracam tu uwagę, że używane dawniej objaśnienie SOAP jako "prostego protokołu dostępu do obiektów" zupełnie nie przystaje do rzeczywistości; obecnie skrótowiec SOAP nie ma żadnego znaczącego objaśnienia), co zaowocowało opracowaniem kolejnych standardów: języka opisu usług WSDL, uniwersalnej bazy do rejestrowania i wyszukiwania usług UDDI, zastępowanej obecnie prywatnymi rejestrami usług i prostszym językiem WSIL do sprawdzania właściwości usług.

Rosnąca akceptacja usług sieciowych zrodziła standardy dotyczące bezpieczeństwa, niezawodnego dostarczania komunikatów, obsługi transakcji, zarządzania polityką dostępu do usług i wielu innych. W ich opracowanie włączyły się organizacje międzynarodowe, w tym ONZ (w ramach projektu OASIS), wspierając opracowania wysokiego poziomu związane z językami opisu procesów i biznesu oraz ich bezpieczeństwa.

Architektura usługowa

Usługi sieciowe dobrze wpisują się w schemat faworyzowanego przez IBM rozwiązania architektonicznego zwanego architekturą usługową SOA (Services Oriented Architecture), w której liczą się nie tyle sprzęt, sieć czy aplikacje, ile usługi. Wszystko jest usługą - miejsce na dysku, baza danych, protokół sieciowy, kompletna aplikacja lub jej część dostępna dla uczestników architektury.

IBM rozwija usługi sieciowe w taki sposób, aby stały się integralną częścią autonomicznej architektury przetwarzania na żądanie, tj. udostępniania mocy obliczeniowej w każdym miejscu i każdej chwili. IBM realizuje tę ideę za pośrednictwem kratownic obliczeniowych (grid). Stąd silny nacisk firmy na dostępność w ramach usług sieciowych pełnej gamy protokołów i usług związanych z bezpieczeństwem, transakcjami, dostępem użytkowników do systemu i in.

Nasz biznes to platforma

IBM oferuje kompletne zestawy narzędziowe do modelowania, generowania, modyfikowania, testowania i osadzania aplikacji korzystających z usług sieciowych. Jednocześnie firma zastrzega, że jest i będzie jedynie dostawcą platform i nie zamierza konkurować z dostawcami aplikacji.

"Idea SOA istnieje od lat, jednakże dopiero usługi sieciowe WS pozwalają na budowanie w zintegrowany sposób systemów rozproszonych i tworzenie aplikacji w prosty sposób współpracujących z innymi" - mówi Mark Colan, specjalista w dziale wsparcia dla programistów.

Usługi to nie panaceum

W początkach rozwoju usługi sieciowe były promowane jako dobre rozwiązanie do tworzenia komercyjnych witryn usługowych, a typowym przykładem był tu (prymitywny) serwis podawania kursu wymiany walut lub informacji giełdowych. W praktyce okazało się, że nie da się stworzyć udanego biznesowego modelu sprzedaży usług w taki sposób.

Usługi sieciowe nie są rozwiązaniem wszystkich problemów, przed którymi stają programiści tworzący nowe aplikacje lub integrujący aplikacje już istniejące. Jeżeli stosuje się je na dużym poziomie ziarnistości systemu (np. między kompletnymi aplikacjami), to koszt, jaki się ponosi (liczony w procentach całkowitej mocy obliczeniowej systemu), jest niewielki.

Jednakże stosowanie usług sieciowych do obsługi wszelkiej współpracy w systemie (np. przez zastępowanie nimi wywołań procedur LPC czy RPC) musi skończyć się źle - wydajność aplikacji może na tym znacznie ucierpieć. Najlepiej więc stosować je do kooperacji granicznej między aplikacjami i w ramach sieci WWW.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200