Thursday, March 31, 2011

Client-Server Computing

The Client-Server computing means the client communicates with another program (the server) for purpose of exchanging information.


Clients are applications that run on computers. Servers are computers or processes that manage network resources.


Client's responsibility is to handle the user interface, translate the user's request into the desired protocol, send the request to the server, wait for the server's response, translate the response into "human-readable" results, and present the results to the user.


Server's functions include, listen for a client's query, process that query and return the results back to the client.


Networks connect clients and servers.

Typical client-server interaction goes like this :


  • User runs client software to create a query.

  • Client connects to the server.

  • Client sends the query to the server.

  • Server analyzes the query.

  • Server computes the results of the query.

  • Server sends the results to the client.

  • Client presents the results to the user.


2-Tier Model


2-Tier architecture is used to describe client-server systems where the client requests resources and the server responds directly to the request, using its own resources. This means that the server does not call on another application.


3-Tier Model


In 3-tier architecture, there is an intermediary level, meaning the architecture is generally split up between :


A client : which requests the resources, equipped with a user interface for presentation purpose.


The application server (middleware) : whose task is to provide the requested resources by calling on another server.


The data server : which provides the application server with the data it requires.


3-Tier architecture generally contains Presentation Layer (a client), Business Access Layer (middleware) and Data Access Layer (data server).