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 million-record database. Each record is 1,000 bytes for a total of 1GB.
In this example, the server is remote storage for the database, but the database management system (DBMS) runs in the client. Because no searching is done in the server, all one million records are sent over the network to the client for comparing. See DBMS
This is "true" client/server because both sides share in the processing. The DBMS resides in the server and responds to queries from the client by searching the server and sending only results back over the network. If 50 records matched the criteria, only 50KB of data traverse the network rather than 1GB.
In this example, processing is divided between two or more servers: one for application processing and another for database processing.
The Web Is Client/Server
Because of the Internet, terms such as "Web based" and "Web enabled" replaced the 1990s client/server buzzword, and client/server implies older 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