Kiedy się sprawdza?

Najczęstszym błędem popełnianym przy opieraniu systemów na usługach sieciowych jest brak ponownego wykorzystania istniejących usług i tworzenie za każdym razem nowych, często bardzo podobnych lub wręcz identycznych z usługami sieciowymi wdrożonymi wcześniej. Takie podejście prowadzi do redundancji funkcjonalności, a w efekcie do znacznego wzrostu kosztów zarządzania środowiskiem i wprowadzania do niego zmian, czyli do zaprzepaszczenia korzyści, które daje SOA.

Obszary zastosowań

Główną zaletą podejścia SOA jest przygotowanie organizacji na zmiany, o których nie wiemy zbyt dużo w momencie tworzenia rozwiązania. Budowa funkcjonalności z niedużych i luźno powiązanych elementów ułatwia wprowadzanie zmian i zmniejsza związane z nimi ryzyko poprzez odizolowanie funkcjonalności niezwiązanych bezpośrednio z modyfikowanymi usługami. Jednocześnie, dzięki wielokrotnemu wykorzystywaniu raz stworzonych usług, po niedługim czasie od rozpoczęcia wdrożenia SOA, zaczyna się obserwować coraz szybsze wdrożenia kolejnych funkcjonalności. Jest to więc podejście dobrze sprawdzające się w firmach dynamicznie się rozwijających, planujących fuzje i przejęcia, czy też poddanych silnym rygorom regulacyjnym.

SOA nie jest jednak "złotym środkiem" dla wszystkich. Istnieją obszary, w których warto szukać innych rozwiązań. Podejście SOA zapewne nie sprawdzi się w systemach czasu rzeczywistego - rozproszone środowisko może nie zapewnić wymaganych czasów odpowiedzi. Architektura usługowa nie jest też najlepszym środowiskiem do realizacji scenariuszy zakładających przetwarzanie ogromnych ilości danych, hurtowe zasilanie danymi itp. Jednak dla większości pozostałych zastosowań wdrożenie SOA powinno przynieść wymierne korzyści organizacjom, które się na to zdecydują. Oczywiście, pod warunkiem odpowiedniego przygotowania i poprowadzenia tego procesu.

Piotr Pękała jest Głównym Architektem Rozwiązań Telekomunikacyjnych w Software AG Polska

Czym SOA nie jest

Na pewno nie jest to produkt, który można kupić i zainstalować. Również wdrożenie najnowszej wersji wykorzystywanego w firmie oprogramowania ERP, CRM czy jakiegokolwiek innego nie spowoduje, iż daną architekturę będzie można uznać za zgodną z SOA. Może się okazać, że niektóre systemy będą lepiej niż inne pasować do budowy architektury usługowej. Jednak sam interfejs w postaci np. WebServices - nawet jeśli dotyczy najważniejszego systemu w organizacji - oznacza co najwyżej mały krok w stronę SOA.

SOA nie jest także rozwiązaniem informatycznym, które mogłoby realizować konkretne cele biznesowe czy bezpośrednio wspierać jakieś fragmenty biznesowej działalności firmy. Oczywiście, budowa architektury zgodnej z SOA może przynieść istotne korzyści biznesowe, ale mówienie o wdrożeniu jakiejś funkcjonalności "na SOA" jest błędem.

SOA to także nie jest technologia. Istnieją technologie, które bardzo ułatwiają podejście usługowe. Nazwy niektórych standardów (WebServices) są czasami wręcz stosowane wymiennie z terminem SOA. Jednak nie technologia jest tu najważniejsza. SOA nie wymaga stosowania żadnej konkretnej technologii.


TOP 200