[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
|