3-Tier
Architecture
Introduction
Through
the appearance of Local-Area-Networks, PCs came out of their isolation, and
were soon not only being connected mutually but also to servers. Client/Server
computing was thus born.
Servers
today are mainly file and database servers; application servers are the
exception. However, database-servers only offer data on the server,
consequently the application intelligence must be implemented on the PC
(client). Since there are only the architecturally tiered data-server and
client, so this is called 2-tier architecture. This model is still predominant
today, and is actually the opposite of its popular terminal based predecessor
that had its entire intelligence on the host system.
Need for 3-tier architecture
Unfortunately, the 2-tier model shows
striking weaknesses, that make the development and maintenance of such
applications much more expensive.
·
The complete development accumulates on the PC. The PC processes and
prevents information that leads to monolithic applications that are expensive
to maintain. That's why, it is called a "fat client".
·
In a 2-tier architecture, business-logic is implemented on the PC.
·
Since the actual processing of data takes place on the remote client,
data has to be transported over the network. Consequently, this leads to
increased network stress.
·
The client controls how to conduct transactions. Advanced techniques
like two-phase committing can't be run.
·
PCs are considered to be "untrusted" in terms of security and
are relatively easy to crack. Nevertheless, sensitive data is transferred to
the PC, for lack of an alternative.
·
Data is only "offered" on the server, not processed. Stored
procedures are a form of assistance given by the database provider. But they
have a limited application field and a proprietary nature.
·
Application logic can't be reused because it is bound to an individual
PC-program.
What is 3-tier architecture?
A
3-tier architecture consists of three layers; each separated into respective
physical tiers:
1.
Presentation layer (Presentation tier)
2.
Business logic layer (Business logic tier)
3.
Data layer (Data tier)
Presentation Tier (Client
Tier)
The
presentation tier also called client tier, runs within the address space of one
or more Web servers. It consists of Java servlets, scripts to customize
look-and-feel (such as ASP, JSP, etc), and workflow logic that ties things
together. The client tier is responsible for the presentation of data,
receiving user events, and controlling the user interface. It actually consists
of programs that provides the graphical user interface (GUI) and
application-specific entry forms (Web browsers).
Business Logic Tier
(Application Tier)