An architecture layer is a stack structure that is used to organize software elements. Layers can simply be a concept that is used to organize components. Alternatively, layers can be used to physical separate things to at the deployment level. Layers are a feature of most software architecture and are widely considered the most common architectural pattern. The following are illustrative examples of layered architecture.
It is common to structure applications according to three layers for presentation, business logic and data access. The presentation layer handles different information views. The business logic layer handles business rules, algorithms and data processing. The data access layer integrates with databases, services and systems.
Applications commonly have a 3-layer architecture similar to the example above, systems are far more diverse. The following example includes a business process, service, component and data services layer. This type of 4-layer architecture is typical of a SOA or microservices architecture.