to hundreds or thousands of end-users, the client side presented two problems that prevented
true scalability:
• A ‘fat’ client, requiring considerable resources on the client’s computer to run effectively.
This includes disk space, RAM, and CPU power.
• A significant client-side administration overhead.
By 1995, a new variation of the traditional two-tier client–server model appeared to solve
the problem of enterprise scalability. This new architecture proposed three layers, each
potentially running on a different platform:
(1) The user interface layer, which runs on the end-user’s computer (the client).
(2) The business logic and data processing layer. This middle tier runs on a server and is
often called the application server.
(3) A DBMS, which stores the data required by the middle tier. This tier may run on a
separate server called the database server.
As illustrated in Figure 2.15 the client is now responsible only for the application’s user
interface and perhaps performing some simple logic processing, such as input validation,
thereby providing a ‘thin’ client. The core business logic of the application now resides
in its own layer, physically connected to the client and database server over a local area
network (LAN) or wide area network (WAN). One application server is designed to serve
multiple clients.
The three-tier design has many advantages over traditional two-tier or single-tier
designs, which include:
• The need for less expensive hardware because the client is ‘thin’.
• Application maintenance is centralized with the transfer of the business logic for many
end-users into a single application server. This eliminates the concerns of software
distribution that are problematic in the traditional two-tier client–server model.
• The added modularity makes it easier to modify or replace one tier without affecting the
other tiers.
• Load balancing is easier with the separation of the core business logic from the database
functions.
An additional advantage is that the three-tier architecture maps quite naturally to the Web
environment, with a Web browser acting as the ‘thin’ client, and a Web server acting as
the application server. The three-tier architecture can be extended to n-tiers, with additional
tiers added to provide more flexibility and scalability. For example, the middle tier
of the three-tier architecture could be split into two, with one tier for the Web server and
another for the application server.
This three-tier architecture has proved more appropriate for some environments, such as
the Internet and corporate intranets where a Web browser can be used as a client. It is also
an important architecture for Transaction Processing Monitors, as we discuss next.