Marketing i rzeczywistość

Termin SOA należy obecnie do najmodniejszych w branży IT. Zasadnym jest zatem pytanie, czy mamy do czynienia jedynie ze zjawiskiem marketingowym czy też realnie istniejącą technologią?

Termin SOA należy obecnie do najmodniejszych w branży IT. Zasadnym jest zatem pytanie, czy mamy do czynienia jedynie ze zjawiskiem marketingowym czy też realnie istniejącą technologią?

Tematykę usługowo zorientowanych architektur software'owo-biznesowych podejmował na naszych łamach m.in. Tomasz Kopacz, analizując ostatnio (CW z 5 czerwca 2007 r.) fenomeny S+S (Software + Service) i SaaS (Software as a Service) oraz wcześniej (CW z 16 sierpnia 2004 r., "świat jako usługa") SOA. Zdefiniujmy roboczo ten ostatni termin jako model organizacji IT integrujący procesy gospodarcze przedsiębiorstwa ze standaryzowaną platformą rozproszonych usług programowych, w szczególności webowych.

Czym nie jest SOA

Proponowana wyżej definicja SOA łączy w sobie dwa pozornie sprzeczne elementy: centralizację i decentralizację, czyli architekturę integrującą rozproszone usługi. Paradoksów łączy się wszakże z modelem organizacji uważanym za najdoskonalszy, bo wzorowanym na niedościgłych wzorach naturalnych, tj. paradygmatem bioorganizacyjnym. Biorarchia (Bionic Hierarchy - hierarchia bioniczna) oznacza rozproszone struktury cechujące się znacznym stopniem odpowiedzialności lokalnej i agregowane poziomami aż do najwyższego (np. w organizmie człowieka - mózg). Taka struktura jest bardziej efektywna i elastyczna niż tradycyjne, scentralizowane hierarchie. Natomiast skojarzony z nią postulat genetycznej reprezentacji informacji (GRI) ma gwarantować zdolność jej dziedziczenia, charakterystyczną dla metod obiektowych (object oriented).

Tytułowe pytanie "czy SOA jest zjawiskiem marketingowym czy też realnym?" nasuwa porównania z różnymi trendami inżynierii software'owej (Software Engineering, SE). W latach 70. ub.w. były to metody strukturalne, w latach 80. wspomniane obiektowe, a w 90. systemy otwarte. Wszystkie te podejścia przedstawiano w swoim czasie jako panaceum na problemy IT, co okazało się nierealne, choć poszczególne elementy tych idei są z powodzeniem stosowane także obecnie. Na przykład obiektowość rozpowszechniła się w sferze języków programowania, natomiast nie wyparła relacyjnych baz danych, a jedynie uzupełnia je o nowe właściwości. Niemniej w porównaniu z tymi metodami charakterystyczne dla SOA jest zdecydowane wyjście poza czysto narzędziowy wymiar SE i uwzględnienie pozatechnicznych aspektów gospodarczych aplikacji IT. W szczególności zakłada się, że ze specyfiki modelu biznesowego można wyprowadzić architekturę wspomagającego go systemu software'owego. Postulat to nienowy, ale dopiero dzisiaj mamy większe możliwości jego praktycznej realizacji.

Mimo istnienia szeregu wykładni SOA znanych firm software'owo-doradczych (np. IBM, Oracle), warto sprecyzować czym na pewno nie jest:

    - nie jest to typ architektury sprzętowej;

    - nie jest to spełnienie określonych norm;

    - nie jest to korzystanie z odpowiednich produktów.

SOA jest przede wszystkim cechą systemu wynikającą ze sposobu jego konstruowania, co wymaga zastosowania adekwatnych metod zarządzania. Oczywiście, zakłada się także oparcie na pewnych standardach, ale proponowane ujęcie zapobiega powstawaniu nieporozumień, które dają się zgrupować w czterech punktach:

    - aspekt software'owy: systemy SOA związane są z Internetem (uproszczenie);

    - aspekt rynkowy: systemy SOA pochodzą od wielu wytwórców (nie jest to cel sam w sobie);

    - aspekt komunikacyjny: systemy SOA operują zdefiniowanymi złączami (możliwa zależność od jednego producenta);

    - aspekt sprzętowy: systemy SOA spełniają normy przemysłowe (nieuwzględniona potrzeba integracji systemów).

Dla kogo nie jest SOA

Dla plastycznego zilustrowania ostatniego z przykładów można wskazać na jakościowy standard ISO. Stosowana w zakładzie papierniczym norma ta nie mówi, czy produktem wyższej jakości jest papier toaletowy czy pocztówkowy. Jakość nie jest bowiem pojęciem absolutnym, a jedynie oznacza stopień spełnienia przez wyrób założonych kryteriów. ISO nie definiuje zatem parametrów technologicznych linii produkcyjnych, a jedynie jest systemem wymuszającym systematykę audytów, kontrolujących przede wszystkim obieg i aktualność informacji jakościowych. Podobnie jest z systemem SOA. Warunkiem jego stosowania jest zdyscyplinowane dokumentowanie specyfikacji procesów biznesowych w kategoriach informatycznych. Przykładem takiego działania mogą być kolejne poziomy dojrzałości modelu SOA (CMMI - Capability Maturity Model Integration).

Analiza działań i celów (Key Practices, Key Goals) tego pięciopoziomowego modelu pokazuje, że mamy tu głównie do czynienia właśnie z procesem informacyjnym, z silnymi akcentami pozatechnicznymi. Takie podejście pozwala na wyeliminowanie jednej z głównych przyczyn paradoksu produktywności IT, tj. zjawiska dysonansu organizacyjnego (między sferą techniczną a użytkową). Strategia SOA gwarantuje przy tym ciągłość inwestycyjną wydatków na optymalizację według metod wcześniejszych generacji. Wiąże się to z kolejną cechą SOA (w porównaniu z innymi architekturami), jaką jest luźniejsze powiązanie modułów usługowych, co zwiększa stopień powielarności i elastyczności systemu.

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

TOP 200