You are on page 1of 2

UNIT-I: Client / Server

The name implies that clients and servers are two separate logical entities that work together over a network to accomplish a task. Client is a consumer of services. Server is a provider of services.

Characteristics of Client / Server: 1. 2. 3. 4. 5. 6. 7. 8. 9. Service Shared Resources Asymmetrical Protocols Transparency of location Mix and Match Message based exchanges Encapsulation of Services Scalability Integrity

1. Service:

Client/Server is primarily a relationship between processes running on separate machines The Server process is a provider of services. The client is a consumer of services. The client and server is separated clearly based on the idea of service.

2. Shared Resources:

A server can service many clients at the same time and regulate their access to shared resources. Have different mechanisms in allocating files and hardware like printer, scanner etc.

3. Asymmetrical Protocols:

There is a many-to-one relationship between clients and server Clients always initiate the dialog by requesting a service. Servers are passively awaiting requests from the clients.

4. Transparency of Location:

The server is a process that can reside on the same machine as the client or on a different machine across a network. Client/Server software usually masks the location of the server from the clients by redirecting the service calls when needed. A program can be a client, a server or both.

5. Mix-and-Match:

The ideal client/server software is independent of hardware or operating system software platform. You should able to mix and match the client and server platforms.

6. Message based exchanges:


Clients and servers are loosely coupled systems that interact through a message-passing mechanism. The message is the delivery mechanism for the service requests and replies.

7. Encapsulation of Services:

A message tells a server what service is requested; it is then up to the server to determine how to get the job done. Servers can be upgraded without affecting the clients as long as the published message interface is not changed.

8. Scalability:

Client/Server systems can be scaled horizontally or vertically. Horizontal scaling means adding or removing client workstations with only a slight performance impact. Vertical scaling means migrating to a larger and faster server machine or multi-servers.

9. Integrity:

The server code and data is centrally maintained, which results in cheaper maintenance and the guarding of shared data integrity. The clients remain personal and independent

You might also like