Java CAPS 5.1.3 Correlation Example 1 - ELS Counted Messages

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

CountedSimple.zip – Java CAPS 5.1.3 Project Export

Comments:

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

Posted by jcapsdeveloper on February 28, 2008 at 08:12 PM EST #

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?

Posted by Michael Czapski on February 29, 2008 at 01:36 AM EST #

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

Posted by jcapsdeveloper on February 29, 2008 at 06:57 PM EST #

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.

Regards

Michael

Posted by Michael Czapski on March 01, 2008 at 02:00 AM EST #

ff

Posted by guest on July 14, 2008 at 11:44 AM EST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

In this Blog I post abstracts of articles / writeups / notes on various aspects of Java CAPS and SOA Suite including solutions, discussions and screencasts. The links to the referenced material are included in the bodies of the abstracts.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today