client/server - technical definition

A network architecture that distributes intelligence and responsibilities at several levels, with some machines designated as servers to serve the needs of client machines. A server can be a mainframe, minicomputer, or personal computer that operates in a time-sharing mode to provide for the needs of many clients. Client machines are complete, standalone computers that optimize the user interface, relying on servers to handle the more mundane tasks associated with application and file storage, network administration, security, and other critical functions. See also peer-to-peer.

See client/server in Computer


An architecture in which the user's PC (the client) is the requesting machine and the server is the supplying machine, both of which are connected via a local area network (LAN) or wide area network (WAN). Throughout the late 1980s and early 1990s, client/server was the hot buzzword as applications were migrated from centralized minicomputers and mainframes to networks of desktop computers.

Client and Server
The client is the user's machine, which contains the user interface (Windows, Mac or Linux) and can perform some or all of the application processing.

File servers, which range in size from PCs to mainframes, store data and programs and share those files with the clients. In this case, the server functions as a remote disk drive to the clients.

To be a true client/server environment, both client and server must share in the business processing. To understand this principle, follow the examples below, which depict a query to a hypothetical database of a million records, each 1,000 bytes long. Notice where the processing is performed and the amount of data flowing over the network.


CS1.GIF


Non-Client/Server - The File Server
If the database is stored in a file server that does nothing more than store and share its programs and data, the file server acts like a remote disk drive to the client. In this case, the database management system (DBMS) "runs" in the client. Because no searching is done in the server, all 1,000,000 records have to be sent over the network to the client for comparing. This is not "true" client/server because both sides are not sharing the business processing.



CS2.GIF


Two-tier Client/Server
This is "true" client/server because both sides participate in the business processing. The database management system (DBMS) "runs" in the server. A query from the client is sent to the DBMS, which responds by searching the server and sending only the results to the client. If 50 records matched the criteria in our million-record example, only 50 kilobytes of data traverse the network rather than one gigabyte (a million times less).



CS3.GIF


Three-tier Client/Server
In this case, the processing is divided between two or more servers, one used for application processing and another for database processing. This is very common in large enterprises. See application server and database server.



The Web Really Is Client/Server


Because of the Internet, terms such as "Web based" and "Web enabled" replaced the 1990s client/server buzzword, with "client/server" insinuating the old pre-Web way of doing things. However, most client/server systems were modified to include Web access, and the Web "is" a natural client/server architecture.

On the server side, the Web uses a multi-tier architecture with interlinked Web servers, application servers, database servers and caching servers. On the client side, user machines commonly execute scripts embedded in countless Web pages. They also execute Java applets, Java programs and rich client applications, all of which means that both client and server cooperate in tandem. See scripting language, Java applet and rich client.



Learn more about client/server

client/server

link/cite print suggestion box