[ Back to Index of Web Works ] part of George's Web Site

Related Web Works


       [Web Review C[Wiley: When it comes to JAVA, Anuff is enough!]

[Web Techniques]

[Object Databases on the Web]

by Jay Mellman From a database point of view, jaym@versant.com early Web sites simply used a flat-file approach to data This article is storage. That is, all of the excerpted from Web information required to process Techniques, Miller requests was stored in the native Freeman's monthly file system with the Web server as print magazine for the query processor. However, the Web developers. availability of the CGI provided access to any program or data storage networked to the Web server. Now, the opportunity to bring powerful database technology to bear has become irresistible: Every system in an enterprise can be exposed to the Web for browser access, and every database vendor is pushing its technology as a core engine to deliver complex multimedia content and advanced transactions. Search the Web In fact, the Web of the future, Review Library whether within or across enterprises, will likely be Concept characterized by distributed, Keywords realtime transactions across multiple organizations, complex multimedia manipulation and delivery, live auctioning, and brokering for products and services. All of this will be accompanied by metadata management of the type that Neilsen and IRI routinely provide to television advertisers and supermarket chains, respectively. Even today, organizations are beginning to ask the nascent questions driving in this direction:

Check out all Web * How do we effectively vend, Review's back manage, account and bill for issues in the Web multimedia content? Review Library * How should we track the user activity on our site, [Web Review Library] especially as advertisers demand information beyond Simple or complex? simple URLs? Tell us about your * How do we manage multiple database versions of Web pages as experiences. sites evolve and change? * How do we avoid using network [Web Board] bandwidth for nonessential activity? * What sorts of commercial First time users transactions can we use to need to make up a reduce transaction costs and name and password. provide greater organizational flexibility?

These are very real questions, especially as organizations require investments in the Web to provide more tangible and measurable benefits. And as we deploy more powerful Web sites and Web-based applications, databases are an obvious enabling technology for building and managing these sites. This article points out appropriate places for databases, primarily those of an object nature.

[Object versus Relational] First and foremost, object and relational databases are different beasts. Relational databases (RDBs), first designed in the early 1970s, were originally meant to provide an incredible amount of flexibility in the way simple data is processed and made available to users. Object databases (ODBs), first designed in the 1980s, were meant to handle the complexity of data and relationships required by the object model of development. Object databases initially took hold as repositories for CASE and CAD applications. Today, they are widely used in network-management systems across industries, in publishing systems, in advanced financial systems, and in other application areas not well served by relational-database technology.

RDBs and ODBs are truly complementary technologies: If an application has relatively simple data, simple data relationships, and a static schema, a relational database engine is usually a good choice; if an application has relatively complex, interrelated data, or if the database schema may evolve rapidly over time, an object database is a more likely fit.

"ODBs become a Obviously, many shades of gray reasonable choice affect these positions. For as problem example, relational databases are complexity being given object front ends and increases." being extended to handle complex data types, while object databases are providing standard ODBC interfaces to access stored objects. In addition, ODBs tend to be more intimately tied to a given application, given their direct linkage to the object programs. Rather than fight a religious battle, this article points out the various places on the Web where a pure object database can add significant value.

[Content Management and Object Databases]

It's natural to place an object database with complex types of information. For example, it would be difficult to store a Java applet in a relational database and maintain information about ownership, rental charges, and usage histories, but this is tailor-made for an object-database engine. Whether the information is complex video information (see http://www.eds.com/mediavault/), complex graphical and spatial layouts (www.objectfx.com), or even time-series data, an object database handles the complexity of the data types natively and with extremely high performance. Object databases are also used as content-delivery repositories for HTML (SGML) publishing systems (www.passage.com). The object database provides a set of valuable data-management functions, including versioning, distribution, and high-performance access. There is no mapping of object data to a relational engine. Thus, by eliminating the need to "join" data in order to deliver information from the RDBMS to the browser, the ODBMS can operate significantly faster on complex types of data.

This does not preclude the use of relational databases to vend important data. The natural move to increase the value of Web interaction for users is to expose existing systems for Web access. Within an intranet, this may be form-based access to 401k information; on the Internet, this ranges from subscribing to mailing lists, to ordering clothing from a retailer, to vending content stored in a relational database based on a user login. In general, each access from a browser will require a separate access back to the database. Resource-wise, this can be very expensive, as each CGI request spawns a process of its own on top of the specific database access. In a Web environment with hundreds of simultaneous requests, this makes for large machine requirements. Moreover, the lack of intelligent caching within the browser limits the potential functionality. In this mode, it makes sense to use a three-tier architecture, where the object server provides an intermediate repository for existing systems.

This type of architecture helps the Web browser handle more-complex interactions. Take, for example, a system that allows users to evaluate their financial portfolio and perform "what-if" scenarios on the information before executing any changes. The object database, caching the information from the relational database provides a fast programmatic access for the Web browser. But wait, you say: If I build this application using Java, I can use the memory space provided by Java to cache this information. True, but the object database stores all the analyses made over time persistently-users pick up where they left off the last time. Furthermore, if these "what-if" analyses are stored persistently on a central object server (rather than on the browser system), the application can update the information transparently. This functionality is much more difficult to build without the object database.

[Object Databases in the Infrastructure]

So far, I've discussed object databases only as content vendors, but they are also critical in providing an infrastructure to increase the value of the Web as a computing and operational platform. The simplest example of this is to use an object database as a proxy engine. For example, Netscape currently sells a file-system-based Proxy Server that caches frequently accessed information, eliminating the need to go across the network to get the information every time it's requested. An object database can easily provide the same functionality as the file system, but can likely perform at significantly higher levels, due to its innate caching capability. Moreover, management of these proxies can be simplified by using the standard management routines of the ODBMS rather than running against the file system directly.

The next area where object databases have a critical role is in managing the actual interactions and transactions that occur within a given session executed by a user. Even today, the user login is barely adequate. The goal is to know everything possible about a given user based on access patterns and demographics. Knowing about users' preferences from their actual contacts within a site (or group of sites) can have tremendous bearing on what information or advertising they are shown. Take a sophisticated Web-site construction tool like Dynamo2, from the Art Technology Group. Using Dynamo, developers can capture the actual contacts by a user and "narrowcast" information directly to that user on the fly. Because of the performance of the underlying object database and its ability to directly store the memory-resident information about the complex interactions within a site for later usage, Dynamo can provide specific, departmental information only to those with proper access, deliver account information to a user, or evaluate the appropriateness of advertising based on that user's profile. Session and profile management are becoming increasingly important both as companies try to provide the exact information required by their clients and as advertisers move to the Web in force.

By far the most important area for an object database is as a server for Java. The combination of Java, a CORBA-compliant Object Request Broker (ORB), and a powerful object database (like Versant) creates a potent application server that extends the capabilities of the Web and the Intranet beyond publishing and into the realm of electronic commerce, based on distributed transactioning.

The Web server does not go away, but there is a combination of access between the HTTP/HTML processing of the Web server and the Java IDL/Object processing of the Java server. The object database, as a repository for the ORB, not only provides extremely fast caching to handle requests from clients, but it can supplement the distribution capability provided by the ORB. Thus, where an object database fits the application requirements, the ORB provides a transparent and consistent interface to that application for standard browser access by users.

An excellent example of this architecture is provided by a large commercial banking institution: To support its distributed commercial operations, the bank wants to deploy Java servers that will vend the latest releases of applets to each customer-service representative regardless of location. The applets themselves can make requests of the ORB/ODBMS combination, which in turn gathers the appropriate information from the rest of the organization. For instance, the Java applet will provide the graphical representation of a given customer's holdings as the customer and the service rep are speaking. The rep can then request a variety of information held in standard systems to provide the latest alternatives for the customer. Standard, HTML-based information will continue to be vended by a Web server. This architecture will allow the bank to deploy extremely low-cost browsers, manage software distribution and licensing more centrally, and consistently increase the productivity and service levels of its entire organization.

[All Databases are Critical] Databases of all types are critical to Internet computing. Since much existing corporate data is already stored within relational databases, they have an important role in providing content for Web-based applications and sites. However, object databases are highly appropriate and can supplement the computing infrastructure. In fact, since the Web is nothing if not dynamic, filled with complex relationships and multimedia content, and open from anywhere, an object database can easily provide a flexible front end for the enterprise.

Simple or complex? ----------------------------------- Tell us about your Jay is director of product database marketing at Versant Object experiences. Technology. He has written about object technology, object request [Web Board] brokers, development approaches and object databases. ----------------------------------- Web Techniques Magazine

[Web Review Contents]

----------------------------------------------------------------- Web Review copyright ® 1996 Songline Studios, Inc. Web Techniques and Web Design and Development copyright ® 1996 Miller Freeman, Inc. ALL RIGHTS RESERVED


[ Back to Index of Web Works | Top ]