The URI configuration mechanism does rock - I agree with Guillaume, it'd be a very useful way to configure an ECA / BAM configuration.
On 7/31/06, Guillaume Nodet <[EMAIL PROTECTED]> wrote:
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
-- James ------- http://radio.weblogs.com/0112098/