XML Exchange for Content-Based Message Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Advanced Messaging Queuing Protocol (AMQP) systems lack support for routing based on XML content and do not easily integrate with standard XML application programming interfaces (APIs), limiting their ability to efficiently handle and route XML messages.
Innovation Solution
The implementation of an XML exchange that processes and routes XML messages using XQuery queries, allowing for efficient routing and transformation of XML content, and the use of binary XML to reduce parsing overhead, enabling message queues to receive only the necessary data in the required format.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If AMQP treats all message content as opaque, then simplicity and efficiency are improved, but routing based on XML content becomes impossible
Solution Approach 1:
The patent segments the message handling process into two distinct phases: initial opaque routing based on message headers (maintaining AMQP efficiency) and subsequent XML-specific processing using XQuery for content-based routing. This allows the system to preserve the simplicity of treating messages as opaque while adding XML routing capability through a separate, optional processing layer.
Solution Approach 2:
The patent introduces an intermediary layer between the AMQP messaging system and XML content processing. This intermediary uses XQuery expressions as a mediator to bridge the gap between opaque message routing and XML content-based routing, enabling the system to route messages based on XML content without compromising the underlying AMQP protocol's efficiency.
2Adaptability or versatility
If XML messages are parsed multiple times for different queries, then routing flexibility is improved, but parsing overhead increases
Solution Approach 1:
The patent applies preliminary action by parsing the XML message once and storing the parsed structure for subsequent reuse. The XQuery engine caches the parsed XML data after the initial parsing operation, allowing multiple queries to be executed against the same parsed structure without re-parsing the original message. This significantly reduces parsing overhead while maintaining query flexibility.
3Reliability
If current AMQP interfaces are used, then protocol compatibility is improved, but integration with XML APIs becomes difficult
Solution Approach 1:
The patent implements universality by creating a multi-functional messaging system that can handle both traditional AMQP messages and XML messages through a unified interface. The system provides universal routing capabilities that work with both message types, allowing the same infrastructure to serve both legacy AMQP applications and new XML-based applications without requiring separate integration paths.
Data Source
AI summary
In one embodiment of a computing system, a client supplied binding is received from a client, wherein the client supplied binding includes an XQuery or a script. A predefined binding is stored in a server, wherein said predefined binding includes an XQuery, a script, or a program, allowing the client to select the predefined binding. An exchange receives an Extensible Markup Language (XML) message from a publisher application and sends the XML message to each message queue whose binding matches the XML message.


