The 'Sandwich Architecture' is a system topology that sits between layered and service-based architectures. It consists of a shared integration layer on top, domain-level services in the middle, and a shared data layer at the bottom. This pattern emerges naturally when a layered system's domain layer is split into subdomains while the integration and data layers remain intact. It suits medium-sized projects with complex domain logic, offering a pragmatic balance of simplicity and flexibility. The article covers its structure, performance characteristics, dependency options (orchestration, data change notifications, choreography), applicability, and evolution paths. Real-world examples include Blackboard Systems, Space-Based Architecture, Service-Based Architecture, and CQRS.
Table of contents
A system topologyPerformanceDependenciesApplicabilityRelationsExamplesGet Denys Poltorak’s stories in your inboxEvolutionsSummaryReferences2 Comments
Sort: