Client server technology

Client-server technology provides for two independent interacting processes - a server and a client, the communication between which is carried out over the network.

Servers are processes responsible for maintaining the database and file system, and clients are processes that send a request and wait for a response from the server.

The client-server model is used to build an information processing system based on a DBMS, as well as mail systems. There is also the so-called file-server architecture, which is significantly different from the client-server architecture.

Data in a file server system is stored on a file server (Novell NetWare or WindowsNT Server), and it is processed on workstations through the functioning of "desktop DBMSs" such as Access, Paradox, FoxPro, etc.

The DBMS is located on the workstation, and data is manipulated by several independent and inconsistent processes. All data is transmitted from the server over the network to the workstation, which slows down the speed of information processing.

Client-server technology is implemented by the functioning of two (at least) applications - clients and servers, which share functions among themselves. The server is responsible for storing and directly manipulating data, for example, SQLServer, Oracle, Sybase, and others.

The user interface is formed by the client, which is based on the use of special tools or desktop DBMSs. Logical data processing is performed partially on the client, and partially on the server. Requests to the server are sent by the client, usually in SQL. Received requests are processed by the server, and the result is returned to the client (s).

At the same time, the data is processed in the same place where it is stored - on the server, so a large amount of it is not transmitted over the network.

Benefits of Client Server Architecture

Client-server technology brings the following qualities to the information system:

  • Reliability

Data is modified by the database server using a transaction mechanism that gives a set of operations properties such as: 1) atomicity, which ensures data integrity at any transaction completion; 2) the independence of transactions of different users; 3) fault tolerance - saving the results of the completion of a transaction.

  • Scalability i.e. the ability of the system to not depend on the number of users and the amount of information without replacing the software used.

Client-server technology supports thousands of users and gigabytes of information with the appropriate hardware platform.

  • Security i.e. reliable protection of information from unauthorized access.
  • Flexibility. In applications working with data, logical layers are distinguished: user interface; logical processing rules; Data management.

As already noted, in file-server technology, all three layers are combined into one monolithic application operating on a workstation, and all changes in the layers necessarily lead to application modifications, client and server versions are different, and version upgrades are required on all workstations .

The client-server technology in a two-level application provides for the fulfillment of all functions for forming the user interface on the client, and all functions for managing database information on the server, business rules can be implemented both on the server and on the client.

The three-tier application allows an intermediate level that implements business rules, which are the most mutable components.

Several levels allow you to flexibly and at the lowest cost adapt your existing application to constantly changing business requirements.

Source: https://habr.com/ru/post/K977/


All Articles