client-server system


Also found in: Dictionary.

client-server system

[¦klī·ənt ′sər·vər ‚sis·təm]
(computer science)
A computing system composed of two logical parts: a server, which provides information or services, and a client, which requests them. On a network, for example, users can access server resources from their personal computers using client software.

Client-server system

A computing system that is composed of two logical parts: a server, which provides services, and a client, which requests them. The two parts can run on separate machines on a network, allowing users to access powerful server resources from their personal computers. See Local-area networks, Wide-area networks

Client-server systems are not limited to traditional computers. An example is an automated teller machine (ATM) network. Customers typically use ATMs as clients to interface to a server that manages all of the accounts for a bank. This server may in turn work with servers of other banks (such as when withdrawing money at a bank at which the user does not have an account). The ATMs provide a user interface and the servers provide services, such as checking on account balances and transferring money between accounts.

To provide access to servers not running on the same machine as the client, middleware is usually used. Middleware serves as the networking between the components of a client-server system; it must be run on both the client and the server. It provides everything required to get a request from a client to a server and to get the server's response back to the client. Middleware often facilitates communication between different types of computer systems. This communication provides cross-platform client-server computing and allows many types of clients to access the same data.

The server portion almost always holds the data, and the client is nearly always responsible for the user interface. The application logic, which determines how the data should be acted on, can be distributed between the client and the server. The part of a system with a disproportionately large amount of application logic is termed “fat”; a “thin” portion of a system is a part with less responsibility delegated to it. Fat server systems, such as groupware systems and web servers, delegate more responsibility for the application logic to the server, whereas fat client systems, such as most database systems, place more responsibility on the client. See Human-computer interaction

The canonical client-server model assumes two participants in the system. This is called a two-tiered system; the application logic must be in the client or the server, or shared between the two. It is also possible to have the application logic reside in a third layer separate from the user interface and the data, turning the system into a three-tier system. Complete separation is rare in actual systems; usually the bulk of the application logic is in the middle tier, but select portions of it are the responsibility of the client or the server.

The three-tier model is more flexible than the two-tier model because the separation of the application logic from the client and the server gives application logic processes a new level of autonomy. The processes become more robust since they can operate independently of the clients and servers. Furthermore, decoupling the application logic from the data allows data from multiple sources to be used in a single transaction without a breakdown in the client-server model. This advancement in client-server architecture is largely responsible for the notion of distributed data. See Distributed systems (computers)

Standard web applications are the most common examples of three-tier systems. The first tier is the user interface, provided via interpretation of Hyper Text Markup Language (HTML) by a web browser. The embedded components being displayed by the browser reside in the middle tier, and provide the application logic pertinent to the system. The final tier is the data from a web server. Quite often this is a database-style system, but it could be a data-warehousing or groupware system.

References in periodicals archive ?
Client-server systems are powerful because the server can focus on data management without worrying about the user interface or other issues.
Here, mainframe sales are declining fast, but the decline is being offset by increasing sales of client-server system disks.
The department hopes in the future to get broader capabilities such as search features, and it wants to extend the software to a client-server system so that more officers can use it on a planned department intranet.
With Vantage, DataWorks' business management software for custom and mixed-mode manufacturers, Taber found a client-server system that could be customized for its specific use, and one that presented opportunities to impact the way it does business.
A client-server system can handle many user requests on the client level, freeing up the server for higher-level computing.
"The Horizon software is a true client-server system," affirms Jones.
Researchers plan to make the information available via a more powerful, database-oriented client-server system. In addition, they are hoping to use techniques from natural language processing and computer vision to improve retrieval and organization of information in both text and visual documents.
(Stikeleather was previously with Kash n' Karry, where he established a client-server system.) Client-server computing addresses this problem by breaking up an application into parts.
Although most of the transaction volume is still handled on mainframes, these mainframes have simply become components in the larger client-server system.
We will call such a composite system a "Client-Server System" or simply CSS.

Full browser ?