4D v144D Server Architecture |
||
|
4D v14
4D Server Architecture
4D Server Architecture
Using client/server architecture, 4D Server not only stores and manages the database, it also provides services to the clients. These services are managed over a network through a system of requests and responses. To search for a set of records, for instance, a client machine sends a query request to the server. Upon receiving the request, the server executes the query operation locally on the server machine and, when the query is completed, returns the result (the records found). 4D Server’s architecture is based on the client/server model. For many years now, client/server architecture has surpassed its older counterpart, file sharing architecture, to become the most efficient model in multi-user databases. 4D Server’s implementation of client/server architecture is similar to that used in the world of minicomputers. However, 4D Server offers two significant innovations:
Before the introduction of client/server architecture, multi-user systems used the file sharing model of network architecture. In this model, all users share the same data, but data management is not controlled by a central database engine. Each client machine must store a copy of the database structure and engine, while the server maintains only the software needed to share files on the network. Under the file sharing model, each workstation performs all data modification locally. This creates excessive network traffic as each request consists of numerous network passes. The following figure is an example of the traffic created over the network when a user searches the database for every person with the last name “Smith.” Another disadvantage of the file sharing model is the inability to use a memory cache to keep records in memory. If records were kept in memory, different users could have different versions of the same record stored in cache, leading to data inconsistency. As a result, each time a user accesses a record, it must be downloaded from the file server. This causes network traffic and increases the time necessary to access a record. In the minicomputer world, client/server architecture is widely used for large database systems because of its efficiency and speed. In this architecture, work is divided between the server machine and the clients to improve performance. The server contains the central database engine, which stores and manages the data. The database engine is the only software accessing the data stored on disk. When a client sends a request to the server, the server sends the result. The result can be anything from a specific record that the client will modify to a sorted list of records. In general, most client/server architectures are called heterogeneous architectures, because the front-end applications running on the client machines and the database engine running on the server machine are two different products. In this situation, a database driver is required to act as a translator between the clients and server. To search for a record, for example, a client sends a query request to the server. Since the database is stored on the server, the server executes the command locally on the server machine and sends the result to the client. The following figure shows the traffic created over the network when a user requests the server to search for every person with the last name “Smith” and then display the first record found. This example illustrates two important differences between file sharing architecture and client/server architecture:
In most client/server architectures, the client and server software consist of two separate products that require a communication layer to “speak” to one another. With 4D Server, the client/server architecture is fully integrated. 4D Server and 4D are two applications that share the same structure and communicate directly. Since 4D Server and 4D speak the same language, the query language does not need to be translated. The division of labor between the client and the server is transparent and is managed automatically by 4D Server. The division of labor is organized so that one request yields one response. As you can see in the diagram, the client is responsible for:
The server is responsible for the following:
This division of labor is extremely efficient because of the unique integration of 4D Server and 4D. The integration of 4D Server’s architecture is present at every level:
Since the window can display only twelve records and five fields at a time, 4D Server sends exactly twelve records. Instead of sending the entire set of records, 4D Server sends only the number of records and fields that can be displayed in the window. If the user were to scroll through the form, 4D Server would send the additional records or fields as needed. This optimization reduces network traffic by ensuring that records and fields are sent over the network only when necessary. |
PROPERTIES
Product: 4D ARTICLE USAGE
4D Server Reference ( 4D v13) |