Client - server systems, with a complex client user interface.
Most processing can be performed on the server side.
There is a significant part of data that is persistent.
The presentation of the information on the client side is complex and
the client cannot perform all the processing. The server carries on
computation and persistence tasks. Changes to any feature of the system
are likely to make an impact on several components.
Forces or tradeoffs
The client side has too many tasks to carry out.
The server side could carry out some computations.
Presentation and processing of data are mixed in the client.
Processing and persistence features are mixed in the server.
We split the system into three layers or tiers, each one with well-defined
1 Client tier.
2 Server tier.
3 Data tier.
The client tier is responsible for presentation and carries out only the
simplest data validation checks. The server tier performs all the
processing and ignores both presentation and persistence issues. Finally
the data tier encapsulates all the details concerning the persistence of
The transformation of a simple client
server system into a three-tier
system is described in the following figure.
The supermarket operation support system is an example of a three-tier
system. The client component (user interface ! communication) is
concerned only with presentation issues; the market server performs all
the processing; the market DB encapsulates all the details of data