SOA: czym jest, czym nie jest?

21 kwietnia 2008 08:29
Piotr Waszczuk

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.

Ś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.

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.
Mimo tego, że architektura SOA słusznie bywa wiązana ze strukturami XML i usługami Web, to nie są to w pełni pojęcia tożsame. Usługi typu Web Services są specyficznym podzbiorem funkcjonalności wyrosłych z idei orientacji na usługi. Do wymiany informacji Web Services wykorzystują standardowe interfejsy komunikacyjne zbudowane m.in. w oparciu o protokół SOAP i język opisu usług WSDL. Podstawą idei SOA jest rozbicie funkcjonalności oprogramowania na mniejsze elementy komunikujące się ze sobą za pośrednictwem różnego rodzaju interfejsów, przy użyciu różnych interfejsów komunikacyjnych.

Więcej w Raporcie Specjalnym Computerworld Architektura Biznesu SOA
SOA bardziej sexy
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.

Czas zaakceptować zmianę
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.

Organizacja usługowa
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.

Oceń artykuł

średnio:  liczba ocen:

Komentarze

Redakcja Computerworld.pl nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.

Ta wiadomość nie ma jeszcze żadnych komentarzy. Twój może być pierwszy...

reklama

Webcast

Euro 2008 w Internecie

W 2008 roku można było po raz pierwszy oglądać na żywo w Internecie Mistrzostwa Europy w Piłce Nożnej - całkowicie za darmo. W ciągu zaledwie 3 miesięcy udało się przygotować platformę i uruchomić ją dla użytkowników.
Obejrzyj film

Whitepaper Connect

Warunki obsługi - Kontakt - Redakcja - Regulamin - Dołącz do nas! - Polityka prywatności - Serwis zgodny z ASME - Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2008 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88