Service-Oriented Architecture (SOA) treats business functions as reusable network-accessible services. Modern SOA is more often realised as microservices or API-led integration than as classical SOAP / ESB.
7.3 Service-Oriented Architecture (SOA)
Three SOA generations
Web services - four styles
Style
Format
Best for
SOAP
XML envelopes
Legacy enterprises; strong contracts
REST
HTTP verbs + JSON
De-facto default
GraphQL
Single endpoint
Client-shaped queries
gRPC
protobuf + HTTP/2
Service-to-service high throughput
Bank service decomposition example
Service
Operations
Account
create, read, freeze
Payment
initiate, refund, status
Statement
generate, retrieve
Notification
SMS, email, push
Identity
authenticate, authorise, audit
Integration patterns
Pattern
When
Request / reply
Synchronous
Pub / sub
Asynchronous broadcast
Saga
Distributed transactions via compensation
Outbox
Reliable event publication from a DB write
CQRS
Separate read and write models
Anti-patterns
Distributed monolith (services that must deploy together).
ESB at the centre of every flow (single point of failure).
No versioning; breaking change ripples to consumers.
Synchronous chains 5 hops deep; one outage takes down all.
Mentor’s tip: SOA = services + contracts + discoverability + loose coupling. Modern realisation is REST + API gateway or microservices + mesh. The contract catalogue outlives every UI; protect it.
Discussion
Loading…