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.
_______________________________________________
_______________________________________________
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.
_______________________________________________
_______________________________________________
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.
_______________________________________
Recommended
XML Books
|
|