Client Server Technology: An Introduction
Client/Server technology is a means for separating the functions of an application into two or more distinct parts. The client presents and manipulates data on the desktop computer. The server acts like a mainframe to store and retrieve protected data. Together each machine can perform the duties it is best at. Client-server computing or networking is a distributed application architecture that partitions tasks or work load between service providers (servers) and service requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server machine is a high-performance host that is running one or more server programs which share its resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await (listen to) incoming requests. Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is a more important idea in a network. In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations. Computer transactions using the client/server model are very common. For example, to check your bank account from your computer, a client program in your computer forwards your request to a server program at the bank. That program may in turn forward the request to its own client program that sends a request to a database server at another bank computer to retrieve your account balance. The balance is returned back to the bank data client, which in turn serves it back to the client in your personal computer, which displays the information for you. The term client-server refers to a popular model for computer networking that utilizes client and server devices each designed for specific purposes. The client-server model can be used on the Internet as well as local area networks (LANs). Examples of client-server systems on the Internet include Web browsers and Web servers, FTP clients and servers, and DNS. A Client or a Server is so named depending on the extent to which the processing is shared between the client and server. Based on the criterion that how much of an application is placed at the client end or at the server end, the client/server can be thin /fat. Thin Client: This architecture places minimum functionality on the client machine. Fat Client: This architecture places more application functionality on the client machine. Such a client is a maintenance headache. Thin Server: This architecture places minimum functionality on the server machine. Fat Server: This architecture places more application functionality on the server machine. The current trend is towards fat server in client/server systems. The biggest advantage of using the fat server is that it is easier to manage because only the software on the servers needs to be changed, whereas updating potentially thousands of client machines is a real headache.
1. Client-Server Architecture
A network architecture in which each computer or process on the network is either a client or a server. Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers ). Clients are PCs or workstations on which users run applications. Clients rely on servers for resources, such as files, devices, and even processing power. A server machine is a high performance host that is running one or more server programs which shares its resources with clients. A client doesn’t share any of its resources. The client initiates communication...