JMS Broker Clustering Policy-Based Messaging Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current application integration solutions face challenges in coupling the 'trigger subsystem' with standards-based messaging protocols like JMS, leading to a tradeoff between feature-rich proprietary protocols and interoperable messaging, with users needing to custom-implement capabilities and face non-standardized implementations.
Innovation Solution
A messaging layer that embeds JMS as a peer to the proprietary messaging protocol, enabling JMS messaging without a special adapter and reducing custom programming, while providing a rich feature set accessible through both proprietary and open messaging constructs, including client-side failover and load balancing features.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a proprietary messaging protocol is used, then feature-rich messaging capabilities are provided, but interoperability and standardization are reduced
Solution Approach 1:
The system segments the messaging functionality by separating the proprietary protocol layer from the JMS layer. The proprietary protocol handles feature-rich messaging while JMS provides standardization, allowing both to coexist independently within the broker architecture.
Solution Approach 2:
The broker is designed with multi-functionality to support both proprietary messaging protocols and JMS simultaneously. This universal approach allows the same broker infrastructure to serve both standardized and feature-rich messaging needs without requiring separate systems.
2Ease of operation
If a JMS adapter is provided, then standards-based interoperable messaging is enabled, but the trigger subsystem capabilities cannot be fully used
Solution Approach 1:
The system merges the JMS adapter functionality directly into the broker core, combining the standardized JMS interface with the proprietary trigger subsystem capabilities. This integration allows JMS messages to access trigger subsystem features without requiring a separate adapter layer.
Solution Approach 2:
The JMS protocol is nested within the proprietary broker architecture, allowing JMS messages to be processed by the core broker functions including the trigger subsystem. The JMS layer is embedded within the broader proprietary messaging framework, enabling access to deeper system capabilities.
3Adaptability or versatility
If custom implementation is required for every new application, then specific capabilities are achieved, but configuration and programming requirements increase significantly
Solution Approach 1:
The broker provides self-service capabilities through built-in load balancing and failover mechanisms that automatically manage message distribution across clustered brokers. This eliminates the need for custom programming in each application, as the system self-manages these complex operations through configurable policies.
Solution Approach 2:
The system uses parameter-based configuration to control broker clustering behavior, load balancing strategies, and failover policies. By changing parameters rather than rewriting code, applications can adapt to different requirements without increasing programming complexity.
4Reliability
If broker clustering with load balancing is implemented, then system scalability and reliability are improved, but policy management complexity increases
Solution Approach 1:
The load balancing policies are designed to be dynamic and configurable, allowing the system to adapt to changing conditions without manual intervention. Policies can be modified at runtime to optimize performance and reliability based on actual system state and requirements.
Solution Approach 2:
The broker clustering system implements feedback mechanisms that monitor system performance and automatically adjust load distribution policies. This feedback loop simplifies policy management by using real-time data to optimize message routing without requiring complex manual configuration.
Data Source
AI summary
The example embodiments disclosed herein relate to application integration techniques and, more particularly, to application integration techniques built around the publish-and-subscribe model (or one of its variants). In certain example embodiments, a publishing application, and first and second broker clusters are provided. Each broker cluster comprises a plurality of brokers, and each broker is configured to relay messages from the publishing application to at least one subscribing application. A composite cluster connection is associated with the publishing application, and cluster connections are associated with the composite cluster connection. The message generated by the publishing application is sent to the broker cluster in accordance with a user-defined composite policy. The message is routed from the composite cluster connection to at least one cluster connection based on a first policy layer. The messaging is routed from the at least one cluster to at least one broker based on a second policy layer.


