Nov 24

Correlations are probably the single least understood area of eInsight functionality. The example discussed in the attached document implements one of the “Event Linking and Sequencing” patterns, present in e*Gate 4.5 and eGate SRE, that is alleged to have been lost in ICAN and Java CAPS. In as much as implementing ELS in eInsight 5.1 using correlation requires some development, rather then just configuration, one could argue that it was lost. In as much as implementing ELS in eInsight 5.1 is possible and relatively simple, one could also argue the opposite.

The example discussed in the document, and illustrated with the Java CAPS 5.1.3 project export, implements a part of the ELS functionality dealing with linking a specific number of related messages, a counted correlation pattern, or an aggregator pattern.

CorrelationExamples_01_SimpleCountedTwo.doc – writeup – Java CAPS 5.1.3 Project Export

4 Responses to “Java CAPS 5.1.3 Correlation Example 1 – ELS Counted Messages”

  1. How to correlate massage if they are out puts of independent processes

    like collab/businessprocess 1 2 3
    if all are success then only collab/businessprocess 4

  2. Michael Czapski says:

    Just so I understand the requirement let me repeat what I think you are saying:

    Collab/Process 1 outputs message 1 (to what, a JMS Queue?)
    Collab/Process 2 outputs message 2 (to what, a JMS Queue?)
    Collab/Process 3 outputs message 3 (to what, a JMS Queue?)
    Process 3 is triggered somehow and is supposed to receive message 1, message 2 and message 3, combine them into a single message and output this combined message as message 4

    Is this correct? Is this what you are trying to achieve?

  3. At first thank you for your response,
    You are correct, one more extra point is Process 1, Process 2 and Process 3 asynchronously sending messages to Process 4

    For a temporary solution we have achieved this by making Process 4 as java collaboration (JCD) contains a global HashMap is updated with JMS Message header user properties set for each Process 1, process 2 and Process 3 out Message.

    We would like to do the same in BPEL

  4. Michael Czapski says:

    To implement this in eInsight your process 1, 2 and 3 could deliver each message to a JMS Queue and set a JMSCorrelationID in that message to the same vale for each instance to be correlated. It does not matter at this point whether process 1, 2 and 3 are JCDs ro BPs. Process 4 would be triggered by a message that gives it the correlation value for the instance to be correlated. It would have a JSM receive activity correlating messages from the three other queues using the JMSCorrelationID set by processes 1, 2 and 3. Thsi is an outline of one solution that would work. Other variants are possible – for example a single JMS receive activity with with processes 1, 2 and 3 delviering messages to the same queue.

    Is this explanation enough? Unfortunatelly I am not in a position to actually develop and supply a project that does this.



Leave a Reply

preload preload preload