What is a Client-server architecture?
A client/server system has three distinct components * focusing on a specific job; * a database server * a client application and a network. A server ( or back end ) focuses on efficiently managing its resource such as database information. The server’s primary job is to manage its resource optimally among multiple clients that concurrently request the server for the same resource. Database servers concentrate on tasks such as * Managing a single database of information among many concurrent users. * Controlling database access and other security requirements. * Protecting database information with backup and recovery features. * Centrally enforce global data integrity rules across all client applications. A client application (“the front end”) is the part of the system that users employ to interact with data. The client applications in a client/server database system focus on jobs such as * Presenting an interface a user can interact with to accomplish work. * Managing presentation lo
A client-server architecture is a general mechanism for handling a shared resource that several programs may want to access simultaneously. In the case of X, the shared resources are the drawing area and the input channel. If every process was allowed to write on it at its will, several processes may want to draw at the same place, resulting in an unpredictable chaos. Thus, only one process is allowed to get access to the drawing area: the X server. The processes wanting to draw stuff or get inputs send requests to the X servers (they are “clients”). They do this over a communication channel. The X server performs the requests for its clients, and sends them back replies. It may also send messages without explicit client’s requests to keep them informed of what is going on. These messages sent by the server on its own behalf are called “events”.