Architektura zorientowana na usługi

Architektura zorientowana na usługi (ang. service-oriented architecture, SOA) – koncepcja tworzenia systemów informatycznych, w której główny nacisk stawia się na definiowanie usług, które spełnią wymagania użytkownika. Pojęcie SOA obejmuje zestaw metod organizacyjnych i technicznych mający na celu powiązanie biznesowej strony organizacji z jej zasobami informatycznymi[1].

Mianem usługi określa się tu każdy element oprogramowania, mogący działać niezależnie od innych oraz posiadający zdefiniowany interfejs, za pomocą którego udostępnia realizowane funkcje. Sposób działania każdej usługi jest w całości zdefiniowany przez interfejs ukrywający szczegóły implementacyjne – niewidoczne i nieistotne z punktu widzenia klientów. Dodatkowo, istnieje wspólne, dostępne dla wszystkich usług medium komunikacyjne, umożliwiające swobodny przepływ danych pomiędzy elementami platformy.

Architektura SOA podobna jest do obiektów rozproszonych[2], jednak opisuje rozwiązanie na wyższym poziomie abstrakcji. Interfejsy usług są zazwyczaj definiowane w sposób abstrakcyjny i niezależny od platformy programistycznej. Również same usługi są często implementowane na bazie różnych technologii i udostępniane za pomocą niezależnego protokołu komunikacyjnego.

Do modelowania procesów biznesowych realizowanych w SOA można wykorzystywać notację BPMN przygotowaną m.in. do opisu tej klasy zagadnień. W modelach takich komunikacja z usługami jest modelowana jako zdarzenia typu wyślij/odbierz wiadomość (komunikat) zawierająca odpowiednie dane wysłane/pobierane do/od usługi.

Przypisy

edytuj
  1. David Linthicum: Chapter 1: Service Oriented Architecture (SOA). Microsoft. [dostęp 2024-09-08]. [zarchiwizowane z tego adresu]. (ang.).
  2. What is SOA?. The Open Group. [dostęp 2024-09-08]. [zarchiwizowane z tego adresu (2016-08-19)]. (ang.).

Linki zewnętrzne

edytuj