Potrzeba szybkiego dostosowywania się oraz ustanawiania ścisłej integracji przez firmy z ich partnerami biznesowymi wymaga pewnego poziomu reaktywności IT oraz integracji, jaką może dać SOA. Korporacyjna tendencja do sprawiania by to po prostu działało często skutkowała tworzeniem infrastruktur z wieloma aplikacjami (i działami), które funkcjonowały do tej pory oddzielnie od siebie. By połączyć te aplikacje i działy między sobą, organizacja często tworzy wiele oddzielnych linków pomiędzy każdą jednostką, które wyglądają bardziej jak zdezorganizowany bałagan niż ustrukturyzowany system dla całego przedsiębiorstwa. Rozplątanie tego bałaganu powoduje brak zręczności, która znacząco wpływa na zdolność firmy do rozwoju i konkurencyjności.
By biznes sprostał wyzwaniu szybkich i oszczędnych transformacji biznesowych, IT musi odpowiadać z niebywałą zwinnością. Zwinność IT można uzyskać, jeśli IT da sobie maksymalną ilość opcji rozwiązania problemów lub wyzwań biznesowych. Elastyczne opcje nie są wrodzoną wartością w aplikacjach czy starych infrastrukturach. Tym ogromnym i monolitycznym systemom można wstrzyknąć wszechstronność rozbijając je na większą liczbę zarządzanych części. Części te można następnie wykorzystać ponownie zamiast nieustannie tworzyć nowy kod do wykorzystania wymaganej funkcji (zobacz liczby poniżej). Te zarządzane części tak naprawdę są usługami, które łączone i ponownie łączone są raz za razem w celu tworzenia nowych procesów biznesowych, które skutecznie reagują na zmieniające się wymagania biznesu. Zdarzenia integracji procesów takie jak pozyskania, fuzje, podziały i inne reorganizacje firmowe stają się znacznie łatwiejsze.
Budowanie rozwiązań opartych o modelu architektury zorientowanej na usługi (ang. Service Oriented Architecture, SOA) jest najlepszą obecnie praktyką do tworzenia elastycznej i rozszerzalnej architektury przedsiębiorstwa, dającej podstawy do rosnącej wymiany funkcjonalności bez wpływania na istniejących użytkowników aplikacji.
Architektura zorientowana na usługi to styl architektury a także styl projektowania w rozwijaniu oraz integracji aplikacji, który umożliwia ściślejszą korelację działalności biznesowej i obsługi informatycznej, która prowadzi do większej elastyczności i sprawności działania. SOA promuje zgranie procesu biznesowego usług biznesowych na poziomie przedsiębiorstwa przy użyciu modelu rozproszonego składającego się z odmiennych systemów organizacyjnych, klienckich, dostawców oraz partnerów.
SOA składa się z dostawcy usługi, odbiorcy usługi, lub z konsumenta usługi oraz opcjonalnego katalogu usługi, które razem dzięki efektowi dźwigni dostarczają usługi przy wykorzystaniu komunikacji typu aplikacja-aplikacja w celu wymiany informacji. Dostawca usługi tworzy usługę i publikuje informacje opisowe o usłudze w katalogu usługi. Poszukujący usług przeszukuje informacje opisowe w katalogu usług by zlokalizować usługę i jednocześnie zbiera informacje o samej usłudze i jej dostawcy. Poszukujący usług korzysta z usługi udostępnionej w infrastrukturze dostawcy i, w zamian, realizuje wartość biznesową wykorzystywania usługi. Przykładowy schemat narysowano na poniższym rysunku.
Elementy przedstawione na rysunku to:
? Usługa jest jednostką pracy ? funkcjonalnością wykonaną przez dostawcę usługi w celu osiągnięcia pożądanego efektu końcowego przez konsumenta usługi
? Dostawca usług to system lub systemy, które przez określone i opublikowane interfejsy dostarczają oczekiwanej funkcjonalności ? usługi
? Odbiorca usług to konsument usług dostępnych poprzez jasno określone i opublikowane interfejsy
? Katalog usług to powszechnie znany katalog z dostępnymi usługami.
? Usługi tworzone i publikowane są przez dostawców usług i udostępniane są na infrastrukturze odpowiedniej do dostępu przez konsumentów usługi
? Opisy usług tworzone są przez dostawcę usług i publikowane są dla usługi do dostępu przez konsumenta usługi
Struktura SOA uważana jest za krok ewolucyjny w przyszłość projektowania i rozwoju aplikacji. SOA pozwala na modelowanie problemów biznesowych w sensie usług, które można bezpiecznie połączyć i zintegrować z innymi aplikacjami przez Internet lub inną odpowiednią infrastrukturę sieciową. (…)
—————————————–
Tekst jest fragmentem mojego artykułu, który ukazał się w Business Applications Review – Zintegrowane Systemy Zarządzania (nr 4/2008)