|
Depending on the client/server framework two main types of basic database management system architectures were created namely, the two-tier and three tier Architectures.
Two-tier client/server architecture for database management system
The client/server architecture is increasingly being incorporated into commercial database management system packages. In relational database management system (RDBMS), many of which began from being centralized systems, the system components that were first moved to the client side were the user interface and application supporting programs. Because SQL provided a standard language for RDBMS, this created a logical dividing point between client and server. Hence, the query and transaction functionality remained for the server side. In such architecture, the server is often called a query server or transaction server, because it provides these two functionalities. In RDBMS the server is often called a Structured Query Language server, since most RDBMS servers are based on the SQL language and standard.
In such client/server architecture, the user interface program and application supporting programs can run on the client side. When database management system access is required, the program connects to the database management system; once connected, the client program can communicate with the database management system. A standard called Open Database Connection (ODBC) provides an application programming interface (API), which allows client-side program to call the database management system, as long as both client and server machines have the necessary software installed. Most database management system vendors provide ODBC drivers for their systems. Hence, a client program can actually connect to several RDBMSs and send query and transaction requests using the ODBC API, which are then processed at the server sites. Any query results are sent back to the client program, which can process or display the results as needed. A related standard for the java programming language, called JDBC, has also been defined. This allows java client programs to access the database management system through standard interface.
The second approach to client/server architecture was taken by some object oriented database management systems. This approach was to divide the software modules of the database management system between client and server in a more integrated way. For Eg. the server level may include the part of the database management system software responsible for handling data storage on disk pages, local concurrency control and recovery, buffering and caching of disk pages, and other such functions.
Meanwhile the client level may handle the user interface; data dictionary functions; database management system interactions with programming language compilers; and other such functions. In this approach the client /server interaction is more tightly coupled and is done internally by the database management system modules- some of which reside on the client and some for the server- rather than by the users.
The architectures described here are called two tier architectures because the software components are distributed over two systems- client and server. The advantages of this architecture are its simplicity and seamless compatibility with existing systems. The emergence of the World Wide Web changed the role of clients and servers, leading to the three tier architecture.
Three tier client/server architecture for database management system
Many web applications use an architecture called the three tier architecture, which adds another layer in between the client and the database server. This intermediate layer or middle tier is sometimes called the application server and sometimes the web server, as per the application. This server plays an intermediary role by storing business rules that are used to access data from the database management system server. The intermediate server takes from the client, processes the requests and sends database commands to the database server, and then acts as a conduit for passing processed data from the database server to the clients, where it may be processed further and filtered to be presented to users in Graphical User Interface format. Thus, the User Interface, application rules, and data access act as the three tiers.
Advances in encryption and decryption technology make it safer to transfer sensitive data from server to client in encrypted form, where it will be decrypted. The latter can be done by hardware or by advanced software. This technology gives much higher levels of data security.
|