Multitier architecture

related topics
{system, computer, user}
{math, number, function}
{area, community, home}
{theory, work, human}

In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client–server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use of multi-tier architecture is the three-tier architecture.

N-tier application architecture provides a model for developers to create a flexible and reusable application. By breaking up an application into tiers, developers only have to modify or add a specific layer, rather than have to rewrite the entire application over. There should be a presentation tier, a business or data access tier, and a data tier.

The concepts of layer and tier are often used interchangeably. However, one fairly common point of view is that there is indeed a difference, and that a layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure.[1]


Three-tier architecture

Three-tier[2] is a client–server architecture in which the user interface, functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. It was developed by John J. Donovan in Open Environment Corporation (OEC), a tools company he founded in Cambridge, MA.

The three-tier model is 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 in the presentation tier would only affect the user interface code.

Full article ▸

related documents
Routing table
Wine (software)
Gecko (layout engine)
Beowulf (computing)
Jupiter Ace
Audio Interchange File Format
Node-to-node data transfer
Kerberos (protocol)
Microsoft Office
IEEE 802.3
Zeta Instrument Processor Interface
Motorola 68040
Cyrix 6x86
Streaming media
Terminal emulator
Digital signal
BNC connector
Variable bitrate
Plug-in (computing)
Graphics Device Interface
Signalling (telecommunications)
List of ad-hoc routing protocols
GNU Debugger