N-Tier Architecture Patterns
An N-Tier architecture is a description used to describe the structure of large scale Enterprise Information Systems. These initially grew out older architectural approaches.
- Monolithic Architecture
- Client-Server Architecture
- Thin client
- Rich client
- 4-Tier architectures.
The defining characteristic of this progression is a clearly defined interface and/or seperation of responsibility.
The move to being called N-Tier is a reflection of the move to component architectures from
- Fundamental Platform Services : Database, Directory Services
- Business Domain Tier : Application Server, e.g. J2EE EJB, DCOM or CORBA Service Objects.
- Presentation Tier : e.g. Java Servlets/JSP, ASP, PHP.
- Client Tier : Thin clients like HTML Pages on Browsers and Rich Clients like Java WebStart & Flash.
In J2ee it is common to divide the Business Domain tier into Data-Access (Entity Beans) & Business Services (Session Beans).
- In an Entprise SOA (Service Oriented architecture) the ESB would be between tiers 1 & 2.
- In Mashups you could have the aggregation between tier 3 & 4.