Actually for the 2nd point (i.e. selecting grouping attributes), my thought
was slightly different.  IMO, we can keep the criteria for picking the
uniqueID as you correctly described, but we can also let the user pick
multiple "Group-able" fields as well which translates as separate fields on
the stream def.  Of course you can pick this out of the payload as well,
but I think mapping each grouping field onto a column in Cassandra makes
more sense.
At the BAM Activity Dashboard, this basically translates to a grouping
option based on one or more fields.

Thanks,
Manoj


On Mon, Apr 21, 2014 at 12:44 PM, Anjana Fernando <[email protected]> wrote:

> Hi Manoj,
>
> Yeah, that's a good idea. Basically I guess, there are two parts, first
> is, how we propagate the correlation property / activity id (grouping
> value), that is, where in the message between nodes do we set it, at the
> moment, for HTTP, we have a specific HTTP header, and for HL7, we use a
> specific attribute in the HL7 message. So probably, we can make it
> customizable, for example, for XML messages, to give an XPath expression to
> extract a specific element value as the the activity id. So possibly we can
> put that as a feature in the message tracer agent we have. Also, the other
> part is in the stream definition, we can let the user select, which
> property is to be used as the activity id, rather than using a single well
> known property id called "activityId". So at the end, the stream events can
> have a meaningful property name for the correlation id such as "orderId"
> and so on.
>
> I've created JIRAs [1] and [2] to track these.
>
> [1] https://wso2.org/jira/browse/BAM-1575
> [2] https://wso2.org/jira/browse/BAM-1576
>
> Cheers,
> Anjana.
>
>
> On Sat, Apr 19, 2014 at 1:22 PM, Manoj Fernando <[email protected]> wrote:
>
>> Folks,
>>
>> Following a chat I had with Anjana and Shankar, some thoughts for
>> improving the "BAM Message Tracer".
>>
>> As of now, a message is traced by a unique ID that is assigned by the the
>> tracer handler (if not already set).  This unique ID is what BAM Activity
>> Dashboard uses for grouping all correlated messages (in/out).   However,
>> there can be situations where we might need to use a more business related
>> parameter for grouping (take a mobile device ID + session ID for example)
>> which is likely to exist on the header or the message body.
>>
>> To support this, we can use two options.
>>
>> 1. Provide a feature on Message Tracer to let users specify expressions
>> to extract this uniqueID or a combination of them.
>> 2. Let users specify which parameters are 'group-able' (either from
>> header or payload), and use them in the stream definition so that on the
>> Dashboard we can support multiple grouping options.
>>
>> We created an Axis2 module to do something similar (more closer to Option
>> 1) for a PoC, so we can reuse some of that stuff.
>>
>> Regards,
>> Manoj
>>
>> --
>> Manoj Fernando
>> Director - Solutions Architecture
>>
>> Contact:
>> LK -  +94 112 145345
>> Mob: +94 773 759340
>> www.wso2.com
>>
>
>
>
> --
> *Anjana Fernando*
> Technical Lead
> WSO2 Inc. | http://wso2.com
> lean . enterprise . middleware
>



-- 
Manoj Fernando
Director - Solutions Architecture

Contact:
LK -  +94 112 145345
Mob: +94 773 759340
www.wso2.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to