When people talk about the three-tier model, they almost always mean the physical three-tier model. In this model, we have a client computer, a server middle-tier computer that runs some part of the application, and a database server. Often, the middle tier actually resides on more than one computer. There may also be more than one database server. Because of the possibility for multiple database and middle-tier servers, three-tier is often called n-tier or multi-tier, as there may actually be a number of physical computers. A simple three-tier solution would look as follows:
There are many advantages to placing the application onto the third tier. The primary advantage is scalability. If we build our application from components, we can easily divide these components across multiple servers. If we build Component!, which is used by several of our applications to get data from the database, we can place this on its own server. If the server cannot handle the number of requests to use Component!, we can upgrade it, and when the server reaches its maximum capacity, we can add another server and place Component! on two servers. In this way, we can easily increase the capacity of our system by adding hardware and not by rewriting applications. Applications take one or two years to build and can be very costly. Hardware can be bought for a reasonable price and shipped overnight.
Was this article helpful?