Release Technology of Web Database
9.8 Release Technology of Web Database
The integration of Web technology and database technology introduce database access system of thin client into common application, and users can access various database systems on different platforms by using common Web explorer. The technology avoids work in the client side in developing database system, and makes the whole development work in the server end, which improves system’s maintainability and also improves data real-time and dynamic release capability of database at the same time.
The release of database is just to provide database information for users to access. Since database technology emerged in 1970’s, there have been three kinds of methods to release database according to architecture. The first one is the early decentralized distributing, whose characteristics is that when share database information, multi-copy of library is needed; the second one is centralized release, whose characteristic is that the database is on the file server and other workstations access the sharing library through share drivers; The third one — distributed release —came up after the appearance of Client/Server computing mode. The client server accesses database information in the server through interaction with back-end database engine with some protocols. The distributed release method is the most interesting one for people in WWW environment. So, this section focuses on this method.
Currently, there are two types of distributed release: One is based on CGI release technology. Its advantage is simple and the communication protocol between client and server is the standard HTTP. However, its efficiency is low and it wastes network bandwidth easily; the other one is based on Java release technology, such as MsqlJava and WebLogic dbKona/T3. In this method, the access of database has high efficiency and quick response.
Comparing to the second release method, the main reason of low efficiency of the first one is the separation of HTTPD (HTTP Daemon) and database engine, which causes more transfer times of datagram. Actually, along with the development of WWW and the rise of Intranet, the release of database has closer and closer relation with Web server—HTTPD. Therefore, HTTPD is needed to
be integrated with database function, then, HTTPD is integrated with a light weight database engine —MiniSQLServer. Meanwhile, the release mode also extends request method of HTTP/1.0 protocol to support access to database. Accordingly, Plug-in is provided in the explorer as access front end. Thus, the release mode introduced in this section integrates advantages of structures based on Java and based on CGI.
9 Portal Site Design of Virtual Enterprise
Some modes supporting release of database are as follows: (1) Release mode based on CGI
This is the most popular release mode, such as search engines of Yahoo, Infoseek and Excite. In this mode, interface of database access is typically embedded in the HTML page as FORM (as shown in Fig. 9.6). The whole interaction process between explorer and back-end is as follows: the explorer sends database request of client as FORM parameter to HTTPD, and HTTD invokes corresponding CGI program with received parameter, and the CGI program requests to database to get query result, and then returns results to the explorer step by step. There are many transfers of datagram in the communication, thus its efficiency is low.
Figure 9.6 Database release model based on CGI
(2) Release mode based on Java As shown in Fig. 9.7, this mode uses JavaApplet (downloaded from the server)
as the access front-end; it directly interacts with database server on server end, or through a middleware on the server and transmits database-accessing request from the front-end (the former is displayed in Fig. 9.7). The transmission times of datagram (especially datagram appended database information) is obviously reduced, and Java Applet can avoid the unnecessary interaction with the server, thus the efficiency is improved. The mode in which HTTPD is integrated with database engine is used to reduce the transmit times of datagram, thus the efficiency is improved.
Figure 9.7 Release model based on Java
(3) Plug-in release mode The concept of Plug-in was first introduced by Netscape to extend explorer’s
function. Because it is dynamically loaded module coded with Plug-in API provided by explorer manufacturers, it can be seamlessly integrated with explorer. Currently, popular explorer manufacturers such as Netscape and Microsoft all
Introduction to E-commerce
provide Plug-in API for their products. Multimedia can be played with Plug-in, such as Live 3D, Macromedia Shockwave, Adobe Acrobat and so on; Plug-in also can be used as utility tools such as object embed, compression and decompression; in addition, it can be used to develop applications such as personal information management and games.
Each Plug-in corresponds to one or more kinds of MIME types. If a Plug-in has been registered in the explorer, it will be automatically invoked to process when the explorer comes across files or data of its corresponding MIME type.
(4) MIME (Multi-purpose Internet Mail Extension) To provide open and extensible data type, Internet Mail (RFC 822) has been
expended to MIME. Each type of MIME corresponds to a string of characters, such as “application/x-cgi, text/plain” and so on. On Internet, the sender of data gram sets its MIME type according to the carried information and the receiver will process it according to its MIME type. Some valid MIME types are registered by IANA (Internet Assigned Number Authority). Clients and servers can directly communicate with each other under HTTP, so applications can freely use un-registered types, as long as both sides can identify the type.
(5) Database release model based on extended HTTP
A database plug-in is developed as access front-end of database with Netscape Plug-in API in the explorer side. The un-registered MIME type corresponding to the plug-in is defined as database/x-SQL, and the corresponding suffix is “db”. Therefore, whenever the explorer meets data whose MIME type is database/x-SQL, database plug-in is invoked to process it. Extended HTTP is adopted in the communication between the plug-in and HTTPD. A method “DATABASE” is added to method set of HTTP1.0 to permit HTTPD to complete its query, and the corresponding request/response data gram is defined however the statelessness of HTTP is preserved. Several modules can be assorted according to the difference between HTTP request methods on the server side (as shown in Fig. 9.8). After receiving the request data gram, HTTPD invokes the handling module according
Figure 9.8 Release model based on extended HTTP
9 Portal Site Design of Virtual Enterprise
to the requested method. For the sake of security, the database engine only provides query function but no adding, deleting and update functions. In addition, if the server sends the queried results to the front-end at one time, the response time will become longer when the data is large. Moreover, because generally the client wants to query a certain subset of the result set, it will cause unnecessary waste. Therefore, it is regulated that only fixed number of records is returned each time. Owing to the stateless protocol, buffer strategy and history management is created on the client end to improve efficiency and performance of the release mode. Every time users explore forward or backward, they do not have to interact with the server end that will cause performance damage.