The New System Architecture
Today's client/server applications resemble their ancestors so little that they have been given a new name, the multi-tier application, also known as n-tier architecture. In this model, processing is distributed between the client and the server, and business logic is captured in a middle tier. Most systems perform the following three main tasks, which correspond to three tiers, or layers, of the n-tier model. The following table describes the three tiers:
Task | Tier | Description |
---|---|---|
User interface and navigation | Tier 1 | This layer comprises the entire user experience. Not only does this layer provide a graphical user interface (GUI) so that users can interact with the application, input data, and view the results of requests, it also manages the manipulation and formatting of data once the client receives it back from the server. In Web applications, a Web browser performs the tasks of this layer. |
Business logic | Tier 2 | Between the interface and data services layers, is the domain of the distributed application developer. Business logic, which involves the rules that govern application processing, connects the user in tier 1 with the data in tier 3. The functions that the rules govern closely mimic everyday business tasks, and can be a single task or a series of tasks. The code in this tier must be developed with security in mind. See Checklist: ASP Security, and Writing Secure Code |
Data services | Tier 3 | Data services are provided by a structured (SQL, Oracle database, XML database) or unstructured (Microsoft Exchange, Microsoft Message Queuing) data store, which manages and provides access to the data contained within. A single application may enlist the services of one or more data stores. |
The following diagram depicts the Microsoft technologies that service the various tiers in the new system architecture.
The three-tier architecture isolates each major piece of functionality, so that the presentation (user interface) is independent of the processing rules and business logic, which in turn is separate from the data. This model requires much more analysis and design up front, but greatly reduces maintenance costs and increases functional flexibility in the long run.
(The following words are used by Search; they are not intended to be displayed on the page.) MSMQ