All patterns
Integration
Service-Oriented (SOA)
Reusable enterprise services with explicit contracts
Predates microservices: coarse-grained services exposed via ESB or SOAP/REST, often shared across departments. Emphasizes reuse and governance; can become bottlenecked by central buses.
Enterprise scalehigh complexity
Architecture diagram
High-level component relationships
Key components
Enterprise services
Coarse-grained capabilities (customer, billing)
ESB / mediation
Routing, transformation, protocol bridging
Service registry
Catalog of contracts and SLAs
Governance
Standards for versioning and interoperability
Data flow
- Applications call ESB with canonical message format
- ESB routes, transforms, and orchestrates service calls
- Services may share databases more than microservices would
Pros
- Encourages reuse across legacy and modern apps
- Central visibility and policy enforcement
- Good fit for large enterprises integrating mainframes
Cons
- ESB can become a bottleneck and single point of failure
- Slower change velocity due to governance
- Often confused with microservices but different granularity
When to use
- Integrating many legacy systems in large enterprises
- Need for canonical data models across departments
When to avoid
- Greenfield cloud-native with small services
- Teams want full autonomy without central bus
Real-world examples
- Banking integration layers
- Government portals
- Legacy ERP bridges
Related technologies
SOAPWSDLMuleSoftIBM Integration Bus