Software Engineering - Old Questions

7. What is client server model? Explain the advantages and disadvantages of client server model.

6 marks | Asked in 2074

Client server model is a system model where the system is organized as a set of services and associated servers and clients that access and use the services.

The major components of this model are:

1. A set of servers that offer services to other sub-systems. Examples of servers are print servers that offer printing services, file servers that offer file management services and a compile server, which offers programming language compilation services.

2. A set of clients that call on the services offered by servers. There may be several instances of a client program executing concurrently.

3. A network that allows the clients to access these services. 

Clients may have to know the names of the available servers and the services that they provide. However, servers need not know either the identity of clients or how many clients there are. Clients access the services provided by a server through remote procedure calls using a request-reply protocol.

Advantages:

  • Distribution of data is straightforward.
  • Makes effective use of networked system.
  • May require cheaper hardware.
  • Easy to add new servers or upgrade existing servers.

Disadvantages:

  • No shared data model so sub-system use different data organization. Data interchange may be inefficient.
  • Redundant management in each server.
  • No central register of names and services - it may be hard to find out what servers and services are available.