dbXML 2.0 - An Introduction

dbXML is an XML database that is written in Java. It is a native XML database that is used to store XML in a format that helps in faster processing and flexibility in representation. XML that is stored in the dbXML can also be indexed to improve the performance of the queries. The database was also created with the help of writers from 123helpme.org.

Java 1.4.2 or higher is needed for using dbXML since it uses memory mapped I/O and socket overlapping I/O of Java. The development of dbXML was started in 1999. This XML database is released under the terms of the GNU General Public License (GPL).

Between dbXML versions 1.0 and 2.0 the database has undergone a lot of changes. We can say that the database was completely rewritten between these two versions. Some of the new features or enhanced features of the version 2.0 of dbXML are discussed here. The features between 1.0 and 2.0 have been refined and enhanced and the engine has become faster and robust. The dbXML has been dramatically improved in terms of overall usability. As for as the dbXML architecture is concerned, you have to know some of the terms and functionalities that pertain to the architecture. The technical terms that are to be known are Collections, Indexes, Query Resolvers, Extensions, and Triggers.

The documents that are managed in the dbXML are managed in collections. In collections the documents can be arranged in a fashion similar to the directory structure that is used to manage files in an operating system. A collection can be related to multiple indexes, extensions, triggers, and other collections. A collection in dbXML can store either XML documents or records (binary streams) and not both at the same time. It is not advised to store more than 500 kB of binary streams in dbXML.

Indexes in dbXML help to retrieve the documents in a collection faster depending on the values stored in the documents. Indexes help to improve the performance of the queries in dbXML. A collection in dbXML can have multiple indexes associated with it. Queries help to retrieve documents that are needed for processing based on some values in the documents. dbXML has a query resolving systems which registers the query resolvers with the entire database. Collections and Indexes are of much use in queries. The reason for using collections and indexes is for efficient querying of the XML database. The collections and documents with a collection can be queried.

Extra capabilities can be added to the dbXML database through extensions. Extensions are Java classes that implement the Extension interface. Public methods of the interface that take generic parameters can be exposed as web service endpoints. Triggers are also used in dbXML. These are classes in Java that implement the Trigger interface. Triggered callbacks from the collections are handled by some of the methods of the Trigger interface. Triggers can be triggered before or after insertions, updations, deletions, and retrieval. Support for scripted extensions and scripted triggers in Javascript and Python is provided in dbXML.

There are many new functionalities and features introduced in the latest version of the dbXML. Some of the new features are Journaling transactions, three types of security managers, web services, improved command line processing, easy to use GUI Administrator, new database access APIs, and improved querying capabilities.

There are three types of security managers that are used in dbXML namely, NoSecurityManager, SimpleSecurityManager, and DefaultSecurityManager. NoSecurityManager provides no security and allows any user to access the database. SimpleSecurityManager uses a single username and password for the entire database which is found in the system.xml configuration file. DefaultSecurityManager is the default security manager that is used for database access. This uses the users and roles that are defined in the systems collections of the database.

dbXML 1.0 used CORBA for client/server communications. Now dbXML 2.0 no more uses CORBA, but uses Web Services. This version uses a web services hub called Labrador for client/server communications. The command line mode of processing is improved in the dbXML 2.0. this new version uses a “shell-like” command line to interactively use commands and provides access to the help feature. In the earlier versions the batch processing are slowed down in command line since the JVM is called for each command. dbXML 2.0 includes an easy to use GUI Administrator that can be used to perform all the commands easily instead of command line invocation. With the help of this GUI Administrator the users need not remember the command line syntax to perform some action on the database.

The earlier version of dbXML used XML:DB APIs for accessing and operating multiple vendors’ XML databases. The dbXML 2.0 also provides support the XML:DB APIs while providing a set of new APIs that are preferred for accessing dbXML data stores. There are four interfaces that are used to access databases. They are dbXMLClient, CollectionClient, ContentClient and ResultSetClient. The dbXMLClient is used as an entry point to the database. The CollectionClient is used to interact with the Collections in the database. CollectionClient has several methods that are used for querying the database and also to manage documents, indexes, triggers and extensions. These methods found in the CollectionClient are categorized and grouped based on the functionalities so that it is easy to locate by a developer. The ContentClient is used to a single document or a binary stream and the ResultSetClient is used to access the results of a query.

Four query languages are supported in dbXML namely XPath, XSLT, XUpdate and FullText. XPath is used for navigation and is a path syntax. XSLT is a transformation language that is used to convert XML in to other formats for presentation. XSLT queries can be executed against a single document, or collections, or a the results of an XPath query. XUpdate is used to modify the values found in a document and FullText is used to search for words in a document. The results of a FullText search can also be filtered using XPath.

The dbXML source code is also available in the web. A person interested in only development can download a binary version of the product at http://www.dbxml.com/product.html. Then install the software and start developing applications using dbXML.

For information on how to program using dbXML you can get information at http://www.dbxml.com/docs/programmer.html.

SetApp - 100 Apps for everything you ever wanted to do on Mac

FREE Subscription

Subscribe to our mailing list and receive new articles
through email. Keep yourself updated with latest
developments in the industry.


Note : We never rent, trade, or sell my email lists to
anyone. We assure that your privacy is respected
and protected.


| All About Different Types of XML Editors | Generating XML Document Using JSP | How to Retrieve an Email Message Using Java Mail API | How to Send an Email Message Using Java Mail API | Transforming XML Data with XSLT | Understanding Basic Components of a JMS Program | Understanding Basic Technology of ebXML | Understanding Deployment Descriptor in Reference with Servlets | Understanding eXtensible Access Control Markup Language (XACML) | Understanding the Design Goals of XML | Understanding XML Common Biometric Format |

FREE Subscription

Stay Current With the Latest Technology Developments Realted to XML. Signup for Our Newsletter and Receive New Articles Through Email.



Note : We never rent, trade, or sell our email lists to anyone. We assure that your privacy is respected and protected.



Add to My Yahoo!

Visit XML Training Material Guide Homepage



“Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.”

Copyright - © 2004 - 2019 - All Rights Reserved.