Friday, October 21, 2011

CMAF3. JCAPS Common Routing

When I started the JCAF (JCAPS Common Architecture Framework) design, I deeply considered two factors.
    . What is the true reusable component?
    . How can the developer focus on interface transformation logic with this reusable component architecture?

This picture is the high level architecture diagram for CMAF (Common Architecture Framework).
The below example is from Batch Connectivity Map as part of examples for JCAF. There are two different things for JMS subscription and publication in Collaboration.  
· JMS Subscription
- In this example, there are 5 Collaborations subscribed to the same JMS queue, called queBatchTransform. How this scenario is possible? The answer is JMS message selector. Based on the transaction type, each Collaboration can share JMS queue or topic. To subscribe specific message to queBatchTransform, you can use JMS message selector.
- For Example, svcFileMappingExample uses JMS Message Selector Name with TARGET and its value with FileMappingExample.
- Most of Collaborations in JCAF are using JMS Message Selector Name with Target.
· JMS Publication
- In every Connectivity Map, Collaboration service seems to publish messages to the same JMS Queue, called queDummy. But this JMS Queue queDummy is actually dummy Queue.
- In the ustilities jar, it has static JMSOTD.sendTo() method in order to dynamically route message to a specific JMS Queue.

    public static void sendTo(JMS jms, String destinationName, String messageSelectorName, String messageSelectorValue, String correlationID, String message) throws JMSException
    public static void sendTo(JMS jms, String destinationName, String messageSelectorName, String messageSelectorValue, String correlationID, String message, String priority) throws
For the detail things, refer to the below document. There are a couple of examples in this blog. You can use the sample.
CMAF3_Common_Routing_For_JCAF.doc

No comments:

Post a Comment