Multi-tier

From EHS Help
Jump to: navigation, search

This is a Technical Glossary topic


Multi-tier Architecture, or n-tier architecture is a client-server architecture where the the function of the system is separated into multiple applications or tiers. This allows each tier to serve a specialised purpose.

Types of Tiers

A tier is a physically separate layer of a larger system. Most tiers typically fall into one of three types.

  • Presentation: the end-user client application, either a web page or standard executable. This is the tier the user interacts with.
  • Business/Middle-Tier: a layer in which objects (usually running into non-visual containers) perform validation and enforce business logic.
  • Data Storage: usually represented by a database.

The relationship of these tiers is that the presentation tier communicates with the business tier, which in turn communicates with the data tier. A multi-tier system is a system that has at least three different types of tiers - because of this they are frequently referred to as a three-tier system. This distinguishes them from a two-tier or traditional client server system where the client application communicates directly to the database.

Also, since the addition of the business or middle-tier is the major differentiator over traditional client server the architecture may be referred to as a middle-tier system. This layer usually handles the logic, the security, and abstracts away the underlying database(s).

Where the multi-tier system shines is when there are multiples of each tier.

  • Presentation: specialized in form factor: mobile, web, rich client; or specialized in function: front end, administration, field-use, etc.
  • Business/Middle-tier: specialized tiers that each serve specific purposes and encapsulate specific requirements and functions: business rules, security, interoperability, scheduling, administration, reporting, etc. Also duplicate tiers allow for redundancy and load balancing.
  • Data Storage: the middle-tiers abstract away the data later to allow for integration of distributed or legacy databases, data sources and back end systems.

Encapsulating as much logic and business rules as possible in the "middle" tiers makes the addition of new client presentation tiers to the system simpler as it does not require recreation of the the logic. Maintenance costs and time are reduced as the logic and business rules only need to be maintained in one place.