synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Fremantle <pzf...@gmail.com>
Subject Re: ClassMediator vs. mediators as Axis2 services
Date Fri, 06 Jan 2006 17:09:52 GMT
Well it *implies* that addressing is needed. I don't think it states it
because another mediator might have filled the wsa:to

Paul

On 1/6/06, ant elder <ant.elder@gmail.com> wrote:
>
> Doesn't a mediator saying route on the WSA-To header make the use of
> addressing visible enough (and tells Synapse to run addressing)?
>
>    ...ant
>
> On 1/6/06, Paul Fremantle <pzfreo@gmail.com> wrote:
> >
> > Ant
> >
> > My only concern is that I think Synapse will be more useable if the
> > semantics of any flow are visible. Which means not running addressing unless
> > its told to.
> >
> > Paul
> >
> > On 1/6/06, ant elder <ant.elder@gmail.com> wrote:
> > >
> > > The benefit is not forcing everyone to nearly always put <engage-addressing-in/>
> > > in their synapse.xml
> > >
> > > The requirements are:
> > >
> > > 1) Some mediators require addressing headers, some don't
> > > 2) Some mediators require addressing headers but aren't invoked
> > > through an AxisEngine
> > > 3) Don't want addressing module to run multiple times due to
> > > overwriting altered headers
> > > 4) Sometimes addressing headers aren't required at all so don't want
> > > addressing module run (for performance?)
> > >
> > > So the current solution  is:
> > >
> > > A) Require explicit addressing when and where required in synapse.xml
> > >
> > > But there are other solutions:
> > >
> > > B) Synapse by default always calls addressing at start for every
> > > message. Optional <dont-engage-addressing/> for (4)
> > >
> > > C) Have a way for mediators to indicate they require addressing so
> > > Synapse can engage the module when required. And Synapse knows if it was
> > > already engaged for a previous mediator so only engages it once. (Or have
> > > the Axis2 addressing code itself see its already run so doesn't need to
> > > again)
> > >
> > > Maybe I don't understand the Axis2 module stuff properly, but is there
> > > also:
> > >
> > > D) Iff a Mediator calls one of the WSA getter's/setters on
> > > SynapseMessage then if it hasn't already the addressing code gets run to
> > > populate the  fields
> > >
> > > Surely (4) isn't so common, all of Synapse samples use addressing. So
> > > isn't (B) more appropriate than (A) for now, and look at  (C) or (D) for
> > > later?
> > >
> > >    ...ant
> > >
> > > On 1/6/06, Paul Fremantle <pzfreo@gmail.com > wrote:
> > > >
> > > > Ant
> > > >
> > > > I don't agree that synapse should always do addressing. Firstly, if
> > > > we have addressing engaged and we make multiple passes through Axis then
it
> > > > overwrites the To/From/etc properties in the SynapseMessage every time.
> > > > Secondly, I don't agree that we always want to parse those headers.
> > > > In fact we decided at the very first F2F not to.
> > > >
> > > > We started out making every mediator a pass through Axis2 for a
> > > > specific benefit - QoS. However, we now have an alternative model to get
> > > > those QoSs (the emptymessagereceiver) and I don't see the benefit. I think
> > > > there is a clearer model between Axis2 and Synapse if we only call back
into
> > > > Axis2 when we need a specific Axis2 service.
> > > >
> > > > Paul
> > > >
> > > > On 1/6/06, ant elder < ant.elder@gmail.com> wrote:
> > > > >
> > > > > Is the ClassMediator really needed?
> > > > >
> > > > > In yesterdays IRC chat there was some discussion about mediators
> > > > > being Axis2 services vs. the ClassMediator which calls a Java class
directly
> > > > > without going through an Axis engine. It was said the ClassMediator
is
> > > > > easier to use as you don't need a service xml and is faster.
> > > > >
> > > > > Are these the only reasons for having the ClassMediator? Wouldn't
> > > > > having Synapse auto-deploy to Axis2 (as Glen suggested) fix the complexity
> > > > > problem, and if it really is so slow going through an empty AxisEngine
> > > > > shouldn't we try to get the Axis2 guys to fix that instead of us
just not
> > > > > using Axis? Surely a pass through an empty engine should just be
a few empty
> > > > > loops and a bunch of if statements which shouldn't add so much overhead?
> > > > >
> > > > > One thing this would help with is with the addressing stuff. i
> > > > > don't really like having <engage-addressing-in/> explicitly
in the Synapse
> > > > > XML. Shouldn't Synapse just know when addressing is required? If
you have a
> > > > > Mediator the routes based on a WSA header then if the mediator was
an Axis2
> > > > > service the addressing stuff could be engaged automatically on the
pass
> > > > > through the engine.
> > > > >
> > > > >    ...ant
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Paul Fremantle
> > > > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> > > >
> > > > http://bloglines.com/blog/paulfremantle
> > > > paul@wso2.com
> > > >
> > > > "Oxygenating the Web Service Platform", www.wso2.com
> > > >
> > >
> > >
> >
> >
> > --
> > Paul Fremantle
> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> >
> > http://bloglines.com/blog/paulfremantle
> > paul@wso2.com
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
>
>


--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

Mime
View raw message