Client and Server Architecture
posted Apr 12, 2010, 10:21 AM by Thiyagaraaj M [ updated Aug 20, 2011, 4:29 AM ]
by
Thiyagaraj M
Jerlin Pratheepa
Abinaya Sundari
Saranya Devi
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.
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
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
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.
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.
References
- Client/Server
http://en.wikipedia.org/wiki/Client-server - What Is Client?
http://searchenterprisedesktop.techtarget.com/sDefinition/0,,sid192_gci211795,00.html - What is Server
http://whatis.techtarget.com/definition/0,,sid9_gci212964,00.html - Client & Server
http://www.middleware.thiyagaraaj.com/client-server - Types Of Server
http://www.middleware.thiyagaraaj.com/types-of-server