Two-tier vs. Three-tier Systems{2}

by Jasmine C
The article I read about discussed the client/server system and how there is a choice between a two tier and three tier architecture system.  Some of the ways to choose between the two tiers is to take into consideration the scope and difficulty of a particular project, the number of users the system will be used by, the transaction needs of the system, etc.  In both of the tiers, they each have the components of presentation, processing, and data.  However, each tier separate these three components differently.  The article then goes on to discuss the differences between between the two tiers.  In the two tier architecture, the three components are “divided into two software entities: client application code and data base server” (Gallaugher).  According to Gallaugher, he client deals with the presentation aspect, both the client and the server handle processing, and the server stores and accesses the data.  In this tier also, there is high application development speeds and this type of architecture works well with homogeneous environments.  The downfalls about this tier is if you change an aspect of your business, then it’s mandatory that you change your client logic.  Also, system security is lacking because of the need for different passwords.  With a three-tier architecture, some of the boundaries placed by a two tier system are attempted to be overcome.  In this tier, presentation, processing, and data are separated into different tiers.  This tier also utilizes the remote procedure call, RPC,tool that calls from the client to the server.  This tool “provides greater overall system flexibility than the SQL calls made by clients in two tier architecture” (Gallaugher).  Another advantage of this tier is that because the three components have their own tier, they can be developed in parallel and resources can be allocated more freely.  Even though a three tier architecture requires more planning than a two tier, the advantages provided are well worth it.

I like this article because it it provided both pros and cons of both of the tier systems.  When deciding which one you would like t use, you should take the time to contemplate what your system requirements are.  If you have a small business and with strict, or fixed business rules, then most likely then not you are going to want to pick a two tier architecture because you won’t be using too much resources. However, if you have a big business, then you most likely are going to want to choose a three tier architecture.  This type of architecture will allow for you to use your resources more wisely and also handle the many different types system uses.  But what I felt it really came down to when deciding which one to use is by looking at your business rules.

When I think of the difference between the two systems, I think of how I can relate it to school.  I would use a two tier system if I were a school with 70 students and they each wanted to know their grade in their classes.  The software they would use would have the grades on the server and the application on the client. However, if I were a school like CPP and had over 1,500 students, I would use a three tier system. Here, I would implement a server application in the middle that would handle the queries. Thinking of the two systems and they are different in many situations can help me get a better understanding of how they are each used in reality.

Gallaugher, J. , & Ramanathan, S. (1996). Choosing a client/server architecture: A comparison of two- and three-tier systems. Information Systems Management, 13(2), 7. Retrieved February 25, 2012 from