Świat jako usługa

Po fazie tworzenia aplikacji na podstawie komponentów nadchodzi era systemów będących zbiorem usług. Upowszechnienie metodologii związanych z Service Oriented Architecture (SOA) ma zaowocować obniżeniem kosztów i większą elastycznością w rozwoju systemów informatycznych.

Po fazie tworzenia aplikacji na podstawie komponentów nadchodzi era systemów będących zbiorem usług. Upowszechnienie metodologii związanych z Service Oriented Architecture (SOA) ma zaowocować obniżeniem kosztów i większą elastycznością w rozwoju systemów informatycznych.

Koncepcja aplikacji jako zestawu usług nie jest nowa. Nadający ton rynkowym trendom wielcy producenci oprogramowania przywołują ją od kilku lat w kontekście Web Services, czyli usług Web (niekiedy nazywanych również usługami sieciowymi). W teorii wszystko wydaje się proste - użytkownik określa, jakie usługi są mu potrzebne, i z katalogu usługodawców wybiera tego, który daje najlepszą gwarancję wykonania zadania. W rzeczywistości sprawa jest bardziej skomplikowania. Przyjęcie modelu usługowego wymaga nowego podejścia do projektowania aplikacji. Jednym z promotorów Service Oriented Architecture jest Microsoft - w maju i czerwcu br. firma zorganizowała cykl seminariów poświęconych temu tematowi.

Informatyka końca XIX w.

Obecnie coraz częściej trudno jest określić granicę, gdzie kończy się system informatyczny jednego przedsiębiorstwa, a gdzie zaczyna się system partnera biznesowego, kooperanta, klienta itd. Można zakładać, że z czasem granice między systemami informatycznymi będą w ogóle niedostrzegalne z punktu widzenia użytkownika. Przedstawiciele Microsoftu przedstawili analogię przyrównującą rozwój przemysłu do rozwoju branży software'owej. Gdy XIX-wieczne manufaktury okazały się niewydajne, konieczne stały się zawiązanie współpracy między wytwórcami i podział zadań. Każdy produkował jakiś element składowy finalnego produktu zgodnie z przyjętymi standardami przemysłowymi.

Współcześnie podobne zjawisko obserwujemy w informatyce. Do lamusa odchodzi nieefektywny model, w którym dział IT samodzielnie pracuje nad projektem software'owym, a potem w nieskończoność dostosowuje aplikacje do zmieniających się potrzeb biznesu. Zdaniem przedstawicieli Microsoftu - a pogląd ten podzielają praktycznie wszyscy duzi producenci oprogramowania - wymienność poszczególnych składników systemów informatycznych będzie odgrywać coraz większą rolę.

Żeby płynnie przejść od etapu manufaktur do nowoczesnego modelu przemysłowego, konieczne jest spełnienie wielu warunków. Przede wszystkim są one związane z wypracowaniem standardów, które gotowi byliby zaakceptować głównie uczestnicy rynku informatycznego. Do tej pory w zasadzie udało się opracować mechanizmy pozwalające systemom informatycznym komunikować się ze sobą. Obecnie nie jest problemem przesyłanie danych z dowolnego systemu A do dowolnego systemu B. Technologie w rodzaju SOAP/XML rozwiązują problem "opakowania" informacji, a protokół HTTP zapewnia ich transport. To jednak wystarczy do tworzenia zaledwie najprostszych usług. Nierozwiązana pozostaje kwestia standardów, które pozwalałyby tworzyć złożoną infrastrukturę biznesową, obejmującą m.in. bezpieczeństwo treści, pewność dostarczania informacji, transakcyjność.

Autorzy przywołanego tutaj porównania twierdzą, że informatyka jest w okolicach 1880 r. - wiemy, jak przeglądać usługi i jak się komunikować, ale dopiero pionierzy usiłują wyrazić proces biznesowy jako zbiór połączonych usług.

To dopiero początek drogi

Architektura Shadowfax

Architektura Shadowfax

Nad rozwojem standardów związanych z usługami Web czuwa The Web Services Interoperability Organization (WS-I). We władzach WS-I zasiadają z jednej strony wielcy producenci związani z usługami Web (BEA, IBM, Microsoft), z drugiej zaś małe firmy programistyczne i zainteresowani tematem użytkownicy technologii.

Inaczej niż w przypadku większości organizacji kształtujących standardy, zadania WS-I nie kończą się na opracowaniu specyfikacji. Organizacja ta gwarantuje, że produkty dowolnych dwóch producentów korzystających ze standardu będą bezproblemowo wymieniać między sobą informacje. Praktycznie obowiązuje zakaz modyfikacji przez producentów oprogramowania specyfikacji WS-I. Notabene, niemal we wszystkich dokumentach WS-I można natrafić na ślad BEA, IBM, Microsoft i SAP (kolejność alfabetyczna).

WS-I opracowała "profil podstawowy" usług Web. To zestaw standardów obejmujących bazowe usługi, m.in. SOAP, WSDL, UDDI. Obecnie prace organizacji koncentrują się na tworzeniu elementów infrastruktury usług Web, które pozwoliłyby odwzorować skomplikowane mechanizmy komunikacji biznesowej. Poniżej zamieszczamy omówienie kilku najważniejszych zagadnień, nad którymi pracuje WS-I.

Korzystne usługi

Z czysto informatycznego punktu widzenia tworzenie aplikacji opartych na usługach jest zadaniem trudnym, zwłaszcza na tak wczesnym etapie rozwoju technologii Web Services i Service Oriented Architecture. Jeśli zatem mówi się dzisiaj o zaletach usługowego podejścia przy tworzeniu aplikacji, nie chodzi o oszczędności wynikające z uproszczenia procesu produkcji oprogramowania. Przeciwnie, początkowo rozwój aplikacji w zgodzie z wytycznymi SOA nie będzie tańszy niż obecnie. Korzyści powinny dać znać o sobie dopiero w dłuższej, nawet paroletniej perspektywie. Powstaje pytanie, kto stanie się beneficjentem Service Oriented Architecture - użytkownik czy producent oprogramowania? Każdy na swój sposób.

W obowiązującym dziś modelu tworzenia aplikacji monolitycznych użytkownik (klient) jest ściśle uzależniony od twórcy oprogramowania. W gruncie rzeczy ma do wyboru tylko taką funkcjonalność, jaką proponuje mu dostawca. Model oprogramowania usługowego uwolni klienta z tego nie zawsze zadowalającego układu, w którym dostawca najczęściej jest na uprzywilejowanej pozycji. Architektura SOA otwiera przed klientami możliwość budowy systemów informatycznych z najlepszych dostępnych na rynku części, a powszechna standaryzacja usług zwalnia z obaw o wzajemną integrację poszczególnych elementów.

SOA przysłuży się również firmom programistycznym. Nie tylko możnym, które angażują się w kształtowanie przyszłych standardów (choć z pewnością ich motywem jest szybkie skomercjalizowanie modelu usługowego). Niewiele jest już branż we współczesnej gospodarce, w których jedna firma od początku do końca sama zajmuje się produkcją, promocją i sprzedażą towaru. Doskonale widać to w sprzętowej części rynku informatycznego, gdzie od dawna obowiązuje podział ról. Tym trendom długo nie poddawał się rynek oprogramowania, ale SOA zwiastuje zmiany. Firmy software'owe, które dotąd starały się prawie wszystko robić samodzielnie, będą musiały szukać nisz i wąskich specjalizacji. Eksperci twierdzą, że już teraz można zarobić na tworzeniu usług Web, głównie w obszarze udostępniania danych do raportów. Z czasem powstanie wielki rynek oprogramowania oferowanego w formie usług, na którym znajdzie się miejsce dla dużych i małych dostawców.

Należy podkreślić, że obecnie twórca oprogramowania też jest w pewnym stopniu ograniczony - moduły systemu informatycznego, które oferuje klientowi, musi sam napisać lub kupić. Dzięki SOA klient będzie mógł powiedzieć, z jakich usług chce korzystać, a twórca rozwiązania (lepiej go nazywać integratorem) będzie łączył je w gotowy system spełniający określone wymagania. Usługa

to nie tylko pewien funkcjonalny blok, ale przede wszystkim konkretna wartość. Cała koncepcja SOA jest tak skonstruowana, żeby potrafił ją zrozumieć "zwykły" biznes, a nie tylko informatycy. SOA powinna przyczynić się do poprawy komunikacji między IT a resztą świata.

Zanim SOA zacznie obowiązywać na rynku oprogramowania, minie jeszcze trochę czasu. Potrzebne są standardy, które sprawiłyby, że łączenie poszczególnych usług nie będzie nastręczać trudności (standaryzacja pozostaje piętą achillesową nie tylko przemysłu informatycznego, by wspomnieć chociaż różnorodność wtyczek elektrycznych). Z pewnością jednak o usługach Web i SOA warto myśleć już dzisiaj. Dotyczy to zarówno użytkowników, jak i dostawców oprogramowania!


TOP 200