Looks like Ilya Sterin had an agenda when he was surveying the existing XML database solutions out there.
Enterprise Java Community: Object To XML Persistence Frameworks: Interview with Ilya Sterin of Nextrials
The initial goal of XQOM is basically an abstraction layer that allows the mapping of XQuery expressions and their result sets to the object graph
If I understand what he’s trying to accomplish, then he’s replicating a BEA product called, AquaLogic Data Services Platform full-disclosure: I work for BEA professional services). Currently, BEA does this with XML and uses XmlBeans to create a generic wrapper around the output, but it can be any XML marshaling technology.
To Ilya’s credit, he is looking at the complete end to end solution beyond just database to XML service layer. He wants a complete XML data source to front an XQuery object mapper/model. It’s about time these XML databases had a chance to shine. Perhaps they’ll overcome the hurdles that object database could not.
One thing that is interesting is that XQOM will encapsulate the XML from a XML store to the java runtime. To some extent, Ilya falls into the very group that he attempts enlighten in his previous post.
I think most enterprise developers today look at XML as an intermediary transport format…
XQOM attempts to do just that. Getting back to ALDSP for a second, the XML expose by ALDSP comes from the underlying RDBMs, but really can come from any J2EE sources (RAR, WS, RDMBs) and be expressed in an XML shape or schema. This is essentially creating a virtual XML database. Add SDO to the mix and now there is a read/write runtime that does what Hibernate, JPA, and JDO do very well.
It appears that XQOM will attempt to tackle the “last three meters“. Even better, if XQOM creates the plugins to Hibernate or JDO* to communicate with SDO or an XQuery/XML backed data source, that would go a long way to promoting XML databases and first class, enterprise citizens.
* Update: Looks like the great minds at JPOX are a step ahead of me and it did not fall on deaf ears.