Service-oriented architecture (SOA)
Service-oriented architecture is the design approach that structures applications as a collection of services communicating over a network — distinct from monoliths (single application) and microservices (small, independently deployable services). SOA was the enterprise pattern of the 2000s; modern microservices are its lighter-weight successor.
Classical SOA had heavyweight characteristics: SOAP/WSDL service contracts, enterprise service buses (ESB) for message routing, centralised governance. Microservices reacted against this weight: REST/JSON over HTTP, no ESB (services call each other directly), decentralised governance. The two are on a spectrum rather than fundamentally different: both decompose by capability, both expose services over the network, both face the same distributed-systems challenges. The vocabulary persists in enterprise contexts where SOA-era investments are still in operation, and the lessons (versioning, contract management, governance) carry forward to microservices.
Related terms
- Microservices
Microservices is an architectural style where a single application is composed of many small, independently-deployable services, each owning its own data and communicating over the network.
- N-tier architecture
N-tier architecture distributes an application across N physical tiers — typically presentation (browser or client), application server (business logic), and database.
- API gateway
An API gateway is the single entry point in front of a service ecosystem that handles cross-cutting concerns — authentication, rate limiting, request routing, response aggregation, caching, observability — so each backend service doesn't reimplement them.