XML Database Products:

Discontinued Products

Copyright 2000-2004 by Ronald Bourret

2.8 Discontinued Products

Product Category Developer License DB Type
Beanstalk Middleware Beanstalk Corp. Commercial Relational
Centor Interaction Server Centor Software Corp. Commercial Proprietary
Coherity XML Database Native XML Databases Coherity Commercial Proprietary
DatabaseDom Middleware IBM Evaluation only Relational
DataCraft Middleware IBM Evaluation only DB2, Microsoft Access
DB-X Middleware Swift Inc. Commercial Relational
Eclipse Content Management Systems LightSpeed Software Commercial ObjectStore
Hynet Directive Content Management Systems Hynet Technologies Commercial Unknown
iINTEGRATOR Middleware LightSpeed Software Commercial Relational
Information Manager Content Management Systems Interleaf Commercial Unknown
InterAccess Middleware XML Software Corporation Commercial Relational
LivePage Enterprise Content Management Systems Janna Systems Commercial Relational
MindSuite XDB Native XML Databases Wired Minds Commercial Object-oriented
PXSLServlet Middleware Paul A. Tchistopolskii Open Source Relational
Rhythmyx Integrator XML Servers Percussion Software Commercial Relational
Tendara Mobile XML Database Native XML Databases Tendara Commercial Proprietary
TransVerse Middleware Coyote Consultants Commercial Relational, MultiValued
WSDOM XML-Portal Content Management Systems Radian Systems Commercial Unknown
Xfinity Server Native XML Databases B-Bop Associates, Inc. Commercial Relational. Others through "data connectors".
XMLDataLink Middleware BASD, Integra Micro Systems (P), Ltd. Commercial Relational
XML Servlet Middleware Cerium Component Software Incorporated Commercial Relational
XMLShark Middleware infoShark Commercial Oracle
XYZFind Server Native XML Databases XYZFind Corporation Commercial Proprietary

Overview

The products in this section appear to be discontinued, as I can no longer find entries for them on the Web. They are listed here on the off-chance they are still available.

Related categories

None.

Products


ATG Relationship Management Platform

Developer: ATG
URL: http://www.atg.com/en/products/atg62_overview.jhtml
License: Commercial
Database type: Relational (JDBC)
Entry last updated: March, 2004

ATG Relationship Management Platform is a development environment for building J2EE applications, which may be run on the ATG Dynamo J2EE application server as well as other J2EE application servers. The core product consists of an application development framework and various tools for building, personalizing, and analyzing Web sites. Add-on products include frameworks for building portals and e-commerce applications, as well as a content management system.

The application development framework includes a Java Bean registry, tag libraries, Servlet Beans (which are used to create dynamic XML or HTML content), a repository API, a JMS-based messaging system, a security API, and support for Web services. The repository API essentially treats data sources as a set of objects and uses its own query language, RQL, which is similar to the WHERE clause in SQL. ATG includes implementations of the repository API for relational databases, LDAP, and file systems, as well as an implementation that can combine data from multiple repositories. Web services support includes predefined Web services for accessing repositories, as well as tools for creating custom Web services.

ATG Relationship Management Platform supports XML in a number of ways:

o Java Server Pages (JSPs) can be used to construct XML documents. For example, these might retrieve data from a database using the repository API and construct an XML document from this data.

o ATG includes Java Beans for creating DOM trees from XML documents, searching DOM trees with XPath, and applying XSLT stylesheets to XML documents. These Beans are typically used in JSPs.

o ATG includes classes for transferring data between XML documents and repositories. The tools can construct XML documents from repository data, insert the data in an XML document into a repository, update repository data based on the data in an XML document, and delete repository data based on the data in an XML document. A proprietary XML language is used to map repository schemas to XML schemas.

o ATG includes command-line tools for generating XML Schemas from repository schemas.

Beanstalk (Middleware)

Developer: Beanstalk Corp.
URL: http://www.beanstalk.bz/Products/products.html
License: Commercial
Database type: Relational (ODBC, JDBC)
Direction(s): Database=>XML
Entry last updated: July, 2002

NOTE: No recent information about Beanstalk is available on the Web and no server is registered for the beanstalk.bz domain [March, 2004].

Beanstalk is a relational database engine that sits between the application and the database. The product uses an "object sets messaging model" to improve the peformance of joins. In conventional implementations, joining multiple tables means joining two tables, building a temporary table from the result, joining this with the next table, and so on. Beanstalk "uses an object sets messaging model, [so that] one record can receive messages from many sets of records at one time and join with them all at once."

Beanstalk uses ODBC to communicate with databases. (A side effect of this is support for heterogeneous joins.) Clients use JDBC to communicate with Beanstalk.

Beanstalk provides XML output through its SELECT ... INTO XML statement, which describes an object-relational mapping as follows. Beanstalk extends the syntax of the SELECT statement to allow subselects in the select list to return multiple rows. Since subselects can contain subselects, it is therefore possible to specify an arbitrary tree structure in a single SELECT statement. The tree is mapped to an XML document by returning rows as elements and columns as attributes. The element and attribute names can be derived from database names or specified with AS clauses.

Centor Interaction Server

Developer: Centor Software Corp.
URL: http://www.centor.com/solutions/technology.shtml
License: Commercial
Database type: Proprietary
Entry last updated: September, 2001

Centor Interaction Server consists of the following parts. (Description quoted from the Web page.)

"Interaction Store - ... Data resides in the Interaction Store in a structured and unstructured layout, using XML documents with a fast and scalable indexing technology. ..."

"Data Engines - The Centor Interaction Server has four engines used to manage and manipulate data in the Interaction Store. ..."

"o The Query Engine gives users the ability to categorize, organize and search data ... including capabilities for popular decision support features such as "drill-down", query by range of values, compare/contrast, and content export to other applications via XML data interchange. ...

"o The Index Engine indexes all data stored in the Interaction Store. It supports advanced searching capabilities that provide intelligent search criteria via either metadata, attribute and value, or text keywords ..."

"o The Update Engine is a command-driven application that is used to create or modify XML entries using the Centor Data Exchange Language (CDXL). CDXL is a neutral file format used to exchange data between the Interaction Server and external sources."

"o The Data Processing Engine provides complex decision support functionality such as rules-based query, traffic lighting, and complicated mathematical calculations."

"Security Engine - The Interaction Server provides a complete security policy management infrastructure for Web-based enterprise applications. It manages end user information including user name, password, departments and the role of each user. ..."

"Data Access (API) - The Data Access layer provides two-way content access and integration capabilities. The Interaction Server offers a number of Application Programming Interfaces (APIs), including URL, C++, and EJB programming interfaces. This layer also provides ODBC and JDBC interfaces used to access data stored in relational databases."

Centor Interaction server also includes a workflow engine, styling engine, and presentation manager.

Charteris Integration Toolkit (Middleware)

Developer: Charteris plc
URL: http://www.charteris.com/capability/technology/XMLToolkit/Overview.asp
License: Commercial
Database type: Relational (ODBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: December, 2002

Charteris Integration Toolkit is a tool for transferring data between multiple systems, including relational databases. To use the toolkit, users:

1) Wrap all systems (except relational databases) in XML documents. That is, the data exposed by a particular system must be made available as an XML document. How this is done is up to the user; the toolkit does not provide any tools for this.

2) Define a "business object model" in UML (using XMI) or DAML.

3) Use a proprietary mapping language to map between the individual system schemas (as represented by XML or relational schemas) and the business object model. This language can handle relationships between objects, so an object-relational mapping between XML documents and relational databases is possible.

Once the mappings are in place, the toolkit can transfer data between any two nodes of the system -- XML <=> XML, XML <=> relational database, or relational database <=> relational database -- using XSLT to perform any necessary transformations. XML documents can be represented as text or DOM trees.

The toolkit comes with a number of tools, including a GUI-based mapping tool that supports XML Schemas, XML Data Reduced, and RELAX NG, a "comparative query tool" for querying the object model and seeing how the same data is stored on different systems, and a Java API for transferring data between a set of objects matching (and presumably generated from) the business object model and an XML document or relational database. The latter serves as both an object-relational engine and an XML data binding solution.

Coherity XML Database (formerly XDisect) (Native XML Databases)

Developer: Coherity
URL: None
License: Commercial
Database type: Proprietary
Entry last updated: July 2003
Coherity was acquired by Ipedo in July, 2003. According to Ipedo, the Coherity XML Database "is no longer commercially available". Ipedo will continue to support Coherity customers and may integrate parts of Coherity's technology into their products.

Connect for SQL/XML (formerly jXTransformer) (Middleware)

Developer: DataDirect Technologies
URL: http://www.datadirect.com/products/sql_xml/index.ssp
License: Commercial
Database type: Relational (JDBC, SequeLink)
Direction(s): Database=>XML, XML => Database
Entry last updated: August, 2003

Connect for SQL/XML is a JDBC driver that implements the SQL/XML specification as well as JDBC. (SQL/XML is a standard set of extensions to SQL for constructing XML from relational data.) It has extensions for retrieving XML documents from result sets and for inserting, updating, and deleting data based on the values in an XML document.

When an application passes an SQL/XML query to Connect for SQL/XML, Connect for SQL/XML executes it -- retrieving data from the database as needed -- and returns the results in a normal JDBC ResultSet. XML values are returned in columns whose type is XML. Applications retrieve these XML values with the getObject method, which returns an XMLType object. The XMLType class is a proprietary extension to JDBC and can return XML values as a DOM or JDOM tree, SAX events, or text.

Connect for SQL/XML has extensions to the INSERT, UPDATE, and DELETE statements that allow applications to modify data in the database based on values in an XML document. These allow multiple tables to be modified with a single statement and use a table-based mapping. In particular, an application uses an XPath expression to designate a set of nodes that correspond to rows. That is, one row is inserted, updated, or deleted for each node in this node set. For INSERT statements, the application then uses relative XPath statements to specify the nodes that correspond to columns. For UPDATE statements, the application uses relative XPath statements to specify the nodes containing new values. For both UPDATE and DELETE statements, the application may use relative XPath statements to specify nodes whose values are used in the WHERE clause.

Connect for SQL/XML includes an GUI-based query builder and supports JAXP 1.1. It also supports the jXTransformer API and query syntax. (jXTransformer was an earlier version of Connect for SQL/XML and implemented an early version of SQL/XML.)

Internally, Connect for SQL/XML uses a DataDirect Connect for JDBC driver or a SequeLink Java Client to access the database. These allow it to access data in DB2, Informix, SQL Server, Oracle, Sybase, and Progress databases.

DatabaseDom (Middleware)

Developer: IBM
URL: http://www.alphaworks.ibm.com/tech/databasedom
License: Evaluation only
Database type: Relational (JDBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: According to the Web page for DatabaseDom, it has been "retired" [4/12/03].

A Java Bean for transferring data between a DOM tree and a single table in a database. The product uses templates, with separate sections in the template for the database access information and the data layout. When transferring data from the database to the DOM tree, the user specifies a SELECT statement or a table name and WHERE clause; when transferring data from the DOM tree to the database, the user can only specify a single table name.

DataCraft (Middleware)

Developer: IBM
URL: http://www.alphaworks.ibm.com/tech/datacraft
License: Evaluation only
Database type: DB2, Microsoft Access
Direction(s): Database=>XML
Entry last updated: November, 2000

NOTE: The Web page for DataCraft has been removed from IBM's Web site.

A tool for generating SELECT statements and returning the results as an XML document containing a single table(?). From the Web site:

"... an application generation tool targeted for RDF/XML applications in the context of Web-commerce applications. DataCraft, a facility capable of generating visual query skeletons and running the queries against DB2, is an excellent tool for Web-Database application generation using XML. DataCraft provides client tools visually navigating resource schema, and query language building queries visually from the schema based on XML and RDF. DataCraft uses RDF and XML to describe data collection structures and to exchange resource schema and query between the server and client."

DB-X (Middleware)

Developer: Swift Inc.
URL: http://www.swiftinc.co.jp/en/frame/products/XMLServerWare/DB-X/
License: Commercial
Database type: Relational (ADO)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: No recent information about DB-X is available on the Web and no server is registered for the swiftinc.co.jp domain [March, 2004].

A Windows application (also available as an ISAPI extension) for transferring data from one or more ADO recordsets to an XML document. The product uses templates with DB-X specific query elements. Query results may be placed elsewhere in the document and the language is quite flexible, supporting embedded scripting language statements as well as programming constructs such as for loops and if statements. The Web page also states that updates are possible (which makes sense, given that the product is based on ADO), but does not show how to do this.

DB2XML (Middleware)

Developer: Volker Turau
URL: http://www.informatik.fh-wiesbaden.de/~turau/DB2XML/index.html
License: Open Source
Database type: Relational (JDBC)
Direction(s): Database=>XML
Entry last updated: November, 2000

Java classes for transferring data from a relational database to an XML document. These classes may be used in a standalone application or as a servlet. The product models the XML document as a set of tables, for which the user specifies one or more SELECT statements. Options include specifying the tag names to be used on output, as well as whether to include database metadata in the document. The document may be returned as a file, stream, or DOM object and support for passing it to an XSL processor is provided.

Eclipse (Content Management Systems)

Developer: LightSpeed Software
URL: None
License: Commercial
Database type: Object-oriented (ObjectStore)
Entry last updated: June, 2003

According to LightSpeed Software (who bought Chrystal Software), Eclipse is no longer an active product.

Enosys Integration Suite

Developer: Enosys Software
URL: http://www.enosyssoftware.com/products.html
License: Commercial
Database type: Relational (JDBC), XML, HTML, Web services, flat files
Entry last updated: January, 2003

The Enosys Integration Suite is a heterogeneous join engine that can join data from relational databases, XML documents, HTML documents, Web services (using SOAP), and flat files. (It may be possible to integrate data from other sources through custom translators, but this is not clear.) Each data source is wrapped by a translator, which provides an XML view of the data. Translators can return both metadata (in the form of an XML schema) and data (in the form of an XML document) about a particular data source.

The join engine uses XQuery as its query language. It decomposes queries into queries against individual data sources, then passes the query fragments via translators to those data sources for execution. The translators return the data as XML, which the join engine uses to build the query result. Query optimizations include "query pre-compilation, XML document caching, and results evaluation and pipelining".

XML document caching is used for data that is either static or slow to retrieve. The cache is built on a JDBC database and is optimized for Oracle 8i. Documents in the cache can be refreshed on demand or at regular intervals.

The Enosys Integration Suite comes with a set of GUI-based tools to build queries, applications, and Web services. The latter tool supports SOAP, WSDL, and UDDI. Also included are utilities for configuring authentication and access control on a per-view basis, controlling the cache, logging the activities of the join engine, and monitoring connections.

GoXML DB

Developer: XML Global
URL: http://www.xmlglobal.com/prod/db/index.jsp
License: Commercial
Database type: Proprietary (Model-based)
Entry last updated: May, 2003

GoXML DB is the same as XStreamDB. For more information, see the XStreamDB entry.

Hynet Directive (Content Management Systems)

Developer: Hynet Technologies
URL: http://www.hynet.com/Products/main.html
License: Commercial
Database type: Unknown
Entry last updated: November, 2000

NOTE: No recent information about Hynet is available on the Web and no server is registered for the hynet.com domain.

From the Web site:

"... the premier XML content management system for e-Business. It captures content created in familiar content creation applications such as Adobe FrameMaker, Macromedia Dreamweaver, Microsoft Word and XML, and transforms the data blocks (paragraphs, graphics, tables) within them into Information Units (IUs). These IUs are tagged and stored in a repository that can be accessed across the corporate environment with standard browsers. Using "drag and drop", IUs are recalled by virtue of their attributes (metadata assignment) and reused and re-purposed to create varied pieces of corporate collateral. The output can take the form of a web-site or print."

idx-xmnesia (Middleware)

Developer: IDEALX
URL: http://www.idealx.org/prj/idx-xmnesia/
License: Open Source
Database type: mnesia
Direction(s): Database=>XML, XML=>Database
Entry last updated: Summer, 2001

PRODUCT IS DEAD, ACCORDING TO ONE OF THE (APPARENT) DEVELOPERS From the Web site:

"idx-xmnesia is an Erlang library providing the functionnality to store XML data into a mnesia database. It can be directly used from within the Erlang Virtual Machine or accessed from various other languages, such as Python."

iINTEGRATOR (Middleware)

Developer: LightSpeed Software (who bought PerCurrence)
URL: http://www.percurrence.com/products/index.html
License: Commercial
Database type: Relational
Direction(s): Database=>XML, XML=>Database?
Entry last updated: June, 2003

NOTE: iINTEGRATOR is no longer listed on the LightSpeed or Percurrence Web sites. Presumably it has been integrated into LightSpeed's other products.

An XML transformation engine that can process data from a number of sources. The engine uses templates which are written in a proprietary, XML-based language. This language drives an extensible object layer, so custom objects can be used to access data in sources not directly supported. The language includes tags for retrieving data from a variety of sources, including files, Web sites, and databases, and supports a variety of scripting languages, including JavaScript, VBScript, and PERL. iINTEGRATOR includes an XSLT processor.

Database data is retrieved by specifying an SQL statement, then specifying where the results of that statement are to be placed in the template. It is not clear if results can be used to parameterize further SQL statements.

iINTEGRATOR can be used as an IIS Web server extension or through a COM interface. It can also be used from within XML Spy and Xmetal.

Information Manager (Content Management Systems)

Developer: Interleaf
URL: unknown
License: Commercial
Database type: Unknown
Entry last updated: October, 2001

NOTE: Interleaf was acquired by Broadvision (http://www.broadvision.com) in April, 2000. Information Manager does not appear to be available any more. It has most likely been integrated into BroadVision's product line.

From the Web site:

"... a comprehensive content and process management system for creating and managing the vital information that you provide to your customers and constituents. Groups of knowledge workers can use IM's collaborative tools to find, edit, review, reuse, and assemble information managed in a secure IM database. IM manages a wide variety of information, from files produced by popular desktop applications to highly modular document objects defined by XML and SGML."

InterAccess (Middleware)

Developer: XML Software Corporation
URL: http://www.xmlsoft.com.au/iaccess.html
License: Commercial
Database type: Relational (ODBC, OLE DB)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: No recent information about InterAccess is available on the Web and no server is registered for the xmlsoft.com.au domain [March, 2004].

A client/server package for accessing ODBC/OLE DB databases via the Internet, using XML over TCP/IP as a data transfer protocol. InterAccess Server runs on the server and processes requests, either retrieving data from the database and returning it to the client as XML, or receiving data in XML format from the client and storing it in the database. The format of the XML document is the same as that used by ADO, since ADO is used on the server for database access.

On the client side, a COM object handles communications with the server. Applications can either use a proprietary API on this object to access the data with an ADO-like programming model, or request that all XML responses from the server be directed to a callback function. The latter is useful when only the XML is needed and can be used to populate disconnected ADO Recordsets. InterAccess also has a proprietary browser, which acts as a front end for the COM object.

Of interest, InterAccess has built-in encryption and compression.

Interaction Server (formerly DataChannel Server)

Developer: Netegrity
URL: http://www.netegrity.com/products/index.cfm?leveltwo=Interaction
License: Commercial
Database type: Relational (JDBC, ODBC)
Entry last updated: November, 2000

Interaction Server is a tool for building and running Enterprise Information Portals (EIPs). (An EIP is a Web site that allows a corporation to expose information from a variety of sources -- documents, databases, email, and so on -- to its employees and allow those employees to modify that information, such as by editing documents. Think of Lotus Notes on the Web.)

Interaction Server has three layers: data, application, and access. The data layer accesses data stored both internally and externally and exposes this to the application layer as an XML document. The data layer can convert over 200 "document types" (from Word to relational data) into XML documents. Each EIP has its own application layer, which must be built from Java servlets and XSL stylesheets. These access XML documents in the data layer using DOM. The access layer is any software that can read XML, such as a browser on a desktop or in a WAP-enabled cell phone. Changes made by users are sent back to the application layer using WebDAV (Web-based Distributed Authoring and Versioning -- an extension to HTTP).

Additional features include full-text search, notifications, and security.

LivePage Enterprise (Content Management Systems)

Developer: Janna Systems
URL: http://www.janna.com/lpweb/lp_ent.htm
License: Commercial
Database type: Relational
Entry last updated: November, 2000

NOTE: Siebel Systems (http://www.siebel.com) bought Janna systems in Q4 2000. The above link no longer works and it is not clear if LivePage Enterprise is still available.

From the Web site:

"... delivers the power to build, manage and publish large, business-critical web sites and documents. It opens up the enterprise intranet as a direct document publishing medium for a broad set of authors using existing tools and skills. LivePage Enterprise is an integrated XML/SGML/HTML content-base management system (CBMS) which runs on industry standard SQL database engines. At the heart of LivePage Enterprise is the LivePage ContentServer, which uses the Content Relational storage model for high-performance storage of tagged data using SQL database servers."

MatriXML

Developer: MojoTechnology, Inc.
URL: http://www.mymatrixml.com/
License: Commercial
Database type: Oracle. External relational through ODBC
Entry last updated: November, 2000

MatriXML is a Web server add-on used to store and retrieve XML documents via the Web. Documents are stored in an Oracle database using a proprietary set of tables that model the logical structure of XML documents. Before documents can be stored, users must first define their DTD to the database; this is done through browser-based tools. With the same set of tools, users can also define the XSL or CSS style sheet (if any) to be used when displaying the document.

XML documents are retrieved from the database via URL. They are sent to the database either via a browser screen or as complete XML documents. Users can also update and delete XML documents via browser screen.

In addition to containing static data, XML documents can contain data from one or more ODBC databases; the mapping from ODBC to XML is not specified.

Of interest, all structure, content, and formatting is versioned and archived. Furthermore, MatriXML has been designed to meet the requirements of the US Food and Drug Administration (FDA) for electronic signatures and electronic record handling.

Full commercial release is scheduled for September 2001. However, releases with a limited feature set should be available by the end of 2000. Contact the company for details.

MindSuite XDB (Native XML Databases)

Developer: Wired Minds
URL: http://xdb.wiredminds.com/
License: Commercial
Database type: Object-oriented
Entry last updated: June, 2002

NOTE: There is no longer any mention of MindSuite XDB (or XML) on the Wired Minds Web site [March, 2004].

MindSuite XDB is a native XML database implemented on top of a proprietary object-oriented database. XML documents are stored in the database as DOM trees. The database supports ACID transactions and user- and group-level read, write, and delete access.

MindSuite XDB supports both XPath and XSLT queries. The XSLT/XPath engine operates directly on the database structures, meaning that only those parts of the document needed for processing are loaded into memory. Performance is further enhanced by use of a memory cache, which is shared by multiple threads. XSLT stylesheets are stored in the database in compiled form and can include user-written extension functions.

MindSuite XDB supports document versioning by assigning version numbers to each node and storing only changes to documents. This allows users to query any version of a document (through version-aware extensions to XPath and XSLT). It is also used to implement rollbacks.

MindSuite XDB also supports read, write, and update events on a per-document type basis. Clients can register listeners for specific events. In addition, triggers can be assigned to particular events. These execute an XSLT stylesheet; for example, inserting a purchase order might cause an invoice to be generated.

MindSuite XDB comes with C++ and Java APIs. These can be used locally (when the database is embedded in the local application) or via a CORBA interface. In addition, MindSuite XDB has GUI and command line tools for browsing the database and issuing database queries.

Net.Data

Developer: IBM
URL: http://www-4.ibm.com/software/data/net.data/
License: Commercial
Database type: Relational (ODBC, JDBC, Native Drivers)
Entry last updated: November, 2000

A Web server add-on for transferring data from a database to XML (or any text-based format). The product uses templates with a Net.Data-specific macro language. This is quite flexible, including variables, function definitions, loops, and if statements, as well as being able to parameterize SQL statements for nested queries.

Nimble Integration Suite

Developer: Nimble Technology
URL: http://www.nimble.com/solutions/products/suiteoverview/
License: Commercial
Database type: Relational (ODBC), non-relational (IMS, SAP, Notes, flat files, etc.)
Entry last updated: February, 2002

The Nimble Integration Suite is a heterogeneous join engine bundled with related tools. It can join data from both relational and non-relational sources. This is done by first retrieving data from various data sources as XML documents, then executing XML queries against those documents using XML/QL. The result is returned as XML. The integration engine includes a cache with user-specified timeouts, so queries against back-end data are minimized.

Users map data sources to XML with XML Maps, and can define two further refinements. XML Views define logical XML documents based on other (possibly logical) XML documents, such as those defined by XML Maps, and Lenses are pre-defined (usually parameterized) queries that include information about how the results are to be formatted. XML Maps and XML Views are designed to be used internally by the integration engine, while Lenses are designed to be used by applications. It is not known how data in databases can be mapped to XML.

The Nimble Integration Suite supports a variety of security mechanisms (LDAP, Microsoft Active Directory Services, NT domains, Secure Socket Layer, RSA 128-bit encryption) and has COM and Java APIs, as well as ASP and JSP plug-ins. It includes tools for mapping data sources to XML, resolving conflicts in the ways different data sources represent the same information, and administration.

Noetix Web Query

Developer: Noetix
URL: http://www.noetix.com/Products/NoetixPlatform/NoetixWebQuery.aspx
License: Commercial
Database type: Relational (ODBC)
Entry last updated: November, 2000

Noetix Web Query is a Web application server that retrieves data from "multiple, disparate databases" and returns results as XML documents. It is not clear if it can perform heterogeneous joins (probably not?), nor is it clear how results are formatted as XML. Noetix Web Query requires Microsoft IIS on the server and Internet Explorer 5.0 on the client.

Orbeon Presentation Server

Developer: Orbeon.org
URL: http://www.orbeon.org/software/, http://www.orbeon.com/ois/doc/
License: Open Source
Database type: Relational (JDBC), Native XML (XML:DB, Tamino, Oracle 10g)
Entry last updated: September, 2004

From the company:

"The Orbeon Presentation Server is a J2EE-based MVC framework for building Web applications that present and capture XML. Data from multiple sources, including relational and native XML databases, Web services, LDAP servers, and files can be transformed into XML and then manipulated and validated before being presented in a Web page to an end-user. Information can be collected from users as XML data using HTML forms that are defined with standard W3C XForms. This XML data can then be processed using XML pipelines and sent to a back-end system like SQL database, Web service, etc. XML pipelines are defined using a proprietary pipeline definition language."

"Access to SQL databases is done by writing SQL statements in one or more XML configuration files that also describe a very simple XML-relational mapping. More complex transformations are done in XSLT. Access to native XML databases is also provided, specifically for eXist (via the XML:DB API), Oracle 10g (via a proprietary API), and Tamino (via a proprietary API)."

PowerXML Pro

Developer: Wizen Software
URL: http://www.wizen.com/content/pro.htm
License: Commercial
Database type: Relational (ODBC)
Direction(s): Database=>XML, XML => Database(?)
Entry last updated: February, 2002

DISCONTINUED PowerXML Pro is a "tool for building data integration pipelines." Pipelines follow a "simple three-step visual pipeline metaphor (Input, Process, Output)" and allow data to be "extracted, combined, filtered, and transformed between a variety of data sources including: files, applications, databases, web-sites, mainframes, and web-services." Database access is via ODBC and appears to use a table-based mapping.

PowerXML Pro includes an implementation of XPath and support for multiple XSLT engines. It can use data from more than 100 file formats, as well as a variety of application formats (SAP, Excel, etc.), and comes with "numerous built-in actions to combine, filter, remove, process, and transform XML data."

PowerXML Pro has COM, Java, HTTP, and SOAP interfaces.

PXSLServlet (Middleware)

Developer: Paul A. Tchistopolskii
URL: http://www.pault.com/pault/old/Pxsl
License: Open Source
Database type: Relational (JDBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: There is no longer any mention of PXSLServlet on Paul Tchistopolskii's Web site [March, 2004].

A Java servlet for transferring data from XML documents to JDBC databases and vice versa. It can also delete data from the database. The product uses templates. When transferring data from the database to XML, parameters show where the results of SELECT statements are placed in the XML document. These can be used in additional queries, allowing nested queries to be constructed. The resulting XML document can then be transformed with XSL.

When transferring data from XML to the database (as well as when deleting data?), the template appears to act as a mapping from the XML document to the database. This is apparently done by parameterizing a sample XML document. At the least, it appears to create an object-relational mapping; more sophisticated mappings may be possible.

Birdstep RDM XML

Developer: Birdstep
URL: http://www.birdstep.com/database_technology/rdm_xml.php3
License: Commercial
Database type: Object-oriented
Entry last updated: October, 2002

Birdstep RDM XML is a native XML database built on top of the Birdstep RDM Mobile database. Documents can be stored in one of two ways. DTD-less documents are stored using a set of predefined classes that roughly correspond to the information items defined in the XML Information Set. Documents with DTDs can be stored with these classes or with classes generated from the DTD. The latter classes provide an "XML data binding" solution; that is, binding of XML documents to DTD-specific classes. In addition, they inherit from the generic classes, so they can also be viewed generically.

Birdstep RDM XML implements XPath as its query language. XPath queries can be compiled and stored in the database for faster re-execution. It also provides implementations of DOM and SAX. The DOM interface is available in both Java and C++ and is live. That is, changes made through the DOM are immediately visible to other users. The SAX implementation uses Expat to parse incoming documents; the database itself can act as a SAX Reader for outgoing documents.

The Birdstep RDM Mobile database on which Birdstep RDM XML is based is an "ultra small" database designed for use on handheld devices and in embedded systems. It stores data as "molecules", each of which consists of two or three "atoms": a content atom (which contains the actual data value when it is longer than 4 bytes), an instance atom (which contains data values of 4 bytes or less, or pointers to data values longer than 4 bytes), and a type atom (which defines the type of an instance atom). Because content atoms are reused, no data longer than 4 bytes is stored more than once. In addition, content atoms contain pointers to all instances, so they serve as indexes. By constructing chains of instances and links between chains, Birdstep RDM Mobile can store virtually any kind of data structure, including XML.

Birdstep RDM Mobile supports object inheritance, encapsulation, and polymorphism; indexes; queries based on object type, value, or hierarchical relation; and transactions.

Rhythmyx Integrator (XML Servers)

Developer: Percussion Software
URL: http://www.percussion.com/rhythmyx/xml.htm
License: Commercial
Database type: Relational (JDBC, ODBC)
Entry last updated: November, 2000

NOTE: Rhythmyx Integrator is no longer listed as a product on Percussion's Web site. It is likely the technology has been merged into other products, such as Rhythmyx Content Manager.

Rhythmyx Integrator is a Web server that runs database-driven applications. Developers define these applications with Rhythmyx Workbench, a GUI tool that defines how data is processed. As input, developers pass HTML pages that have been labeled with which fields contain dynamic data -- that is, data from the database. A utility (XSpLit) then generates an XML document and an XSL document from the marked-up HTML and the developer maps the database fields to the XML document. Finally, the developer indicates any additional processing, such as whether the data may be inserted, updated, or deleted in the database, whether any Java code is to be executed immediately before or after calls to the database, and so on. It is not clear in what form data is accepted from the Web (XML documents, HTML form values, etc.)

It appears that the XML document is mapped to the database with an object-relational mapping, with the ability to insert grouping elements. (For example, suppose an Employee table is mapped to the Employee element. The FirstName and LastName columns could be mapped to FirstName and LastName elements, grouped inside a Name element that is a child of Employee.) Of interest, Rhythmyx Integrator can perform heterogeneous joins -- that is, it can join data from different databases -- and update data in multiple, heterogeneous tables.

SQml Web and SQml Publisher

Developer: Agave Software Design
URL: http://www.agave.com/html/products/index.htm
License: Commercial
Database type: Relational (ODBC)
Entry last updated: November, 2000

A CGI application for serving database-driven HTML and XML documents. Data is retrieved through SQml Publisher, which uses templates. It allows users to embed SQL statements in dynamic Web pages. The user then uses parameters to specify where the results of these queries will be placed. Note that they can be used as parameters in other SQL statements, allowing nested queries to be constructed. SQml Publisher can also be used as a stand-alone product for non-Web applications.

Sypram XML Studio

Developer: Sypram Technology
URL: http://www.sypram.com/ProServices.htm
License: Commercial
Database type: Relational (OLE-DB)
Direction(s): Database=>XML
Entry last updated: February, 2002

DISCONTINUED??? Sypram XML Studio is a set of COM+ components designed to be used by ASP and optimized for MTS. The XMLDB component is used to access data in relational databases. XMLDB uses a table-based mapping, with column data returned as child elements.

SysDB

Developer: Sysalys
URL: http://www.sysalys.com/com/products.php, http://www.sysalys.com/com/doc/
License: Shareware
Database type: Relational (JDBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: March, 2004

DISCONTINUED??? SysDB is a GUI-driven tool for transferring data between XML documents and a relational database. Unlike almost all similar products, SysDB tracks the XML documents whose data it has stored. In this sense, it functions as a document store, allowing users to store, retrieve, and explore XML documents using a relational database.

SysDB uses an object-relational mapping that is described by an XML-based mapping language. It generates mappings and database structures automatically from XML Schema documents and can update both mappings and database structures when an XML Schema document changes.

When storing XML in the database, users can treat an XML document as a new document or an updated document. For new documents, SysDB inserts all the data from the document into the database and tracks that data as a new document. For updated documents, SysDB only modifies the data that has changed. It tracks the changes to the data, allowing any version of the document to be retrieved.

When retrieving XML from the database, users can retrieve entire documents or extract fragments of documents. When retrieving entire documents, they can retrieve any version of the document. When extracting fragments of documents, the user first searches for the data they want, then extracts it as XML. Two search styles are supported. The first is a hierarchical search, where the user searches along the document hierarchy. The second is a value search, where the user specifies a regular expression for a one or more elements or attributes. In both cases, the system displays the corresponding data and then allows the user to narrow the search.

SysDB is based on XML-DBMS (version 1.x) and uses the mapping language from that product. However, the XML-DBMS code itself has been heavily modified.

Tendara Mobile XML Database (Native XML Databases)

Developer: Tendara
URL: http://www.tendara.com/products/native-xml-database.html
License: Commercial
Database type: Proprietary
Entry last updated: April, 2003

NOTE: No recent information about Tendara is available on the Web and the server registered for the tendara.com domain no longer responds [4/12/03].

Tendara is a native XML database designed to be used on handhelds. The storage method used is not described, although compression is supported. Documents can be accessed using XQuery, XPath, or DOM, and transformed with XSLT. An API allows applications to search, retrieve, insert, update, and delete XML data and bindings are supported for a number of languages.

A related product is the Tendara Mobile XML Server, which can transfer data between relational backends and a Mobile XML Database in the form of XML documents. The Mobile XML Server is implemented as a Java Bean and is designed to be used inside a Java-based application server. It is also addressable through SOAP.

Total-e-Business (formerly Bluestone XML-Server)

Developer: HP Bluestone
URL: http://h21022.www2.hp.com/HPISAPI.dll/hpmiddleware/products/Total-e-Server/default.jsp
License: Commercial
Entry last updated: July, 2001

Total-e-Business is a J2EE (Java 2 Enterprise Edition) application server, at the heart of which is an Enterprise Java Beans (EJB) object server (the Universal Business Server). Applications are built from EJBs and run in the context of the object server, which provides resources for handling transactions, persistence, etc. A typical Web-based application is constructed of Java Server Pages (JSPs), which use EJBs to perform various tasks.

XML data binding is used in Total-e-Business applications in two places. First, XML can be used as the interface between EJBs and JSPs. That is, a JSP can populate an EJB using data in an XML document. Similarly, an EJB can pass data to a JSP as an XML document.

Second, XML can be used to persist EJBs. In this case, the EJB's data is persisted to an XML document, which is then passed to the Bluestone XML-Server to be stored in a database. The XML document is mapped to the database with an object-relational mapping, which allows it to contain deeply nested elements that are stored in multiple tables.

Total-e-Business (formerly Bluestone XML-Server)

Developer: HP Bluestone
URL: http://www.bluestone.com/products/total-e-server/default.htm
License: Commercial
Database type: Relational (JDBC). Non-relational through Data Source Integration Modules
Entry last updated: November, 2000

NOTE: Total-e-Business is no longer listed on HP's Web site [12/13/06].

Total-e-Business is a J2EE (Java 2 Enterprise Edition) application server, at the heart of which is an Enterprise Java Beans (EJB) object server (the Universal Business Server). Applications are built from EJBs and run in the context of the object server, which provides resources for handling transactions, persistence, etc. A typical Web-based application is constructed of Java Server Pages (JSPs), which use EJBs to perform various tasks.

XML is used in Total-e-Business applications in several places. First, it can be used as the interface between EJBs and JSPs. That is, a JSP can populate an EJB using data in an XML document. Similarly, an EJB can pass data to a JSP as an XML document. In the latter case, the XML can be transformed by XSLT (such as to an HTML or WML document) or sent directly to a browser on the Web. (It is not clear whether the JSP can receive data from the Web in the form of an XML document. If so, it could be passed directly to the EJB.)

The second way in which XML is used is to persist EJBs. In this case, the EJB's data is persisted to an XML document, which is then passed to the Bluestone XML-Server to be stored in a database. The XML document is mapped to the database with an object-relational mapping, which allows it to contain deeply nested elements that are stored in multiple tables. (EJBs can also be persisted directly to the database using JDBC, but this requires hand-coding.)

The third way in which XML is used is in "XML applications". These consist of an application class and one or more document handlers. The application class receives incoming XML documents and passes them to document handlers for processing. It also sends XML documents back to clients, such as Web browsers or other XML applications. XML applications use the Bluestone XML-Server to transfer data between XML documents and relational databases.

Total-e-Business can be purchased in a number of different configurations (Total-e-B2C, Total-e-B2B, Total-e-Server, Total-e-Global), all of which include the object server and XML server. It also comes with numerous development tools (including a tool for mapping between different DTDs that model the same data) and sample applications.

TransVerse (Middleware)

Developer: Coyote Consultants
URL: http://www.coyote.co.uk/Products.htm
License: Commercial
Database type: Relational, MultiValued
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2001

NOTE: No recent information about TransVerse is available on the Web and no server is registered for the coyote.co.uk domain [March, 2004].

Transfers data between an XML document and a relational or multi-valued database. The mapping to multi-valued databases uses the multi-valued equivalent of a table-based mapping. However, due to the nature of multi-valued databases, this allows deeper nesting than would be possible with a table-based mapping over a relatioanl database. The product uses a proprietary XML dialect, which should be easy to convert to more generic dialects with XSLT. Applications can call TransVerse from ASP pages or through COM controls.

truExchange XML

Developer: nuBridges
URL: http://www.nubridges.com/solutions/xml.htm
License: Commercial
Database type: Relational (AS/400)
Direction(s) : Database=>XML, XML=>Database
Entry last updated: August, 2003

truExchange XML consists of both client and server software. It can transfer data from XML documents to AS/400 data structures and vice versa. Supported data structures include DB2 files, IFS files, data queries, and program data structures.

Data is transferred according to a particular mapping, which the user specifies with a GUI-based mapping tool. Exactly what mappings are possible is not known. During data transfer, some transformations are possible, including conversion to/from a number of date formats, concatenating strings, and extracting substrings.

truExchange XML can be called through SMTP, HTTP, EDI-INT, FTP and Sockets.

WSDOM XML-Portal (Content Management Systems)

Developer: Radian Systems
URL: http://www.radsys.com/products/portal.htm
License: Commercial
Database type: Unknown
Entry last updated: November, 2000

NOTE: No recent information about XML-Portal is available on the Web and the server registered for the radsys.com domain no longer responds.

From the Web site:

"...an information hub and repository. It is a content management system that focuses on storage, data management, transfer, and access to documents and information generated by disparate applications. WSDOM XML-Portal is a single application that provides functionality for storage and retrieval, workflow, document management, and Enterprise Report Management (ERM). Because of the thin-client approach, using a Web browser as the user interface, your system can be deployed as a departmental, enterprise, or global application, using the infrastructure provided by the Internet or an Intranet.

"WSDOM XML-Portal aids the process by creating XML indexes for data, and organizing them to allow full text XML-tagged searching and presenting results via XSL (eXtensible Style Language) style sheets. It also works closely with WSDOM XML-Xpress, Radian Systems' "funnel" application that can interface with any database product or legacy application, and transform the data into XML objects."

XChainJ

Developer: Cogent Logic Corp.
URL: http://xchainj.com/
License: Commercial
Database type: Relational (JDBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: February, 2002

XChainJ is an XML data binding product. It includes methods to transfer data from XML documents to Java objects to the database and vice versa. It comes with a GUI-based mapping tool that can be used to map between DTDs, Java classes, and database schema.

XDB

Developer: ZVON.org
URL: http://zvon.org/index.php?nav_id=61
License: Open Source
Database type: Relational (PostgreSQL only?)
Entry last updated: November, 2001

A native XML database built on a relational database. (It is not clear if databases other than PostgreSQL are supported.) The database stores data in proprietary set of tables and includes a partial implementation of XPath. Written in C++.

XDBM

Developer: Matthew Parry, Paul Sokolovsky
URL: http://sourceforge.net/projects/xdbm/
License: Open Source
Database type: Proprietary (Node-based)
Entry last updated: November, 2000

XDBM uses an interface that is "based upon the DOM standard". It stores XML documents in a pre-parsed, indexed format and resolves memory problems by leaving parts of the document on disk until they are needed.

XediX TeraSolution

Developer: AM2 Systems
URL: http://www.am2systems.com/technologies-EN.html
License: Commercial
Database type: Proprietary
Entry last updated: June, 2005

XediX TeraSolution is a native XML database built on a proprietary data store. Users can specify which elements and attributes to index, and searches are performed with a proprietary language that "permits addressing in the XML tree in accordance with XPath expressions". Search results can further be refined through the use of regular expressions.

XediX TeraSolution can also store non-XML documents through the use of external entities. Apparently, an XML document provides metadata for one or more non-XML documents and references them through external entities. The non-XML documents are stored alongside the metadata document and are also indexed and searched via the XML metadata document.

Security is provided through the use of users and groups, and can be applied at any level of granularity within XML documents. This allows administrators to assign access rights such that specific users can view only parts of a given XML document.

Xfinity Server (Native XML Databases)

Developer: B-Bop Associates, Inc.
URL: http://www.b-bop.com/products_xfinity_server.htm
License: Commercial
Database type: Relational (JDBC). Others through "data connectors".
Entry last updated: February, 2002

NOTE: All Web pages on the www.b-bop.com Website return 404 Not Found errors [4/12/03].

Xfinity Server provides native XML document storage using any relational database as the data store. On insertion, documents are parsed and stored in a fixed set of tables. These tables preserve both logical structure (elements, attributes, order, etc.) and physical structure (entities, CDATA sections, etc.) All elements and attributes are indexed when documents are stored.

Xfinity Server supports inserts, updates, copies, and deletes. These operations are performed within transactions, allowing concurrent reads and writes as well as multi-user access.

The query engine supports TQL, a proprietary query language that is a "combination of SQL-like syntax and XPath." TQL, which is XML-based, supports "element and attribute level searches, boolean and wildcard operators, keyword and numeric range searches, and queries constrained on specific types or names of documents." Query results are returned as XML and can be "complete documents, individual elements or attributes, or a list of matching documents." The query engine is built using the XQuery algebra.

Query results can be passed directly to a transformation engine. This can use any XSLT processor (it uses XT by default). The transformation engine is multi-threaded and can chain transforms together. This allows a transformation to be broken into different parts (it appears the user must do this) and run in parallel.

Xfinity can integrate external data through "Data Connectors". This data can be queried dynamically. That is, a virtual XML document with links to external data can be constructed and data then retrieved at query time. It appears that external data can also be updated, although this is not clear. It also appears that Xfinity comes with Data Connectors for relational databases (table-based mapping) and flat files and that users can write their own connectors; again, this is not clear.

Xfinity also supports SAX, DOM Level 2, user-, group-, and role-based security, SSL, multi-threaded access, J2EE, clustering, and an in-memory cache.

XML DataDesk

Developer: NetBryx Technologies
URL: http://www.netbryx.com/DataDesk.aspx
License: Commercial
Database type: Relational (ODBC, OLE DB)
Direction(s): Database=>XML
Entry last updated: July, 2002

XML DataDesk is middleware for transferring data from a relational database to an XML document stored as a file on the file system. Users define a mapping with a GUI-based tool by (a) selecting columns from one or more tables, (b) entering a SELECT statement, or (c) entering the name of a file containing a SELECT statement. The tool formats the results using a table-based mapping, with column values returned as child elements. (When more than one table is chosen, results are listed sequentially.)

Once the basic mapping is defined, users can specify a limited number of transformations, such as renaming, inserting, or removing elements. The transformations are stored in an XSLT stylesheet for later use.

After defining the mapping and any transformations, users transfer data by calling XML DataDesk from the command line or through the GUI-based tool.

XML DataDesk is currently in beta [July, 2002].

XMLDataLink (Middleware)

Developer: BASD, Integra Micro Systems (P), Ltd.
URL: http://www.appsintegra.com/html/xmldatalink.htm
http://www.appsintegra.com/downloads/xmldatalink.pdf
License: Commercial
Database type: Relational (ODBC, native drivers)
Direction(s): Database=>XML, XML=>Database(?)
Entry last updated: February, 2002

NOTE: There is no longer any mention of XMLDataLink on the AppsIntegra Web site. [March, 2004]. From the Web site:

"XMLDataLink creates Web Services to access, update, and exchange information with relational database systems. At design time, the GUI provides a means of connection an XML schema to the relevant back-end tables. At runtime, a Web-enabled application requests these services using standard Internet protocols. XML input sheets can be sent either by mail or via an interactive Web page. When XMLDataLink receives a request for a Web Service, it locates the appropriate service, accesses the database, and executes the service. Results are transformed into XML and sent back to the client."

It is not clear what mappings are possible from the database to XML. Access is available via email or JMS.

XML-DB Link

Developer: Rogue Wave Software
URL: http://www.roguewave.com/products/xml/xmldblink/
License: Commercial
Database type: Relational (OpenSQL - a Rogue Wave database API)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

A Web server plug-in that accesses databases based on predefined, parameterized SQL statements, called "services". Because the SQL statements are arbitrary, any SQL statement can be executed: SELECT, UPDATE, INSERT, DELETE, etc., even stored procedure calls. Of interest, parameters can accept arrays of values, allowing bulk inserts, updates, deletes, etc.

To execute an SQL statement, the client sends a request to the server in the form of a SOAP document. This contains the name of the service to be executed as well as any parameters needed by the service. XML-DB executes the service and returns any results to the client, again in the form of a SOAP document. In the case of SELECT statements, the results are formatted in XML as a set of tables.

XML-DB comes with visual tools for defining and testing services.

XML Gateway

Developer: SPI Ltd.
URL: http://www.xmlgateway.co.uk/
License: Commercial
Database type: Relational (OLE DB, ODBC), Excel, Word, text files
Direction(s): Database=>XML, XML=>Database
Entry last updated: March, 2004

XML Gateway is middleware that transfers data between XML documents and relational databases (using OLE DB or ODBC), Excel spreadsheets, Word documents, or text files (CSV, tab-delimited, etc.). XML documents can reside on the file system, a Web site (from XML only), FTP site, message queue, Web service, or email (to XML only).

XML Gateway supports two primary operations: importing and exporting XML. "Importing" means to import data to XML and "export" means to export data from XML. This is the opposite sense from most products on this list, where "importing" refers to importing data from XML to the database and "exporting" means to export data from the database to XML.

When importing data to XML, data from multiple sources can be used to create a single XML document. The document can have a hierarchical structure. When exporting data from XML to an external source (such as a database or text file), data from a single XML document can be exported to multiple targets. This can be performed in a single transaction -- if there are multiple targets, this is a distributed transaction -- or in per-record transactions. In addition, the user can specify whether to insert, update, or delete data. Data transfer operations can be saved in an import or export module. This is a configuration file that includes information about the data source and target, mappings between source and target (if any), transaction mode, and so on.

XML Gateway can be used programmatically as a COM object. It can also be scheduled to run at regular intervals or used through a number of GUI tools. The latter include an XML editor and a Database Explorer, which includes a query designer. XML Gateway supports both DTDs and XML Schemas and can generate the latter. It appears to support XSLT, although this is not explicitly stated.

XML Lightweight Extractor (XLE)

Developer: IBM
URL: http://www.alphaworks.ibm.com/tech/xle
License: Evaluation
Database type: Relational (JDBC)
Direction(s): Database=>XML
Entry last updated: November, 2000

XLE is a set of Java classes for extracting data from a relational database. It uses annotated DTDs as templates. For each scalar-valued construct (PCDATA-only element or attribute), the user can specify the table and column from which the value comes. The applicable row is determined by annotations that map element types with element content to tables. This makes it specify an object-relational mapping from the XML document to the database, but allows more complex mappings as well. Optional input parameters determine which data to actually retrieve. XLE comes with a GUI editor for annotating DTDs.

XML Portal Server (XPS)

Developer: Uniway
URL: http://www.uniway.be/products/content_products_icommerce_sequoia.html
License: Commercial
Database type: Relational, Lotus Notes, etc.
Entry last updated: November, 2000

XML Portal Server (XPS) provides XML-driven business processes and XML-based content delivery. Although the lines can blur between the two, they are most easily viewed separately.

Business processes are implemented as a user-defined series of actions on a business object (XML document). The XML document may come from an external source (such as an external application or the Web) or be constructed from data in a database. A dispatcher controls the flow of the document from action to action based on user-defined rules, which use XPath expressions to identify data in the document. Actions, such as ordering new parts based on current inventory, storing the data in the document in a database, or simply indexing the document, are carried out by "integration agents"; users can use pre-defined agents or write their own. All business processes occur within a Microsoft Transaction Server (MTS) transaction.

Content delivery is provided through Content Delivery Agents (CDAs). CDAs are typically written in JavaScript or VBScript and control how an XML document is assembled. For example, the script might retrieve data from a database, integrate content from an Internet content provider such as CNBC, or associate a certain style sheet based on the value of retrieved data. The XML document can then be formatted with a stylesheet before being sent to the client. XPS comes with a number of pre-defined CDAs.

In addition to communicating with external databases, XPS can gather, aggregate, and/or index content through "Smart Spiders" and store the results in a local repository.

Note: Sequoia Software may be out of business, leaving Uniway as the sole developer of XPS. Sequoia's Web site (http://www.sequoiasoftware.com) does not respond. (February, 2002)

XMLServer

Developer: Hydrosoft
URL: http://www.hydrosoft.com.br/XMLServerEngine/IndexXMLServer.html
License: Free (not Open Source)
Database type: Relational (JDBC)
Direction(s): Database=>XML
Entry last updated: December, 2005

XMLServer is middleware for transferring data from a relational database to a set of XML documents. It uses an object-relational mapping, which the user specifies through annotations in an XML Schema document. The annotation language can only transfer data from columns to child elements (not attributes), but the language can handle one-to-one, one-to-many, many-to-one, and many-to-many relationships.

In the XML Schema, the user specifies a root table from which to start retrieving data. XMLServer constructs one XML document per row of data in this table. (Depending on the relationships between tables in the database, the document may contain multiple rows of data from subordinate tables.) Applications can retrieve the XML document corresponding to a particular key value in the root table, or the XML documents corresponding to all of the rows in the root table. In the latter case, the application retrieves one document at a time.

Internally, XMLServer uses both Java and the Mathematica kernel. It exists as a package in either language and can be called from either language without knowledge of the other language. It comes with a simple GUI, which can be used to retrieve data and display it as XML.

XML Servlet (Middleware)

Developer: Cerium Component Software Incorporated
URL: http://ceriumworks.com/tech.html
License: Commercial
Database type: Relational (JDBC)
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: The XMLServlet Web site has been static for some time and no server is registered for the ceriumworks.com domain [March, 2004].

From the Web site: "XMLServlet is a Java Servlet that uses XML instructions to combine XML or HTML templates with one another and with live database values. Use XMLServlet to display or update your database. Just give XMLServlet your fill-in-the-blank XML instructions. XMLServlet reuses the HTML (or XML) and SQL you use today."

It appears that for transferring data between XML documents and the database, XMLServlet models the document as a single table.

XML Servlet comes with two other tools: XMLOutline and XMLDB. XMLOutline takes a hierarchical outline, such as you might create in a text editor, and generates the corresponding DTD and an (empty?) XML document. XMLDB takes the DTD and XML document and generates the SQL statements needed to create the tables in which to store the document, including the necessary primary/foreign key relations.

XMLShark (Middleware)

Developer: infoShark
URL: http://www.infoshark.com/products/,
http://www.biztalk.org/library/view_object_details.asp?id=461 (CARD schema, free registration required)
License: Commercial
Database type: Oracle
Direction(s): Database=>XML, XML=>Database
Entry last updated: November, 2000

NOTE: There is no recent information about XMLShark on the Web and the infoshark.com domain is now a search site [March, 2004].

XMLShark transfers data between an Oracle database and an XML document that conforms to a proprietary schema. It is designed as a tool to regularly transfer data between two databases using XML as a data transport. Using a GUI, the user controlling the source database specifies what data to transfer, the server to transfer it to, and when to transfer it. Similarly, the user controlling the target database specifies when to read data from the XML document. Note that any application can intercept the generated document, since it is simply stored in the file system on the target server.

The XML document has three sections. The first section contains the metadata needed to model a database: tables, columns, data types, primary and foreign key constraints, and so on. The second part contains existing data, modeled as a set of tables. The third part contains data to be inserted, updated, or deleted, again modeled as a set of tables. Each part is optional.

If the XML document contains data that comes from a join, the data is not nested as might be expected. Instead, the data from each table is stored separately (hence the set-of-tables model). The advantage of this is that it provides an efficient format for transferring data, since the code to transfer non-nested data is generally faster than the code to transfer nested data. The disadvantage is that, because the data is not nested, the resulting document cannot be used by general-purpose XML applications.

XML for Tables (formerly Experanto, XTables)

Developer: IBM
URL: http://www.alphaworks.ibm.com/tech/xtable
License: Evaluation only
Database type: Relational (DB2)
Direction(s): Database=>XML
Entry last updated: April, 2003

XML for Tables implements a subset of XQuery over DB2. It is written in Java and is available to applications through a set of DB2 stored procedures.

XML for Tables models each table as a single XML document, using the naming rules from SQL/XML. Users can then query these virtual XML documents using XQuery. This allows the construction of arbitrary XML documents from relational data. (Note that data from two or more tables can be joined within the XQuery statement itself.) XML for Tables translates XQuery statements into SELECT statements, translating the results of these statements into XML.

In addition, users can construct "XML views" of relational data. Just as SQL views define virtual (unmaterialized) tables, XML views define virtual (unmaterialized) XML documents. And just as SQL views can be queried with SELECT statements, XML views can be queried with XQuery statements. XML views are defined using XQuery statements, and the composability of XQuery statements means that queries against XML views can be optimized by composing the XQuery statements that define and query the view.

XML Transactional DOM

Developer: Ontonet
URL: http://ontonet.com/XML_Product.html
License: Commercial
Database type: Object-oriented (R1 Enterprise)
Entry last updated: August, 2003

XML Transactional DOM is a native XML database built on top of Ontonet's R1 Enterprise object-oriented database. XML documents are stored in the database as Infoset objects. They may be created by passing an existing XML document to the database, which is then parsed and used to create Infoset objects, or directly through a DOM tree.

The XML Transactional DOM implements DOM Level 2 on top of the Infoset objects. It lazily instantiates nodes and uses Java Soft Reference Caching to allow the Java Garbage Collector to collect nodes when the JVM runs out of memory. (Collected nodes that are still in use are reinstantiated from the database as needed.) The XML Transactional DOM also implements XQuery over the same Infoset objects, with query results returned as DOM nodes.

Transactions are supported by an additional interface on the Document object. This has a method to return a DOMTransaction object, which implements JTA (Java Transaction API) transactions as well as savepoints. Savepoints are implemented using the same methods as are used in JDBC. They can be nested to arbitrary depth.

Additional features of the XML Transactional DOM include URI-addressable document collections, a JAXP implementation, the ability to store XML documents in their original form (such as for legal reasons), and serialization of DOM trees or fragments to Java OutputStreams or Writers.

XpSQL

Developer: Makoto Yui
URL: http://gborg.postgresql.org/project/xpsql/projdisplay.php
License: Open Source
Database type: Relational (PostgreSQL)
Entry last updated: March, 2004

XpSQL is a native XML database built on top of PostgreSQL. It stores documents by decomposing them into fragments and storing these fragments in a set of predefined tables. XpSQL has a command line utility for loading XML documents into the database, as well as PostgreSQL functions for retrieving document fragments by node ID. It also has PostgreSQL functions that implement DOM Level 2 and XPath.

There are two main XPath functions. XPath2SQL converts an XPath query into an SQL query over the tables used to store XML documents. The SQL query can then be used to "execute" the XPath query. Results from the SQL query are returned as XML(?). The XPath_Eval function accepts an XPath query and returns rows containing two columns: document ID and node ID. In other words, it returns a list of nodes that satisfy a given XPath query. XPath_Eval is typically used in a FROM clause. For example, the following query uses XPath_Eval to retrieve the value of Price elements. (xml_node is the table used by XpSQL to store individual nodes.)

   SELECT xml_node.value
   FROM xml_node, XPath_Eval('/Books/Book/Price') AS price_nodes
   WHERE xml_node.id = price_nodes.id

XVRL (eXtensible Value Resolution Language)

Developer: xvrl.org
URL: http://www.xvrl.org/
License: Open Source
Database type: Relational (JDBC)
Direction(s) : Database=>XML
Entry last updated: Summer, 2001

XVRL is a template language that allows you to retrieve data from external sources, including relational databases. The language includes elements to declare a "resolver" class and call methods on it. The results of these method calls are returned to the processing software, which embeds them in the output document.

It appears that virtually any Java class can be used as a "resolver" class. Thus, the product is arbitrarily extensible. The software comes with an SQLDatabaseResolver class, which can return the results of a SELECT statement as XML using a table-based mapping.

There are two ways to process an XVRL document. First, JResolver is a simple command line utility that accepts an XVRL document and an optional XSLT stylesheet and returns the processed document. Second, JAVR (Java API for Value Resolution) allows you to process XVRL documents in your own application. JAVR conforms to Apache's Transformation API for XML (TrAX).

XYZFind Server (Native XML Databases)

Developer: XYZFind Corporation
URL: http://www.xyzfind.com/product/
License: Commercial
Database type: Proprietary
Entry last updated: Summer, 2001

NOTE: XYZFind's technology has been acquired by Interwoven and integrated into that company's Enterprise Discovery Framework product. It does not appear that XYZFind is available as a standalone product any more [4/12/03].

From the company:

"XYZFind Server provides storage, search, and query for XML documents. It automatically indexes well-formed XML documents without requiring a DTD or schema. When a document is added to the database, it is decomposed into a persistent, parsed structure, which is used to reconstruct the entire document for retrieval. Documents are round-tripped with respect to the XPath data model and the rules for non-validating XML parsers. The storage mechanism is derived from search engine technology, extending the traditional inverted index. Keywords, numbers, and "nodes" (elements, attributes, text, comments, processing instructions, and namespace declarations) are all included in the index."

"XYZFind Server uses a proprietary, XML-based query language (XYZQL) to add, replace, delete, search, and query documents in the database. XYZQL provides similar query functionality to that of XPath and XQL, with the addition of support for numeric-range and full-text keyword search. It provides equivalents to XPath's child, descendant, and attribute axes. Like XPath, it supports queries that use wildcards and boolean constraints, and queries that return document fragments. Unlike XPath, it is expressed in XML syntax and does not support equivalents to all of the XPath axes."

"XYZFind Server functions as an HTTP server, supporting GET requests for retrieving documents, PUT requests for adding/updating documents, and POST requests for sending XYZQL commands. It also supports the bulk indexing of zip files that contain XML documents. The server supports concurrent reads and writes to the database."

"The XYZFind distribution comes with a sample client and Java API (including source code) that serves as a wrapper for the HTTP interface."