Client / Server Computing
1. Definition
Client/Server (C/S) computing is a distributed architecture in which work is split between service requesters (clients) and service providers (servers), communicating through a network and a common protocol.
+-------------------+ request +-------------------+
| CLIENT | -------------------> | SERVER |
| - presentation/UI | <------------------- | - business logic |
| - user interaction| response | - data management |
+-------------------+ +-------------------+
Examples: browser ↔ web server, SQL client ↔ DBMS, Outlook ↔ Exchange, NFS client ↔ file server.
2. Elements of C/S Computing
| Element | Role |
|---|---|
| Client | Requests services; handles presentation and input validation |
| Server | Listens, services multiple clients, enforces security/integrity |
| Middleware | Software layer that glues clients and servers (RPC, ORB, message queues, ODBC/JDBC) |
| Network | Transport between the two (LAN/WAN, TCP/IP) |
3. Characteristics
- Service-oriented — server exists only to provide services (print, file, DB, web).
- Asymmetry of roles — clients request, servers respond (peer-to-peer removes this asymmetry).
- Location transparency — client need not know where the service physically runs (name-based access).
- Mix-and-match / heterogeneity — any client OS can talk to any server OS via standard protocols.
- Scalability — servers can be upgraded, clustered, or replicated without touching clients.
- Integrity and central control — data, security policy and backups concentrated on the server.
4. Client/Server vs File Server vs Mainframe-Terminal
| Model | Where processing happens | Bottleneck | Example |
|---|---|---|---|
| Mainframe + terminals | All on mainframe | CPU of host | Banking terminals |
| File server (LAN) | All at client; server just shares files | Network (whole file transferred) | Shared Windows folder |
| Client/Server | Split — client does UI, server does DB/logic | Balanced | Browser + web/DB server |
| Peer-to-peer | Every node is both | Coordination | BitTorrent, WhatsApp calls |
5. Categories of Servers
Database servers, transaction/transaction-monitor servers (TP monitor), application servers (JEE, .NET), web servers, mail servers, print/file servers, directory servers, and object servers (CORBA/EJB containers).
6. Benefits and Limitations
Benefits
- Reduced network traffic compared with file servers (only results travel).
- Centralised data, security, backup and administration.
- Lower hardware cost at the client; mix-and-match platforms; easier scalability and maintenance.
Limitations
- Server is a single point of failure unless clustered/replicated.
- Traffic congestion when many clients hit one server; middle-tier adds latency.
- Hidden costs — middleware licences, skilled staff, network management.
- Server scalability planning (load balancing, caching, replication) is complex.
7. Exam Points
- Define client/server computing and draw the generic C/S model — 7 marks.
- Explain the elements and characteristics of C/S computing — 10 marks.
- Compare mainframe, file-server and client/server models — 5 marks.
- Advantages and limitations of C/S architecture — 5 marks.