Index Changes

Difference between version and version     

Back to My New Page, or My New Page Info


At line 1 removed 1 line.
!!! Message Ordering and Gap Detection
At line 3 removed 29 lines.
! Quick Links
* [Movie| http://mediacast.sun.com/users/Serge_Blais/media/iepGapWindow]
* [Source Code|http://blogs.sun.com/sblais/resource/openesb/GapWindowExample.zip]
[{Image src='http://blogs.sun.com/sblais/resource/GapWindow.PNG' width='63' height='54' align='left' }]
!! Gap Window Operator
The Gap Window Operator takes what it finds to be missing from a stream based on the sequencing index and a grouping key (what it calls the partition). So, for that group, it will look at events in the stream that are missing sequenced events. For example, if S=sequencer, K=key (name, country), so we have Ev %%sup x%% (Sequence,Name,Country)
Ev %%sup 1%% = (2,"Serge","Canada")
Ev %%sup 2%% = (1, "Jason","Norway")
The Gap Window Operator will see that Ev(1,"Serge","Canada") is missing, but that K("Jason", "Norway") doesn't miss any events. When Ev %%sup X%% (1,"Serge","Canada) will be received, the output of the GapWindow Operator will be empty.
[{Image src='http://blogs.sun.com/sblais/resource/SequencingStream.PNG' width='82' height='53' align='left' }]
!! Sequencing Operator
The sequencing operator works on the events with the same structure. Hence, it will use a sequencing index and a grouping key (what it calls the partition) just the same. So for the same example, before Ev %%sup X%% (1,"Serge","Canada) arrive, the output of this operator will only be Ev %%sup 2%% (1, "Jason","Norway"). Once the missing event arrives, the output will be: { (1, "Jason","Norway"),(1,"Serge","Canada),(2,"Serge","Canada)}
!!Just Wink it...
If you would like, you can find a [small movie |http://mediacast.sun.com/users/Serge_Blais/media/iepGapWindow] showing the structure of what I did, including a sample of how it works (READ THE ADDENDUM!). You can also get the [source code|http://blogs.sun.com/sblais/resource/openesb/GapWindowExample.zip] if you would like to play with it ourself. The zip file has the iep module, the composite application and the SOAP UI project file to test it.
!! Addendum
In the code sample, the output of the sequencing order is placed into an Attribute Based Window operator. This attribute base window serves as a grouping method that keeps a range of events, based on that value - the size as set in the customizer. After some discussions, we found that this operator is useless the use case we have for this sample. And the simpler model (see below) actually is better. So, if you're only looking at the movie and not reading this, you're missing this bit of information, sorry!
[{Image src='http://blogs.sun.com/sblais/resource/SequencingManagement.PNG' width='318' height='181' align='center' }]

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-2) was last changed on 29-Feb-08 07:45 AM, -0800 by sblais