2011年(264)
分类: LINUX
2011-05-20 08:06:42
In , multi-tier architecture (often referred to as n-tier architecture) is a in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses to service data requests between a user and a 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.
Three-tier architectureThree-tier is a in which the , ("business rules"), and are developed and maintained as independent , most often on separate . It was developed by in Open Environment Corporation (OEC), a tools company he founded in .
The three-tier model is a and a .
Apart from the usual advantages of modular 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 change. For example, a change of in the presentation tier would only affect the user interface code.
Typically, the user interface runs on a desktop or and uses a standard , functional process logic may consist of one or more separate modules running on a workstation or , and an on a or contains the computer data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an "n-tier architecture").
Three-tier architecture has the following three tiers:
Presentation tierThis is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network.Application tier (, logic tier, data access tier, or middle tier)The logic tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.Data tierThis tier consists of database servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance. [] Comparison with the MVC architectureAt first glance, the three tiers may seem similar to the (MVC) concept; however, topologically they are different. A fundamental rule in a three tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middle tier. Conceptually the three-tier architecture is linear. However, the MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model.
From a historical perspective the three-tier architecture concept emerged in the 1990s from observations of distributed systems (e.g., web applications) where the client, middle ware and data tiers ran on physically separate platforms. Whereas MVC comes from the previous decade (by work at in the late 1970s and early 1980s) and is based on observations of applications that ran on a single graphical workstation; MVC was applied to distributed applications later in its history (see ).
[edit] Web development usageIn the web development field, three-tier is often used to refer to , commonly websites, which are built using three tiers:
Data transfer between tiers is part of the architecture. Protocols involved may include one or more of , , , , , , , or other standard or proprietary protocols. Often is used to connect the separate tiers. Separate tiers often (but not necessarily) run on separate physical servers, and each tier may itself run on a .
[] TraceabilityThe end-to-end traceability of data flows through n-tier systems is a challenging task which becomes more important when systems increase in complexity. The defines concepts and for measuring performance and correlating transactions between tiers.
[] CommentsGenerally, the term tiers is used to describe physical distribution of components of a system on separate servers, computers, or networks (processing nodes). A three-tier architecture then will have three processing nodes. Layers refer to a logical grouping of components which may or may not be physically located on one processing node.
[] See also