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 ?
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) ?
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
for that, else the BAM component would end up lots of BCs code internally
(what about
jms, jabber, etc...).
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