Service-Oriented Architecture ⚑
Also known as: SOA
Earlier service composition style with heavier orchestration than microservices.
Service-Oriented Architecture is the architectural style in which application functionality is exposed as services that can be composed and reused across applications and processes, popularized in the early 2000s and substantially associated with the WS-* family of standards (SOAP, WSDL, UDDI, WS-Security, WS-Coordination, WS-BPEL) and Enterprise Service Buses (ESBs) from vendors including IBM, Oracle, TIBCO, and Microsoft BizTalk. The Open Group's 2009 SOA standard articulated principles including service abstraction, loose coupling, reusability, autonomy, and discoverability. SOA's emphasis on enterprise-wide service catalogs, central governance, and mediation through ESBs reflected the integration challenges of large enterprises with many systems of record from different vendors. Microservices emerged in the early 2010s as a deliberate counter-style — preserving service-oriented decomposition while explicitly rejecting heavyweight WS-* protocols, ESB orchestration, and central governance in favor of HTTP-based APIs, choreography over orchestration, and independent team ownership. SOA remains in active use in large enterprises, particularly in finance and healthcare, while microservices dominates new internet-application development.
Core components
- Services as composable, reusable units of business functionality
- Service catalog and registry (UDDI)
- WS-* standards: SOAP, WSDL, WS-Security, WS-Coordination, WS-BPEL
- Enterprise Service Bus (ESB) for mediation, transformation, and routing
- Service contracts
- Loose coupling and abstraction principles
- Central governance over service catalog
- Orchestration via BPEL or similar
- Distinction from microservices (heavier protocols, central governance, ESB mediation)
Primary use case
Enterprise application integration, particularly across heterogeneous vendor systems; large enterprises with substantial legacy investment (banking, insurance, government, healthcare); regulated industries requiring centralized governance and standards compliance; B2B integration via SOAP-based services; foundation for many enterprise integration patterns.
Common criticisms
- WS-* standards became enormously complex and difficult to implement correctly across vendor stacks
- ESB-mediated communication created hub-and-spoke choke points and operational fragility
- central governance frequently slowed delivery rather than enabling it
- service-to-service contract evolution proved difficult under WS-*
- vendor lock-in to specific ESB and WS-* implementations was common
- many enterprise SOA programs over-promised reuse benefits that didn't materialize
- SOAP's verbosity and tooling complexity left it largely displaced by simpler REST-based APIs
- the term 'SOA' became damaged enough that microservices practitioners deliberately distanced themselves.
Lineage
- Parent of
- Microservices
- Siblings
- Microservices, Event-Driven Architecture