Characteristics Of Client/Server Architectures
- A combination of a client or front-end portion that
interacts with the user,
and a server or back-end portion that interacts with the shared resource.
The client process contains solution-specific logic and provides the
interface between the user and the rest of the application system.
The server process acts as a software engine that manages shared resources
such as databases, printers, modems, or high powered processors.
- The front-end task and back-end task have fundamentally different
requirements for computing resources such as processor speeds, memory,
disk speeds and capacities, and input/output devices.
- The environment is typically heterogeneous and multivendor.
The hardware platform and operating system of client and server are not
usually the same.
Client and server processes communicate through a well-defined set of
standard application program interfaces (APIs), RPCs, and RMIs.
- An important characteristic of client-server systems is scalability:
- 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 to multiservers.
CITS3002 Computer Networks, Lecture 9, Client/server design, p5, 1st May 2024.
|