Skip to content

Client-Server Architecture

August 5, 2009
Client-Server Architecture is a model in which the client and server interact with each other through a network protocol (http, ftp etc.).
Client – The one who requests (need) some data or services. (Usually the browsers)
Server – The one who provides the data or services. (Application servers or web servers). It holds the database and business logics.
What is before Client-Server Architecture?
Client-Server Model started gaining acceptance only in the late 1980’s. Before that the computers used the File Sharing Architecture. Here if any request is made by the client, then the server downloads the file from the shared location and gives it to the client and then the job is done in the client environment. This is suitable in case if the amount of data to be transferred is low. This model failed as the number of users increased in size and it give way to Client-Server architecture.
Need for Client-Server Architecture:
Business requirement need data to be shared among different people with different roles. Multiple users requests for the data simultaneously. In such situations it is difficult to have data stored in all the user machines and it is also not possible to keep the data updated till time. So the need arises to store the data in some common place and make user to access the same data. The place where the common data is stored is the server. The individual user machine is the client.
The server is not only a place for the storage of data. It also performs some operation on the data bases on the business logic and provides service to the clients.
Types of Clien–Server Architecture:
Two-Tier Architecture:
In this type the data is present in the server side and presentation login in the client side. The business logic which performs operations on the data may reside either in the client side or the server side.
If the business logic resides in the client side then it is called as thick client and if it is present in the server side than it is called as thin client.
Advantages:
1) Development time is less
2) Easy maintenance
3) Highly robust
Disadvantages:
1) Increased network traffic.
2) If any changes occur in the business logic it also affects the client side.
3) Security is less
N-Tier Architecture:
The models which contain more than two tiers are called N-Tier Architecture. Here the business logic which performs operations is kept as a separate layer. Even this may be kept as many layers in many different computers.
Advantages:
1) Hardware and software can be upgraded easily and independently without affecting the other.
2) High scalability
3) High security
4) Allow parallel developments of different components
5) Less network traffic
Disadvantages:
1) High complexity
2) High planning is needed
3) High maintenance
Thus as a conclusion Two-Tier Architecture suits well for the homogenous system and static business rule. But only the N-Tier Architecture supports dispersed, heterogeneous environment with rapid changing business rules.
Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: