Discussions

News: Montag 0.6: Web Services System for XML Database Interaction

  1. Montag is a Java Web Services based system for the interaction with every Native XML Database that supplies a Java implementation of the XML:DB API.

    If you want to use a Native XML Database, you will not be bound to a particular client, nor to a particular language for developing your client.
    Thanks to Montag Web Services, every client will be able to:

    * Create and remove collections of XML documents.
    * Add XML documents to the database.
    * Remove XML documents from the database.
    * Retrieve XML documents from the database.
    * Query a single document or a collection of documents .
    * Modify a single document or a collection of documents through XUpdate.

    Simply using XML and SOAP.

    Today, version 0.6 has been released, which includes a new web service for modifying XML documents "on the fly", without retrieving them from the database and modifying by hand, thanks to the XUpdate language.

    For more information, please visit: http://montag.sourceforge.net/
  2. 1) Most of the "native" XML databases already provides SOAP inteface and most of XML:DB drivers connects to this databases using this SOAP interface. So we got SOAP-over-SOAP wrapeer which should be EXTREEMLY quick ;)
    ------------- ---------------- ----------
    |Application| -SOAP-> |Montag->XML:DB| -SOAP-> |Database|
    ------------- ---------------- ----------

    2) There's no industrial strength databases supports XML:DB. I mean that Tamino, Sonic XML Server and other serious products do not supports thi interface. eXist, Xindice and dbXML have a limited number of enterprise features.

    3) XMl:DB community seems to be inactvive for more than one year. See: http://xmldb-org.sourceforge.net/
  3. Hello Misha,

    here are my thoughts about your observations:

    1) XML:DB drivers do not connect using SOAP: they mostly use an internal core API in embedded mode or a XML-RPC API in distributed mode. Montag is a middleware and some sort of overhead is normal: but this overhead is not a killer one.
    Moreover, some databases provide SOAP interfaces but they are not interoperable: you cannot switch from one database to another without changing your SOAP client. Using Montag services, you can.

    2) The Tamino NXD DO support XML:DB API, see http://www2.softwareag.com/Corporate/products/tamino/prod_info/features/dfmanyAPIs.asp
    I don't know if other commercial databases support these APIs, but I believe that they can play an important role. However, I must say that making Montag an industrial strength product is not may primary goal ;)

    3) Yes, I know, it SEEMS.

    In my opinion, I think you are missing the main goals of Montag:

    * What if you would change your Native XML Database without changing your client code?
    * What if you would expose only a restricted number of operations over your database (i.e. only the query operations and not the updating ones)?
    * What if you would interact with your database using SOAP and a language other than Java?

    Here comes Montag.