Go Search
 |  Sign In
 
   
 

N-Tier Client|Server System

Summary

 In the beginning, there were programs and databases running on computers that most users accessed via dumb terminals. That was a single tier architecture all of the data and all of the program logic typically ran off of the same machine. Then came two-tier, client-server systems, where the database sat on a back-end server and some or all of the programs and/or business logic was moved from the server down to the clients which were usually PCs or workstations. This took some of the load off of the servers, and was generally viewed as a good thing. However, the client-server architecture has some inherent limitations. First, client software must be distributed and managed on a potentially large number of separate, diverse clients across the entire enterprise. If the software is changed, updated or replaced, the procedure to roll out the new client programs to all of the client computers across the enterprise in an organized fashion can be extremely challenging. Additionally, traditional client-server systems tend to be susceptible to interruption of service if the back-end server fails. So if that goes down or is inaccessible for any reason, nobody can access the system at all.

Then three-tier systems came to solve these limitations. There are a number of reasons for adding another layer, and two of the better ones are thin clients and distributed processing. In a typical three-tier system, the first layer still houses the database or other centralized data stores; the second layer is where the programs and/or business logic is located sometimes on specialized application servers; and the third layer is the client. Because the business logic is handled in another layer, usually through the use of some form of Middleware product In the three-tier model, because of a lot of business logic in a middle tier between the client tier and the server tier the result is fat middle tier.

In the N-Tier model, dividing fat middle tier into many thin layers each of them takes a partial responsibility of business logic. N-tier architecture is an extension of the three-tier model. It further splits the three core tiers into additional layers. These layers are based on either a logical or physical services that the application performs. For example, when designing a user interface that communicates with a business component in a traditional three-tier model, architect can further break down the client and middle tiers into three tiers ( the client that displays the user interface, a new layer that handles the formatting of the data sent to the middle tier and client and the business tier).

 Residing the business logic on a middle-tier also allows for development, deployment and maintenance of most of the code on a small number of dedicated application servers, instead of onto hundreds or thousands of desktops. N-Tier systems can be engineered so that redundant copies of the application have access to relevant redundant, replicated copies of back-end data sources. Back-end and middle-tier services can handle the details of data replication and synchronization, automatic load-balancing and discarded in case of host failure. This increases overall system availability, performance and reliability for the users. We proposed a new model of Logical N-Tier Application; we discuss how to define the individual tiers, and how to develop them. We also represent a sample application for N-tier that run on a single computer and implement it by using kind of Middleware called Component Object Model (COM).

                                                           Go UP

 
King Saud University. All rights reserved, 2007 | Disclaimer |   CiteSeerx