Version 0.7

Main Features

  • Web Services and SOAP based architecture.
  • Web Services complete description through WSDL 1.1.
  • Configurable for interacting with every XML Database following and implementing the XML:DB API protocol.
  • XML Database operations exposed through Web Services:
    • Create Collection.
    • Remove Collection.
    • Add Document.
    • Remove Document.
    • Get Document.
    • Query Document (through XPath).
    • Query Collection (through XPath).
    • Update Document (through XUpdate).
    • Update Collection (through XUpdate).
  • Two different working modes:
    • Remote mode, with per Web Service session-oriented authentication and operation mode.
    • Local mode, with request-oriented operations and authentication through the configuration of a dedicated xml file and/or the dynamic exchanging of user name and password in the SOAP header.
  • Session management through the exchanging of session ids in SOAP headers.
  • Query results clearly structured in a dedicated XML document, formatted in a database independent and machine understandable way.
  • Logging of:
    • Exceptions.
    • Web Services elaboration time.
    • SOAP request and response envelopes.
  • Fully tested with:
    • Apache Xindice Native XML Database.
    • dbXML Native XML Database.
    • eXist Native XML Database.

History and Changes

Montag 0.7 - January 04, 2005

  • New, clear and simple configuration process.
  • The dedicated web.xml file for configuring Montag to talk with the Apache Xindice XML Database in embedded mode was removed.
    Now, the simplified configuration process is unique for every database and the Xindice embedded mode is no more supported.
  • Exception handling improvements.
  • Several improvements to the internal structure.

Montag 0.6 - October 15, 2004

  • New XUpdateService, for modifying XML documents without retrieving them from the collection, running XUpdate commands against a single document or a whole collection.
    For additional information about XUpdate, please refer to this link.
  • Upgrade to the final JDOM 1.0 version.

Montag 0.5.5 - September 27, 2004

  • WSDL improvements:
    • Specification of username and password SOAP header elements added to every local service WSDL.
    • Specification of the sid header element, for sessions management, added to every remote service WSDL.
    • Caching of WSDL documents for faster retrieving.

Montag 0.5.1 - September 20, 2004

  • A major bug, causing ClassCastException in query services, has been successfully fixed.

Montag 0.5 (First Public Release)

September 16, 2004 - Montag 0.5 (Final Release)
  • XMLDBManager: synchronized block removed because useful only for non fully-preemptive kernels.
  • Successfully tested with eXist Native XML Database.
September 6, 2004 - Montag 0.5 Beta 1 (Development Release)
  • SessionPoolHandler: no namespace for the sid SOAP header element.
  • Now, also all local services have BasicService (in their local package) as base class.
  • Clients operating with the services in local mode can now pass username and password in the SOAP header: these, if present, override the authentication info in the local-config.xml file.
  • CollectionManagerService class, for creating and removing collections.
  • XMLDBManager: synchronized block inserted in the queryCollection method, for better performance on heavy concurrent queries (needs testing).
  • Minor changes and minor bugs fixing.

Montag 0.4 (Internal Release)

  • SessionPoolHandler class implemented, for session management through the exchanging of session ids in SOAP headers.
  • Slight modifications for better exceptions and SOAP faults management.
  • No need for synchronization in XMLDBManager class.
  • LogDir, LogConf and LocalConfigDir parameters in web.xml file, unified in the web-inf parameter.
  • No need for configuration of file.
  • Minor changes and bugs fixing.

Montag 0.3 (Internal Release)

  • QueryService for document-level and collection-level XPATH querying.
  • SOAPLoggerHandler for logging of SOAP messages.
  • AxisGuardFilter for blocking access to Axis related resources.
by Sergio Bossa