Definicja
SOA (Service-Oriented Architecture) to styl architektoniczny, w którym funkcjonalności systemu są udostępniane jako niezależne serwisy komunikujące się przez standardowe protokoły (SOAP, REST).
Zasady SOA
| Zasada | Opis |
|---|---|
| Loose coupling | Serwisy minimalizują zależności |
| Abstraction | Ukrywają szczegóły implementacji |
| Reusability | Mogą być używane przez wielu klientów |
| Composability | Można je łączyć w większe procesy |
| Discoverability | Publikują kontrakt (WSDL, OpenAPI) |
| Statelessness | Nie przechowują stanu sesji |
SOA vs Mikroserwisy
| Aspekt | SOA | Mikroserwisy |
|---|---|---|
| Rozmiar serwisu | Duży (cały moduł biznesowy) | Mały (jedna odpowiedzialność) |
| Komunikacja | ESB (Enterprise Service Bus) | Bezpośrednio (REST, gRPC) |
| Dane | Wspólna baza danych | Osobna baza per serwis |
| Governance | Centralna | Zdecentralizowana |
| Era | 2000-2010 | 2012+ |
Dlaczego to ważne?
BA pracujący z korporacjami spotka SOA w istniejących systemach. Rozumienie SOA pomaga planować integracje i migracje do nowszych architektur.