On 7/31/06, Soumadeep-Infravio <[EMAIL PROTECTED]> wrote:

I agree... but in a content based routing too the end result is a path to
an
application or service etc... though the technology used could be the same
but from a BAM perspective the utility factor is effectively greater...


Agreed. And be sure that I do not underestimate the need for such easier
configuration,
though I still think that using endpoint resolution would avoid duplicating
code, and
allow using any existing BC that support such feature, while keeping a
centralized configuration.

Maybe I miss something, i would have thought a BAM component would be more
about
monitoring than embedding business logic with rules: see one definition of
BAM at
http://www.ebizq.net/topics/bam/features/4689.html --  of course all
definitions can be argued ;)


----- Original Message -----
From: "Guillaume Nodet" <[EMAIL PROTECTED]>
To: <servicemix-dev@geronimo.apache.org>
Sent: Monday, July 31, 2006 4:41 PM
Subject: Re: BAM Component


> On 7/31/06, Soumadeep-Infravio <[EMAIL PROTECTED]> wrote:
>>
>> Thanks Guillaume,
>>
>> comments inline...
>>
>> Thanks
>> Soumadeep
>>
>> ----- Original Message -----
>> From: "Guillaume Nodet" <[EMAIL PROTECTED]>
>> To: <servicemix-dev@geronimo.apache.org>
>> Cc: <servicemix-users@geronimo.apache.org>
>> 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
>





--
Cheers,
Guillaume Nodet

Reply via email to