SOA: czym jest, czym nie jest?
- Piotr Waszczuk,
- 21.04.2008, godz. 08:29
Coraz silniej uwidacznia się w przedsiębiorstwach trend opierania infrastruktury IT na architekturze SOA (Service Oriented Architecture).
Na wstępie trzeba powiedzieć, czym SOA nie jest. Na pewno nie jest nowością. Pomysł architektury usługowej zrodził się wiele lat temu. SOA nie jest technologią samą w sobie. Nie synonimem Web Services i XML, choć ma z nimi wiele wspólnego. Z pewnością jednak jest jedną z najbardziej obiecujących nowoczesnych metod tworzenia systemów informatycznych i zarządzania nimi.
Zobacz również:
Koncepcja SOA wydaje się do bólu prosta: należy wydzielić najczęściej wykorzystywane kawałki logiki aplikacji i nadać im formę niezależnych usług dostępnych w sieci. SOA odnosi się do projektowania, tworzenia, wdrożenia i zarządzania aplikacjami w formie zatomizowanych usług. Brzmi niewinnie, ale w rzeczywistości SOA to rewolucja nie tylko w podejściu do tworzenia oprogramowania, ale również jego wykorzystania w środowisku korporacyjnym. "Wszystkie usługi istniejące w ramach SOA muszą być skupione wokół potrzeb biznesu" - doda w tym miejsku każdy konsultant.
Luźne związki
Jedną z cech architektury SOA jest to, że poszczególne komponenty są ze sobą luźno powiązane. Stanowi to zasadniczą różnicę wobec tradycyjnych, sztywnych technik wymiany danych między systemami informatycznymi. Można próbować zilustrować to analogią. Przykładem sztywnego powiązania w ramach systemu jest operacja polegająca na wciśnięciu ściennego włącznika światła, która niechybnie spowoduje rozświetlenie pomieszczenia. Kontrprzykładem obrazującym luźne powiązanie jest telefoniczne zamówienie książki w sklepie. Ani zamawiający, ani sprzedawca nie kontrolują procesu druku książki, dlatego w tym przypadku nie ma mowy o sztywnym powiązaniu.
Zamawiając książkę telefonicznie można popełnić błąd, wynikający chociażby z nieporozumienia ze sprzedawcą przyjmującym zlecenie, ale rekompensatą jest większa elastyczność w procesie obsługi. Jeśli sprzedawca błędnie zanotuje numer ISBN, może zidentyfikować zamówioną książkę po tytule, nazwisku autora, nazwie wydawnictwa czy dzięki osobistym skojarzeniom. Jeśli książka nie będzie dostępna, może też zaproponować pozycję najbliższą oczekiwaniom zamawiającego.
SOA ma być właśnie architekturą elastyczną, łatwo adaptowalną i modyfikowalną. Gdy zachodzi konieczność zmiany funkcjonalnej w oprogramowaniu, nie trzeba wymieniać całego systemu na nowy (trzymając się przykładu z włącznikiem - nie trzeba wymieniać całej instalacji elektrycznej). Wystarczy zmodyfikować zależności pomiędzy istniejącymi już usługami, ewentualnie zaabonować nową usługę, która do tej pory nie występowała w systemie. Ponadto koncepcja SOA zakłada, że zależności między poszczególnymi usługami można stosunkowo łatwo analizować i optymalizować pod kątem uzyskania największej efektywności.
SOA a Web Services
Środowiska informatyczne były tworzone w architekturze usługowej jeszcze na długo przed upowszechnieniem języka XML i Web Services. Początków idei SOA należy szukać w koncepcjach programowych komponentów wielokrotnego użytku, w programowaniu obiektowym, systemach modularnych, czy nawet interfejsach API. Współczesna architektura SOA czerpie z tego dorobku.
Więcej w Raporcie Specjalnym Computerworld Architektura Biznesu SOA
Jak przekonać użytkowników i zarząd do inwestycji w Service Oriented Architecture? Najlepiej dając im możliwość samodzielnego tworzenia prostych i niezwykle użytecznych aplikacji mashup.
Rozmowa z Kevinem Parkerem, wiceprezesemi głównym ewangelistą w firmie Serena Software, oferującej rozwiązania typu business mashups.
Architektura zorientowana na obywatela
Wdrożenie SOA w organizacji o silnie hierarchicznej strukturze, takiej jak urząd, wymaga całkowitej zmiany podejścia do projektowania i tworzenia aplikacji usługowych oraz ich integracji z używanymi wcześniej systemami.
Stara, nowa organizacjaImplementacja architektury SOA za sobą zmiany dla każdej organizacji. Oczywiście najsilniej mogą je odczuć pracownicy działu IT.
Więcej o architekturze zorientowanej na usługi w serwisie soastandard.pl.