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 ?
All are PC-based client-server systems with Windows user interfaces.
In other words, you take the front end of the system - the part that interfaces with the user - and put it on the client-server system, without disturbing the back end.
Davis defined a client-server system or environment as follows:
There are many obstacles to successfully implementing a client-server system," he says.
The TerraShare core includes server and client software and is a Microsoft Transaction Server multi-tier client-server system.
The company reviewed six mainframe and client-server systems for mortgage and consumer loans before selecting MortgageWare(R) technology.
The broad level of support for Progressive Networks' client-server system has helped to make RealAudio a defacto standard," said Robert Davis, vice president of marketing at Iterated Systems.
The client-server system is based on an open systems environment that allows data exchange using stand-alone workstations for seamless access to local and remote public health information.
Its object-based, client-server systems are distributed and scaleable, and incorporate high-volume workflow, document imaging and multimedia capabilities.
Intacct provides the first web-based accounting solution for the mid-market, giving companies easy access to sophisticated accounting at a fraction of the cost of traditional client-server systems.
Intacct is an Internet application and service provider (ASP) that delivers web-based accounting solutions to the mid-market at a fraction of the cost of traditional client-server systems.
Based on a Web Component Architecture, eGain Mail and eGain Live deliver far greater scalability, flexibility and performance than client-server systems that have been "updated" with a Web interface.

Full browser ?