Definition - What does N-Tier Architecture mean?
N-tier architecture is a client-server architecture concept in software engineering where the presentation, processing and data management functions are both logically and physically separated. These functions are each running on a separate machine or separate clusters so that each is able to provide the services at top capacity since there is no resource sharing. This separation makes managing each separately easier since doing work on one does not affect the others, isolating any problems that might occur.
N-tier architecture is also known as multi-tier architecture.
Techopedia explains N-Tier Architecture
N-tier architecture usually divides an application into three tiers: the presentation tier, logic tier and data tier. It is the physical separation of the different parts of the application as opposed to the usually conceptual or logical separation of the elements in the model-view-controller (MVC) framework. Another difference from the MVC framework is that n-tier layers are connected linearly, meaning all communication must go through the middle layer, which is the logic tier. In MVC, there is no actual middle layer because the interaction is triangular; the control layer has access to both the view and model layers and the model also accesses the view; the controller also creates a model based on the requirements and pushes this to the view. However, they are not mutually exclusive, as the MVC framework can be used in conjunction with the n-tier architecture, with the n-tier being the overall architecture used and MVC used as the framework for the presentation tier.
Advantages of n-tier architecture include:
- Scalable – Scale separate tiers without touching other tiers
- Individual management – Prevents cascade effects; isolates maintenance
- Flexible – Expands in any way according to requirements
- Secure – Each tier can be secured separately and in different ways