The 5+1 Software Architecture Layering Approach
This layering approach uses five horizontal layers consisting of the Presentation, Service, Business, Integration, and External Data classification. The "plus one" layer is a vertical layer that can be utilized by the first four horizontal layers. The External Data layer is generally outside the software application scope for purposes of code dependencies and reuse, rather it can be treated as the final destination or system back-end.
Potential Challenges
Layer Responsibilities
- Presentation
- Service (i.e. Application Coordination)
- Business
- Integration
- Communicating to External Data systems
- External Data (Databases, Messaging Systems, etc.)
- Data storage and retrieval
- Domain and Utility (the plus one layer)
- Business domain object model
- Reusable development utilities and tools
Presentation to Integration Dependency Flow