On Jul 26, 2007, at 2:54 AM, Paul Fremantle wrote:
Jeremy
I'm not clear why we need to add synapse specific XML fragments. If we
have to do that then the benefit of using SCA looks much less to me. I
guess I was hoping that we could at least configure basic synapse
scenarios without deviating from published specs.
One of the published extension points in the spec is the ability to
add different implementations. That's what we're doing here - adding
an extension that supports the Synapse programming model. The big
advantage is that it would support the existing Synapse programming
model as is, without the need to change any of the Synapse components.
We could wire it up using SCA programming models e.g.
implementation.java but that would expose a lot of implementation
detail to users e.g.
<component name="StockQuoteSender">
<implementation.java
class="org.apache.synapse.mediators.builtin.SendMediator"/>
</component>
and IMO that's a bit ugly.
By using a Synapse specific implementation type we are able to get
the best from both technologies: the standardized assembly from SCA,
the existing mediation-oriented programming model from Synapse. IOW,
users would be able to define mediation flows, bindings, policies,
etc. using standard SCA assembly model and be able to reuse existing
Synapse Mediators or write their own using Synapse's mediation-
oriented programming model.
BTW, these extensions would only be used for mediation components,
and of course the samples are all about mediations so we'd see them
used a lot :-) Users could still use regular SCA implementation types
to wire up their more complex mediations. For example, if we were to
separate the discount calculation from the data selection we could do
something like:
<composite ...>
...
<component name="DiscountQuoteMediator">
<synapse:class class="samples.mediators.DiscountQuoteMediator"/>
<reference name="discountCalculator" target="DiscountCalculator"/>
</component>
<component name="DiscountCalculator">
<implementation.java class="samples.common.DiscountCalculator"/>
<property name="discountFactor">10</property>
<property name="bonusFor">5</property>
</component>
</composite>
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]