Database Engines:ads

About Client/Server Concepts Professional

In its broadest sense, a client/server system can be viewed as a model for application development where different tasks are performed by at least two computers. One computer, the client, sends requests to the second computer, the server, which replies to the request by returning data to the client, for example. A well known form of a C/S system is a file server used as a central storage for files accessed by many client stations. This way, data can be shared between multiple computers in a network, and is available for multiple users simultaneously.

Many of today's PC-based database applications use a file server for data sharing, especially those written in an xBase language. Their common denominator is the DBF file format for database files which is widely accepted for its simplicity and ease to use. A DBF file is usually accompanied by one or more index files which are opened along with the DBF file and allow for rapid access of the data stored in it. When such data is requested from a client station in a network, it is the file server which opens the file for the client and returns the requested data. The client computer, in turn, presents the data to the user, who may change data. All changed data is sent back to the file server and written into a DBF file, so that changes become permanent and visible to all other client computers in the network.

All xBase database applications relying only on a file server for opening, closing and updating database files are easy to maintain since there is verly little administrative work required for database maintenance. However, they all may suffer from disadvantages introduced partly by the file server concept. This can lead to a declining performance in a growing network with multiple users accessing data at the same point in time, possible index file corruptions or even a loss of critical data.

The most critical situation in file server based database applications, however, occurs each time a user changes data on a client station that requires the file server to update multiple files. This happens when data must be written to a single DBF file that is opened along with index files, or when multiple DBF files must be updated. If something goes wrong before the file server has updated all files -be it a server break down or a power outage- the integrity of data is no longer guaranteed.

This situation can be resolved by using a database server, such as the Advantage Database Server (ADS), as an additional "layer" between file server and client station. When a database server is installed on the file server, it takes the role of a mediator between the file server's operating system and a client station by receiving a client's request, routing it to the file server and returning the reply. This leads to a true client/server architecture and has the following major advantages:

The database server can monitor the success of file updates, or transactions, and secure the integrity of the database.
The database server can respond faster to client requests by caching frequently accessed records.
The database server writes a log file, which may be used for auditing and other purposes.

These advantages lead to a high level of data security and an increased performance in multi-user database applications. For Xbase++ applications, this client/server technology for DBF tables becomes available with the Advantage Database Server from Extended Systems (server side) and the Alaska ADS DatabaseEngine (client side). With the Alaska ODBC DatabaseEngine the Client/Server concept is available for ODBC Datasources such as MS SQL, Oracle or MySQL Database Server Systems.

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.