Web Hosting Reviews
System Architecture :: The client-server architecture.

Other Articles:
  CISC and RISC processor architecture.

24/7 Solutions - The client-server architecture.


The server can serve several clients simultaneously. In this case speak about the multiuser operating mode of a server. Despite of concept "the multiuser mode" - inquiries are carried out by a server consistently. If simultaneously comes more than one inquiry, its are established in turn. In this case the turn is a list of outstanding client inquiries. Inquiries can sometimes have priorities. The priority is a level of "importance" of inquiry performance. Inquiries with higher priorities should be carried out earlier.

There is a small exception in occasion of serial processing. Operational system Windows is multitask and multiline. Multitask is a property of operating system to execute some the user appendices (programs). It means, that on a server some problems can be started, each of which can execute the separate inquiry. Multithreads enables to execute some inquiries within the limits of one problem. So there is an increase in productivity of a server.

The cycle of inquiry performance consists of inquiry transfer and the answer between the client and a server and direct performance of this inquiry on a server. Performance of complex inquiry occurs longer, than time spent for transfer of inquiry and result of its performance. Therefore in servers systems of distribution of transactions (inquiries) between domains of a server are applied. Transaction is a set of commands which either are carried out all or any is not carried out. The domain is an element of a server. Quite often server at a physical level represents not one, and group of the computers incorporated in one system for maintenance of any operations. In this case the domain is the computer entering into architecture of a server.

Three-level client-server architecture

On top level of abstraction of the client-server precisely interaction enough it is possible to allocate following components:

  • Presentation Layer - (PL) - it is intended for work with data of the user;
  • Business Layer - (BL) - it is intended for check of correctness of data, support of reference integrity;
  • Access Layer - (AL) - it is intended for a data storage.

Thus, it is possible to allocate 3 types of the client-server interaction:

1. The Weak client - a powerful server.

All processing of the information is carried out entirely by a server. The server sends the ready result which is not demanding additional processing. The client only makes inquiry, sends inquiry, accepts inquiry and displays the information (on the printer or in a file).

Most often meeting variant of the client-server architecture realization in already introduced and actively used systems. Such model means association in the client appendix both PL, and BL full decentralization of management business layer, thus, is provided. However in case of need performance of any changes in the client application it is necessary to change an initial code. The server part, at the described approach, represents the server of databases realizing AL. To the described model often apply abbreviation RDA - Remote Data Access.

2. The strong client - a part of processing of the information is entrusted to the client.

The model beginning actively to be used in the corporate environment in connection with distribution of Internet-technologies and, first of all, of Web-browsers. In this case the client application provides realization PL, therefore the client can be content enough with a modest hardware platform, and the server unites BL and AL.

Simple example: the list of the firm employees, sorted on surnames is required to the user. In the first case, the server by client inquiry takes a surname (for example, from a database) and sorts their itself. The ready sorted list is sent the client. It is necessary for client to carry out a conclusion to the screen only. In the second case, the server only takes surnames and sends data to the client. The client sorts the list and displays it.

But it is far not all. We shall admit, the user has wanted to sort the received list on a wage level. In the first case the client forms new inquiry to a server, the server carries out it and sends the ready answer to the client who only displays it. In the second case the client sorts the list itself without the reference to a server. Naturally, in the second case the server will be less loaded.

3. Server Business Layer (three-level architecture)

Model with block BL physically allocated in the separate application, thus, it is received three-level architecture "client-server". On a server the "universal" part business layer (rules at a level of the enterprise or group of the connected appendices) can function. Such scheme allows to support thin clients on the user computers and at the same time to unload a server from excessive loading at preservation of flexible system of work about business-rules.

There is one more important concept "waiting time". "Waiting time" is time through which the user, having sent inquiry to a server, will receive from it the answer. A waiting time the most important parameter of the system productivity realizing the concept the client-server.

At partial data processing on the client "waiting time" it is less. Less it due to simplification of inquiry and time of its performance. Expectation in turn for execution of inquiry from here there is less.

Certainly, that time of final processing for the client can be a little above due to a difference in productivity of a server. From here can increase some a waiting time. Finally, it is all the same more favourable, since the waiting time in turn of inquiries on a server is less.

Many servers do not maintain loading ("pressure" of inquiries) and is simple shutdown. In that case there are two alternative ways: increase in productivity and carry of operations part above data on the client. As a rule, increase in productivity much more expensive operation, and too, in the sense, final. There Is only "unloading" of a server and carry of a part of data processing on the client.