client-server

Adjective

(not comparable)

(computing) describes computersoftware usually comprising a number of client modules, and a server module to which they are connected in some way. The clients make requests of the server; the server processes the requests and returns the results to the appropriate client.

client/server - Computer 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.

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 a wide area network (WAN) such as the Internet. Throughout the late 1980s and early 1990s, client/server was the hot buzzword as applications migrated from minicomputers and mainframes with input/output terminals to networks of desktop computers.
With ubiquitous access to company LANs and the Internet, almost everyone works in a client/server environment today. However, to be true client/server, both client and server must share in the business processing. To understand this principle, follow the examples below of a query to a hypothetical database of a million records, each 1,000 bytes long. Notice the amount of data flowing over the network.

Not Client/Server
In the above example, the database management system (DBMS) runs in the client, and the database is stored in the file server, which acts like a remote disk drive. Because no searching is done in the server, all one million 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 in the business processing.

Two-tier Client/Server
The above example 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 results to the client. If 50 records matched the criteria in our million-record example, only 50 KB of data traverse the network rather than 1 GB.

Three-tier Client/Server
In the above example, processing is divided between two or more servers: one used for application processing and another for database processing.
Because of the Internet, terms such as "Web based" and "Web enabled" replaced the 1990s client/server buzzword, and client/server implied old, legacy systems. However, although the client/server term may no longer be used much, Web-based systems today are entirely two-tier and three-tier client/server architectures. At the client side, the user's PC executes scripts in Web pages, and Internet-based Web servers and application servers process data before returning results to the user. See scripting language, Java applet, Web server, application server and database server.