Client Server Computing Components

Client/Server computing is new technology that yields solutions to many data management problems faced by modern organizations. The term Client/Server is used to describe a computing model for the development of computerized systems. This model is based on distribution of functions between two types of independent and autonomous processes: Server and Client. A Client is any process that requests specific services from the server process. A Server is a process that provides requested services for the Client. Client and Server processes can reside in same computer or in different computers linked by a network.

When Client and Server processes reside on two or more independent computers on a network, the Server can provide services for more than one Client. In addition, a client can request services from several servers on the network without regard to the location or the physical characteristics of the computer in which the Server process resides. The network ties the server and client together, providing the medium through which the clients and the server communicate.

Client component

The client is proactive and will, therefore, always initiate the conversation with the server. The client includes the software and hardware components. The desirable client software and hardware feature are:
(i) Powerful hardware.
(ii) An operating system capable of multitasking.
(iii) Communication capabilities.
(iv) A graphical user interface (GUI).
(v) Arbitrary application program
o Becomes client when network service is needed
o Also performs other computations
(vi) Invoked directly by user
(vii) Runs locally on user’s computer
(viii) Initiates contact with server
(ix) Can access multiple services (one at a time)

Server component

The server is active because it always waits for the client’s request. The server hardware characteristics depend upon the extent of the required services. The following are the characteristics of the server:
i). Fast CPU (RISC, Pentium, Power PC, or multiprocessor)

ii). Fault tolerant capabilities:
iii). Dual power supply to prevent power supply problem.
iv). Standby power supply to protect against power line failure.
v). Expandability of CPU, memory disk, and peripherals.
vi). Multiple communication options.
vii). Special purpose application dedicated to providing network service
viii). Starts at system initialization time
ix). Runs on a remote computer (usually centralized, shared computer)
x). Waits for service requests from clients; loops to wait for next request
xi). Will accept requests from arbitrary clients; provides one service to each client
xii). Requires powerful hardware and sophisticated operating system