Articles‎ > ‎Technical Articles‎ > ‎

Client and Server Architecture

posted Apr 12, 2010, 10:21 AM by Thiyagaraaj M   [ updated Aug 20, 2011, 4:29 AM ]
Client-server computing or networking is a distributed application architecture that partitions tasks or work loads between service providers (servers) and service requesters, called clients
.

Definition:

Client/Server is a mutual form of distributed system and also a network procedure. A client is said to be a Package Supplicant which appeal a process to the server. And a Server is said to be a Service Provider which satisfies the request for a client

Client/Server Devices:

Client devices hold the request and the received information over the network. 
Example:
Mobile, Desktop Computers.
Server devices hold the stored file and databases. 
Example:
Website 

Client:

A client is the requesting program or user in a client/server relationship
.
  • Client is a Computer Application, which runs on the PC’s. For example E-Mail is a client application which is used to send and receive messages. 
  • Client does not share any of its resources.But it awaits for a reply from a server after sending a request. 

Server:

In information technology, a server is a computer program that provides services to other computer programs (and their users) in the same or other computers.
Server is a software program, this also runs on PC’s. Servers satisfy the request of the client and deliver the data to the client through a network. It has more memory spaces. 
Example: Web Server. 
Common types of server are Webserver, Proxy Server, FTP Server, and Online Game Server.
One Server response to a multiple Clients, Which satisfies the request. 

Characteristics Of Clients:

Client requests to a Server. Then it waits and receives replies from the server. It will be connected with small number of Client at a time.
    • Passive (slave) 
    • Waits for requests 
    • Upon receipt of requests, processes them and then serves replies

Characteristics Of Server:

Server wait for a request from a client.Then it response to the clients request. It can communicate with multiple clients at a time. The server may communicate with other Server to respond a Client.
    • Active (master) 
    • Sends requests 
    • Waits for and receives server replies 
    • Servers can be stateless or stateful. A stateless server does not keep any information between requests. A stateful server can remember information between requests. The scope of this information can be global or session. A HTTP server for static HTML pages is an example of a stateless server while Apache Tomcat is an example of a stateful server.
The interaction between client and server is often described using sequence diagrams. Sequence diagrams are standardized in the UML

Tiered architecture:

A generic client/server architecture has two types of nodes on the network: clients and servers. As a result, these generic architectures are sometimes referred to as "two-tier" architectures.
Some networks will consist of three different kinds of nodes: server,application servers which process data for the clients, and database serverswhich store data for the application servers. This is called a three-tier architecture.
The advantage of an n-tier architecture compared with a two-tier architecture (or a three-tier with a two-tier) is that it separates out the processing that occurs to better balance the load on the different servers; it is more scalable. The disadvantages of n-tier architectures are:

It puts more load on the network.
It is much more difficult to program and test software than in two-tier architecture because more devices have to communicate to complete a user's transaction.
It puts more load on the network.
It is much more difficult to program and test software than in two-tier architecture because more devices have to communicate to complete a user's transaction.

Peer to Peer Model:

In Peer to Peer model, all systems are connected one another.A Client is act as a Server to one system and that Server as a Client to another system. 
It has more flexibility in growing the system to handle large number of Clients.



Types Of Server:

    • Web Server
    • Application Server
    • Mail Server
    • Multimedia Server(Audio/Video)
    • Chat Server
    • FTP Server
    • IRC Server
    • News Server
    • Telnet Server
    • Proxy Server
    • Database Server
Comments