Are we agreeing to Revamping? Hiranya, do you have any concerns? On Tue, Oct 4, 2011 at 12:15 PM, Amila Suriarachchi <[email protected]> wrote: > > > On Tue, Oct 4, 2011 at 11:45 AM, Srinath Perera <[email protected]> wrote: >> >> +1 .. if we can replace all with one mediator .. that is great! but we >> have to carefully design the syntax to make sure final result is >> natural for all cases. > > I think there are two ends for this. One is making it general. Other think > is make common case simple. > > Current filter (it actually does some thing like if) mediator configurations > can be as follows. > > <filter xpath="//ns1:foo/ns1:bar/text() == 'test'"> > <then /> > <else /> > </filter> > <filter source="//ns1:foo/ns2:bar/text()" regex="test"> > <then /> > <else /> > </filter> > > former 'xpath' is referred to an xpath returning a boolean while the > 'source' attribute refer to an xpath returning a text value. Here it has > tried to cover different specific scenarios which make that particular > occasion to use it easily. > > But we if follow an method like BPEL by using another copy mediator (in fact > I think these are not mediators but some language constructs). It would have > written like this. > > <variable name='foo' > > > <copy> > <from source='soapbody' xpath="//ns1:foo/ns1:bar/text()"/> > <to source='$foo' /> > </copy> > > <if condition="$foo =='test'"> > <then/> > <else/> > </if> > > then it is more generic. And no need to repeat the xpath, source veriables > with each mediator. But for a simple xpath based filter need to use another > copy mediator etc .. > > thanks, > Amila. > > > > > >> >> --Srinath >> >> On Fri, Sep 30, 2011 at 3:03 PM, Kasun Indrasiri <[email protected]> wrote: >> > Hi all, >> > In the current ESB implementation we have couple of mediators for >> > message >> > routing. While 'Filter' and 'Switch' mediators provide basic level of >> > message filtering, router mediator is also doing very similar to what >> > filter/switch mediators do. The usage of Router mediator is rare and >> > often >> > got replaced by filter/switch mediators. So, IMO, Router Mediator is >> > redundant, unless it provides some advance/complex routing logic >> > support. >> > In the ESB 4.0.0 release, we introduces 'Conditional Router', which is >> > intended to route messages based on HTTP headers, query parameters and >> > url. >> > However, this doesn't support routing based on message payload. But >> > unlike >> > 'Router', the 'Conditional Router' introduces uses the concepts of >> > 'Evaluators' (And, Or, Match, Equal, Not) that can be utilize to >> > construct >> > complex routing logics. >> > eg: >> > <conditionalRouter continueAfter="false"> >> > <conditionalRoute breakRoute="false"> >> > <condition> >> > <and xmlns=""> >> > <match type="header" >> > source="my_custom_header1" regex="foo.*"/> >> > <match type="url" >> > regex="/services/StockQuoteProxy.*"/> >> > </and> >> > </condition> >> > <target sequence="cnd2_seq"/> >> > </conditionalRoute> >> > <conditionalRoute breakRoute="false"> >> > <condition> >> > <and xmlns=""> >> > <match type="header" >> > source="my_custom_header2" regex="bar.*"/> >> > <equal type="param" source="qparam1" >> > value="qpv_foo"/> >> > <or> >> > <match type="url" >> > regex="/services/StockQuoteProxy.*"/> >> > <match type="header" >> > source="my_custom_header3" regex="foo.*"/> >> > </or> >> > <not> >> > <equal type="param" source="qparam2" >> > value="qpv_bar"/> >> > </not> >> > </and> >> > </condition> >> > <target sequence="cnd3_seq"/> >> > </conditionalRoute> >> > </conditionalRouter> >> > So, we can easily add message level routing capability(so that we can >> > drop >> > Router mediator) to Conditional Router and with that we'll get the power >> > of >> > using evaluators for message level routing as well. Having bunch of >> > mediators that's doing the similar thing, cause a negative effect on >> > ESB's >> > usability. >> > (Most of the pointed listed here, were discussed during last code-review >> > of >> > Group-D.) >> > >> > >> > [1] http://wso2.org/project/esb/java/4.0.0/docs/mediator_guide.html >> > >> > Thanks, >> > -- >> > Kasun Indrasiri >> > Associate Technical Lead >> > WSO2, Inc.; http://wso2.com >> > lean.enterprise.middleware >> > >> > cell: +94 71 536 4128 >> > Blog : http://kasunpanorama.blogspot.com/ >> > >> >> >> >> -- >> ============================ >> Srinath Perera, Ph.D. >> Senior Software Architect, WSO2 Inc. >> Visiting Faculty, University of Moratuwa >> Member, Apache Software Foundation >> Research Scientist, Lanka Software Foundation >> Blog: http://srinathsview.blogspot.com/ >> _______________________________________________ >> Carbon-dev mailing list >> [email protected] >> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > >
-- ============================ Srinath Perera, Ph.D. http://www.cs.indiana.edu/~hperera/ http://srinathsview.blogspot.com/ _______________________________________________ Carbon-dev mailing list [email protected] http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
