Jump to content

Three-tier (computing)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Uncle G (talk | contribs) at 09:54, 1 August 2006 (Further reading: added.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Visual overview of a Three-tiered application

In computing, Three-tier is a client-server architecture in which the user interface, functional process logic ("business rules"), data storage and data access are developed and maintained as independent modules, most often on separate platforms. The term "three-tier" or "three-layer", as well as the concept of multitier architectures, seems to have originated within Rational Software.

The three-tier model is considered to be a software architecture and a software design pattern.

Apart from the usual advantages of modular software with well defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements or technology change. For example, a change of operating system from Microsoft Windows to Unix would only affect the user interface code.

Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical user interface, functional process logic may consist of one or more separate modules running on a workstation or application server, and an RDBMS on a database server or mainframe contains the data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an "n-tier architecture").

It seems similar, although defined in slightly different terms, to the Model-view-controller concept and the pipes and filters concept.

Web services usage

In the Web service field, normally three-tier is used to refer to Websites, often Electronic commerce websites, which are built using three tiers:

  1. A front end Web server serving static content
  2. A middle dynamic content processing and generation level Application server, for example Java EE platform.
  3. A back end Database, comprising both data sets and the Database management system or RDBMS software that manages and provides access to the data.

References

Further reading

  • Erik Meijer and Danny van Velzen (2001). "Haskell Server Pages Functional Programming and the Battle for the Middle Tier" (PDF). Electronic Notes in Theoretical Computer Science. 41 (1). — Meijer and van Velzen present an overview of Haskell Server Pages from a programmer's perspective, and describe the three tier model.

See also

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.