Client Server Architecture is a process involving a minimum of two independant
entities, one is the client and the other is the server. The client makes a request
to the server and the server services the requests an dthe resulting data is sent
to the client. In this application, two separate applications operating independantly
could work together to complete a task.
A well brought out implementation of this concept is the SQL based database
Management System. The client server architecture is well illustrated in figure
shown below. Here, unlike the File Server System, the requests that goes to the
server is not merely a request for file in the form of disk input/output requests
which are returned as series of disk blocks. Intead, instructions are communicated
to an application running on the server, and the server executes those requests
and sends a response to the client.
Two-Tier Client Server Model
In a two-tier model, a desktop machine operates as a client and a network server
functions as a back-end database engine. The logic in a two-tier model is split
between the two physical locations namely the server and the client. The client
in a two-tier model is necessarily a 4GL like Visual Basic or PowerBuilder. The
salient point for a two-tier application is that the business logic must physically
reside either on the client or be implemented on the back-end within the DBMS
in the form of triggers and stored procedures. Both triggers and procedures are
stored as precompiled collections of SQL statements and control-of-flow statements.
In Visual Basic, using any of the data controls that provide a graphical link
to the back-end data source creates a two-tier client/server relationship.
The advantages of this two-tier model are - data access is simplified, allowing
very rapid development of applications. The GUI is bound directly to the data
source and all the details of data manipulation are handled automatically. But
there is a disadvantage in this, i.e. though the data access is simplified, it
is less flexible due to which the user will not have complete control of interactions
with the data source.
Limitations of Two=Tier Client Server Model
Not Scalable - Inability of a two-tier approach to grow beyond the physical
boundaries of a client and server machine.
Unmanageable - Business rules cannot be encapsulated and deployed centrally
because of which sharing common processes and reusing work becomes difficult.
Poor Performance - The graphical interface binding to the data consumes major
resources on the client machine which results in poor performance and dissatisfied
clients.
Tree-Tier Client/Server Model
An improved model for client server development resulted as an outcome of limited
effectiveness of two-tiered client/server solutions. The three-tier client/server
model is based on the ability to build partitioned applications. Partitioning
an application breaks our code into logical components. Each tier is called a
service. These services are shared between the client and the servers. The Service
Model employed to design this architecture suggests that these components can
be logically grouped into three tiers: User services, Business Services and Data
Services. The service and its location is given below.
Tutorial Main Page
| Previous Page | Table
of Contents | Next Page