Illustra's Web DataBlade Module

Illustra's Web DataBlade module is a comprehensive toolset for creating Web-enabled database applications that dynamically retrieve and update Illustra database content. You can construct simple query front ends in a matter of minutes and powerful Web applications in just a f ew hours with the Web DataBlade module. The Illustra Web DataBlade makes it easy for you to take full advantage of the Illustra sera,er's many important features, including extensible data types, an underlying rules system, and Time Travel capabilities, all o f which make Illustra the database of choice for managing all types o f content on the Worm Wide Web. The Evolution of Content Management in Cyberspace Over the past few years, with the introduction of the HTTP protocol and HTML technology, a paradigm shift has begun to revolutionize the way information is conveyed. Initially developed for ad hoc information access to the military and universities via the Internet, the Web has evolved from a collection of simple text files to a wide variety of interactive multimedia applications that support dynamic content management. This shift offers a number of benefits, from reduced costs for publishing information to the ability to collect customer feedback through intelligent Web applications. SIGMOD Record, Vol. 25, No. 1, March 1996 105 Most first generation Web applications were simply a collection of HTML documents connected by hyperlinks. But as the requirement to access new and varied types of information grew, so did the complexity of HTML documents. Developers soon recognized the need to dynamically generate some portion of the HTML content. The Common Gateway Interface (CGI) was adopted for this purpose. With CGI, programmers build applications that generate static HTML and then access a data source to retrieve content to build the dynamic portion of the Application Page. This second generation approach requires that programmers develop proprietary CGI applications, usually in C or perl. Second generation applications have a number of inherent problems: • These applications do not handle rich data types well, or readily accept the introduction of new data types, such as HTML documents, PDF. VRLM, JPEG, and GIF, or audio. Typically, rich types are managed as BLOBs (binary large objects), which need to be loaded into proprietary client applications to be processed. This is an inefficient process that exacts a high overhead. • These applications do not provide any built-in mechanism for sophisticated analysis of the Web server log. This means, for example, that you cannot easily find out what types of information visitors to your Web site are retrieving, or how often visitors are logging in to the site. Instead, you are required to write your own analysis tools, or buy a third party product. • Integrating the database server and Web server poses a formidable challenge. Creating proprietary CGI applications is time-consuming. Typically, such home-grown applications do not take advantage of the latest developments in Web server technology, or manage the database-Web server interface well. The Solution the Illustra ORDBMS and the Web DataBlade Module Illustra solves all of these problems with the core Illustra ORDBMS and the Web DataBlade module. You can easily construct interactive, intelligent Web sites and other Web-enabled applications with Illustra s ORDBMS and Web DataBlade module. For example, through a catalog application customers choose from product categories CDs, videos, electronic merchandise, and so forth. Each product listed in a category has a detailed description page that includes still images, video, and sound. Users can view categories of products, search for specific products, or insert new products into the database, tailoring catalogs to a specific vertical interest. At the same time, with the Illustra ORDBMS, a Web site administrator can analyze usage patterns and derive other important information about an application. Illustra's Extensible Data Types for all Your Web Content Today, Web applications need to manage and support rich data types such as images, graphics, formatted text, and audio samples. The Illustra object-relational DBMS, is the database of choice for managing the sophisticated content utilized by today's multimedia Web-enabled database applications. With the Illustra ORDBMS you are not restricted to the handful of data types found in ordinary database systems. Instead, you can define your own data types, or use additional data types and access methods provided through other Illustra DataBlade modules. Creating Intelligent Home Pages Instead of merely acting as a passive data repository, the Illustra ORDBMS is also an active, intelligent sy3tem capable of notification and analysis. This is accomplished through Illustra's rules system, programmed in easy to maintain industry-standard SQL. 106 SIGMOD Record, Vol. 25, No. 1, March 1996 Illustra's rules system makes click stream analysis possible so that you can understand exactly who your customers are and how they view your application. Click stream analysis means that you can track where and how often a user clicks on a particular application area. With the feedback gathered through click stream analysis, you can build a business model around the usage of an application. You can, for example, give popular products more prominence in your application, or redesign an infrequently visited portion of your application. Rules also enable specified events to trigger notification messages. These events can include inventory running low or a new order being placed. Notification provides useful feedback in many application areas. Managing Your Web Site Over Time Illustra supports the creation of multiple versions of an object and its components through a unique feature called Time Travel. Time Travel can be used to build novel applications (such as the Graffiti Wall on Illustra's Web site), without the overhead of writing sophisticated application code. In Illustra, with archiving enabled, changes to an object do not destroy the old version of the object. Instead, new information is written and old information is archived. This old information is available online until the database administrator explicitly removes it. While the archive information is online, an application can ask for a query to be answered "as of ' a certain time. This makes it possible for corporate home page administrators to maintain older versions of Application Pages and content without having to program in any special application logic. For application developers, this feature provides the benefits of version control by enabling developers to easily retrieve past versions of Application Pages. For users, Time Travel can provide quick access to information such as last week's prices in an inventory list, or last month's front page story from a news service. l l lustra Web DataBlade Module Overview By reducing development and maintenance time, the Illustra Web DataBlade module frees you to focus on attracting new customers to your business. In standard Web database applications, most of the logic is in the CGI application, typically written in perl, Tcl, or C. Generally, this CGI application connects to a database, builds and executes SQL statements, and formats results. By providing complete integration between the Web server and the database, the Web DataBlade module eliminates the need to develop a proprietary CGI application to dynamically access database content. Application Pages Simplify Development Effort With the Web DataBlade module, instead of programming complex CGI code, you create Application Pages by using Web DataBlade tags. This enables you to write your own SQL statements directly in the HTML document, thus avoiding CGI scripting. Application Pages are stored in the database. When they are retrieved, the SQL statements are executed and the results are dynamically formatted. Because they are stored in the Illustra database, you can manage Application Pages over time, retrieving past versions, if desired. This method of Web-based application development provides an industry-compliant approach, that embeds the action language SIGMOD Record, Vol. 25, No. 1, March 1996 107 directly in the HTML document. Thus, you can extend application pages by programming with other action language tags, for example, by calling a Java applet. Web DataBlade tags provide a rich framework with which to manage SQL statements, format specifications for data retrieval, manage variables, implement error handling, and call system commands. Architecture of the Web DataBiade Module The Web DataBlade module consists of two core pieces: the WebExplode function, and Webdriver, Illustra's CGI driver: • WebExplode parses the Application Page. The Application Page is stored in the database. When WebExplode finds Web DataBlade tags, it issues SQL statements and formats the results based on your formatting instructions. • Webdriver handles all aspects of database interface and enables you to customize Web applications based on information obtained from a configuration file, the CGI environment, URLs, and HTML forms. Webdriver manages the database connection and retrieval of the Application Page from the database. Webdriver's Application Page Builder, Figure 1, with its convenient graphical interface, is a Web DataBlade application that you can use to create, edit, delete, and execute HTML pages in Web applications. 108 SIGMOD Record, Vol. 25, No. 1, March 1996 ----[-v : N e t s c a p e : A p p l i c a t i o n Page B u i l d e r [ ] | ] I! :. ;:,11 , . 11 & 11,2. II II II II I Ill I Go To : I http ://Uosemite :8786/cgi/Vebtools I Iwhat's New? I I~at's Coo17 II Handbook II Net Search liNer Drecto~ull Nevsgroups I Development Table: [ mb_~es v I