Reliable XML Message Management for Web Services
Wednesday, 30 January 2008


Project Director
Sven Helmer

Tadeusz Litak

    Other Project Partners  Carl-Christian Kanne,  University of Mannheim, Germany

   Project Details
Funded by EPSRC 02/2008-07/2010



Native XML processing message management 

Project website

Reliable XML Message Management for Web Services

Project Aims

Our goal is to provide a robust asynchronous message-based communication framework for web service applications that handles XML data in a reliable and efficient manner. We envision a system that is transparent to the end user, flexible enough to support a variety of application areas, and that scales well to support a large number of participants. The aims of the project are to develop a flexible framework for defining specific transactional semantics and to facilitate the consolidation of the disparate XML message management functionality of today's middleware into one system, a native XML database system.


Most of today's data resides in self-contained" data management islands", which may be distributed world-wide and which are generally difficult to integrate. In a globalised world, the interoperability of such systems is especially important for business processes spanning different departments or even organisations. What kind of communication platform and processing systems do these business processes need? Models for business processes typically involve asynchronous message exchanges within stateful transactions. The eXtensible Mark-up Language (XML) has become a de facto standard for exchanging and describing business data. So a system handling business data should provide support for efficient XML processing. Loss of data or inconsistencies should also be avoided, as critical business data has significant financial value, and this requires effective transactional support from the underlying storage system. Currently we have message-oriented middleware, queue-enabled relational database systems, and native XML database systems to do this kind of data processing. However, dividing the functionality needed for business processes into different components - web services, message-oriented middleware, local application logic, and relational database systems - has serious drawbacks. Processing web service requests in such an environment means that they have to be transformed from an XML representation into the middleware's internal representation, then into the representation of the programming language that is used, and maybe even further into a relational database system's representation. Delivering an answer requires the reverse sequence of transformations. This not only leads to a degradation in performance, but also makes the job of the developer much harder, as he or she has to apply many different technologies unrelated to the application domain. Another important aspect is the overlap in functionality of the different components. For reliable services, it is also necessary to add transaction processing and recovery components, which make the systems even more unmanageable and may lead to further redundant implementation of functionality. Last but not least, there is a plethora of different, sometimes competing, specifications for web services and web-service-related technology. Unfortunately, many of these ignore implementation aspects or rely on other specifications that have not been worked out in detail yet. Realising reliable message queues within a native XML database system would avoid unnecessary data transformations and prevent redundant implementation of functionality, resulting in more reliable and more efficient XML message management