What is XML?
The Extensible Markup Language is the universal format for structured documents and data on the Web.

What is DOM?
The Document Object Model is the standard API to address XML documents.

What is DBDOM?
DBDOM is an implementation of DOM in SQL, on a relational database platform.
DBDOM turns an RDBMS into an XML application server.

What is the difference between DBDOM and Sun's, Microsoft's, IBM's or any number of Open Source implementations of DOM?
Standard DOM implementations keep DOM trees in RAM and use text files for persistent storage. DBDOM uses an RDBMS for both.

What's wrong with text files?
There's nothing wrong with flat files, as long as they are small and infrequently updated by a small number of users.

Why would you use an RDBMS instead of a (text) XML file?
There are five major problems with flat files, one of which is solved brilliantly by XML, and four by RDBMSs.
With XML, there's no need to invent a file format for each application, and no need to write a parser for this format. The four other problems are:

  1. Size/cache. As the size of the document (or the number of related documents) increases, you must implement some sort of cache, because you won't be able to keep large DOM trees in RAM and your users won't wait for a SAX parser to read the file from BOF to EOF each time. Fragmentation could be an alternative to caching, but here too, much custom code needs to be written that would keep these fragments in order.
  2. Concurrent access. If you have more than one user making changes to your document(s), some mechanism (software or convention) must exist that would ensure that only one user makes changes to the document at any given moment.
  3. Transactional integrity. In a networked environment, you need to ensure that any request is either processed fully, or not at all, i.e. you must be able to roll back a transaction.
  4. Security and administration. An administrator's control over who can read, write and update what parts of an XML document are very limited.
DBDOM brings together the best of the two worlds.

Don't Oracle, Microsoft and IBM already support XML in their database products?
Oracle 8i, MS SQL-Server, IBM DB2 and other products have XML support built into them. Most of the recent offerings can output XML, but cannot read XML.

How does DBDOM work?
DBDOM defines a fixed database schema with a predefined set of tables that represent XML structures and stored procedures that represent methods defined in the DOM API.
DBDOM stored procedures can be accessed directly through a connection to the database, but to simplify things, we added a package of Java adapters that implements org.w3c.dom.
This package encapsulates JDBC and takes care of all SQL interaction with the database.

But isn't this terribly slow?
No, it isn't. Because the schema is fixed and known in advance (we developed it!), we can employ clever indexing and other optimization techniques.

On what platforms will DBDOM run?
DBDOM will run on top of any RDBMS that supports stored procedures. Initilally, we will release versions for PostgreSQL.
Oralce, DB2 and MS SQL-Srever are next.
DBDOM will run on any OS that supports Java.

What is the status of DBDOM development?
An alpha has been released. For more detalis, see the development site at SourceForge.

How can I get more info?
Send mail to Ari Krupnikov.

© 2000 ITER