New Architectures for Database Backed Web Applications

Poster/Demonstration at the WebNet98

Karl M. Göschka, Jürgen Falb
Vienna University of Technology
Institute of Computer Technology
Gusshausstrasse 27-29/384
A-1040 Vienna, AUSTRIA
+431-58801-3823/3822
July 22, 1998


Abstract

Information processing is the key issue of the 20th Century. Databases are designed to store information and the World Wide Web has turned out to be the place for the gathering and distribution of information. Some scientists even consider the Web itself to be a huge world-wide distributed database. While these two seem to be made for each other, there are inherent difficulties in linking them together due to quite different technologies. Nevertheless, good Web sites are database backed Web sites -- it turned out that most real-life Web applications need an underlying database to be stable, flexible and scalable. Appropriate design methodologies are hence needed to implement complex functionality. Moreover, there are already many databases and legacy systems in existence which people want to connect to the Web with similar functionality as in classic implementations. Most of them rely on the proven technology of relational databases or on their object relational successors.

Consequently we present a new design methodology for the integration of relational databases and the Web. The finite state machine model well known from static hypertext documents is remodelled to be suitable for dynamically generated hypertext. Groups of links are mainly used instead of forms to interact with the database. The key idea is to use an object-based client-server model to design the user interface layout, the middleware functionality and the database transactions in a homogenous way. Thereafter, the actual implementation of such a system is composed of several parts with potentially different techniques. For example, either a pure HTML interface with full functionality on the server side or a Java applet with greater functionality on the client side. A toolset has been implemented to automatically generate the different applications from a design language. The toolset itself is a Web application fostering unlimited Web collaboration. Using this technique, complete multi-lingual information systems can be built. The design methodology further guarantees stable and robust applications with sophisticated user interactions, compatibility with almost any browser and flexible layout design separated from the application functionality.

The usability of Java is shortly compared with the pure HTML approach, investigating different client-server tradeoffs and persistence frameworks. Object oriented design and implementation has some drawbacks with typical information systems. It is, however, shown how Java can supplement the HTML approach but not supplant it.

In addition to the differences in design and implementation, relational databases and the Web also differ considerably in the ways they can be searched. Universal relations and natural language interfaces known from database theory are combined with keyword searches known from the Web to define a metadata model for searching a database backed Web application. The key idea here is the separation of structural and contextual meaning of words. Based on this idea, generic interfaces for both Intelligent Software Agents and robots from search engines have been implemented.

Evaluation of the proposed methods has been carried out with two real-life applications implemented successfully with both pure HTML and Java: A Europe--wide product marketing system for rural areas funded by the European Commission and an interactive course for database design at the Vienna University of Technology following open and distance learning concepts. Both implementations can be demonstrated on a laptop computer during the conference. A quantitative analysis of these applications helps to decide between pure HTML and Java: For less than 200-300 user interactions pure HTML typically outperforms Java in terms of network traffic. A qualitative analysis of these two applications resulted in the first users' feedback being encouragingly positive. The techniques concisely presented on a poster will help to continue to produce such positive results and to make the design of database backed Web applications faster, easier and less prone to error.