Architektura Zorientowana na Usługi (SOA)
Architektura zorientowana na usługi (ang. service-oriented architecture, SOA) to koncepcja tworzenia systemów informatycznych, w której kluczowym elementem są usługi, spełniające wymagania użytkownika. SOA łączy aspekty organizacyjne i techniczne, integrując potrzeby biznesowe z zasobami informatycznymi.
Definicja Usługi
Usługa w kontekście SOA to niezależny element oprogramowania, który udostępnia swoje funkcje poprzez zdefiniowany interfejs. Interfejs ten ukrywa szczegóły implementacyjne, co sprawia, że użytkownicy mogą korzystać z usługi bez potrzeby znajomości jej wewnętrznej struktury. Wszystkie usługi mają wspólne medium komunikacyjne, które umożliwia wymianę danych pomiędzy nimi.
Porównanie z Obiektami Rozproszonymi
SOA jest podobna do obiektów rozproszonych, jednak działa na wyższym poziomie abstrakcji. Interfejsy usług są definiowane w sposób abstrakcyjny i niezależny od platformy programistycznej, co pozwala na ich implementację w różnych technologiach. Usługi komunikują się za pomocą niezależnych protokołów.
Modelowanie Procesów Biznesowych
Do modelowania procesów biznesowych w SOA można wykorzystać notację BPMN, która jest przygotowana do opisu takich zagadnień. W modelach tych komunikacja z usługami jest przedstawiana jako zdarzenia typu wyślij/odbierz wiadomość, co umożliwia wymianę odpowiednich danych pomiędzy usługami.
Linki Zewnętrzne
- IBM o SOA
- Norbert Bieberstein et al. Service-Oriented Architecture Compass (2006)
- IBM Systems Journal edition on SOA
Kategoria: Systemy informatyczne