On 7/31/06, Soumadeep-Infravio <[EMAIL PROTECTED]> wrote:
Thanks Guillaume,
comments inline...
Thanks
Soumadeep
----- Original Message -----
From: "Guillaume Nodet" <[EMAIL PROTECTED]>
To: <[email protected]>
Cc: <[email protected]>
Sent: Monday, July 31, 2006 3:14 PM
Subject: Re: BAM Component
> Great, thx a lot !
> CCing servicemix-dev, as I think this is the place where this
> discussion
> should take place.
>
> Do you have any plan / ideas of future features for this component ?
Well, to start with we can have
1) Marshaler for various input sources
2) integration with GUI based monitoring applications
3) integration with OpenOffice, where you can directly feed data to a
spread
sheet template
4) have an intelligence module to monitor usage/evaluation patterns and
predict or forcast based on those patterns
... possibilities are infinite...
> Currently, it seems this that the component is a router with actions.
> How will it differ from existing content based routers (xpath router,
> drools
> component) ?
Traditionally, routing is more in terms of providing options for
failover,
parallel, load balancing etc...techniques not for monitoring and for
taking
corrective actions it's again restricted to finding a path to a
service/app
etc nothing more than that.
I was talking about content-based routing ;)
I also agree with James that we could leverage ServiceMix expressions.
But I do agree we can factor out the existing SM Samples code base and use
it
> Another point I am wondering about, is the fact that the component
embeds
> the
> email code inside an action: i think it would be better to reuse the
> existing components
Yes, our intension is to factor out the common parameters and use a
global
configuration file which can be referenced.
> for that, else the BAM component would end up lots of BCs code
internally
> (what about
> jms, jabber, etc...).
You are right as a feature extension we will certainly use all possible
ways
of communication/transport , my idea was to provide adaptors for it ->
actions
That was exactly what was worrying me. Having duplicate code will lead to
a
more
difficult maintenance. Maybe we could use URIs (
http://servicemix.goopen.org/site/uris.html),
or more generally endpoint resolution. This would allow configuring
endpoints in the BAM
component, while putting the code in the respective BCs.
> On 7/31/06, Soumadeep-Infravio <[EMAIL PROTECTED]> wrote:
>>
>> Hi Guillaume/All,
>>
>> We feel that a Business Activity Monitoring Component would be a good
>> addition to ServiceMix's existing samples. We have worked on a
prototype
>> for
>> such a component and would like to contribute it.
>>
>> We have phased it out and depending on the feedback we will add other
>> features as required.
>>
>> Please send us your feedback...
>>
>> Best regards
>> Soumadeep
>>
>> Details of the component
>> ==================
>>
>> Phase 1
>> This is a Business Activity Monitoring Component which would work only
>> for
>> Web services message payload in phase 1. An XPath expression could be
>> provided in a config file which will be used to evaluate the incoming
>> message. Depending on the evaluation result it will allow one or more
>> actions to be taken. These actions again could be made available in a
>> config
>> files as below.
>>
>> Config file:
>> =======
>>
>> <SM-WS-BAM>
>> <Service url=http://www.xmethod.com/getVersion>
>> <Rule name="sendEmailWhenGetQuoteInvoked">
>> <expression value/Envelope/Body/GetQuote">
>> <Action name="emailer"/>
>> <Action name="..."/>
>> </Rule>
>> <Rule name=.../>
>> </Service>
>> </SM-WS-BAM>
>>
>> <Actions>
>> <Action name="emailer">
>> <Description/>
>> <Adaptor name="org.apache.sm.Emailer">
>> <smtp-host name="mail.webmail.org">
>> <from address="[EMAIL PROTECTED]">
>> <to [EMAIL PROTECTED];[EMAIL PROTECTED]>
>> <message value="There is a new quotation coming
your
>> way!!">
>> </Adaptor>
>> </Action>
>> </Actions>
>>
>> Flow (inside the BAM component)
>> ===
>> note: The usual MEP will be followed to pass the payload to the next
>> component in line.
>>
>> 1) Fetch the Source from the Normalized Message
>> 2) Fetch the rule to evaluate depending on the endpoint-request URL
>> 3) Check for condition and get the evaluation result (using
>> java1.5xpath's evaluate method)
>> 4) Get the adaptor to invoke and invoke it. (Adaptor instances will be
>> cached ) - from the action definition.
>>
>>
>> Phase 2
>> The component would be extended to monitor any payload. This will be
>> achieved using appropriate marshalers, which will convert the payload
to
>> xml. The marshaler to use could be indicated as a property value in
>> the
>> MessageExchange. The rest will be per phase 1.
>>
>> Possible use:
>> ==========
>>
>> Servicemix 3.0 currently is distributed with several samples, one of
them
>> being the http-binding, which internally uses a saaj binding to
redirect
>> the
>> message to a soap endpoint. The BAM component could be used in-between
>> which
>> would enable the user to monitor the payload and take action.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
>
--
Cheers,
Guillaume Nodet