On 7/23/07, Ruwan Linton <ruwan.linton@gmail.com> wrote:
Hi Michael,

First of all, thanks a lot for the information. We highly appreciate your feedback.

Comments in-line,

On 7/24/07, Michael Buchholz <m.buchholz@subnatural.de> wrote:

I search for a sub-topic of my master thesis about Web-Service Mediation
Systems. After reading the JBI spec I had the idea that a WMS (Synapse)
could be used as a CBR in JBI-Enviroments:

The Normalized Message Router (NMR) does not provide content based
routing (CBR). Each component (Service Enging / Binding Component)
referres another component by service endpoint, name or interface. That
means each component has its own routing logic included. Also the
component that sends the normalized message to the NMR must make sure
that the normalized message payload is understood by the referenced
component. (if i got the specs right)

You are absolutely correct.

Synapse could provide a more convenient method to route messages by
providing CBR to a JBI enviroment.

For this each component registered on the NMR could forward its
normalized message (NM) to the Synapse-Service Engine. Synapse can now
select the next component on the NMR for the incoming message type and
transform it to the message type of the selected component so that it
will understand it. All this is done by simply adding all the rules in
synpase rule-engine.


In summary Synpase could provide:
  - validation & classification (incoming XML message from the NMR)
  - enrichment (for example calling other external services and
inserting this data into the xml message)
  - content based routing (choose next endpoint on the NMR)
  - transformation (transform outgoing message so that the selected
nmr-endpoint can understand it)

.. that is a VERTO pattern: validate - enrich - route - transform - operate.

And all this information can be stored in the synapse registry. JBI
routing in a centralized way. The components donīt need any more routing
logic except sending their messages to the synapse endpoint.

Well.. thatīs it ;). What do you think?

Yes, you are correct, but in that case synapse is an JBI SE, I don't think providing a SE to a JBI container makes us JBI compliant.

But, we can very easily do this by providing a special send method for the NMR.

[RA] I don't think adding any JBI specific send method in the existing interface will add much value to synapse.
Synapse already has a good abstraction layer (MessageContext, SynapseEnvironment interfaces ..etc) , so 3rd party components can leverage this flexibility.

If there is a demand and the community agrees we could provide a generic JBI Service Engine in the synapse extentions module that does implement these interfaces (at the least SynapseEnvironment). The NM can be wrapped or converted to a synapse message context.

In a nutshell this SE will use Synapse to do transformations and/or CBR.

We were not interested in the JBI compliantness because we were not much sure what the value addition is. Some how it is very good to here this and will do this for our coming release.



Paul Fremantle schrieb:
> So far we haven't done any work on JBI integration. You are the first
> person to ask for it! :-)
> Could you give us some more information on your requirements and the
> benefits you think there might be of integrating with a JBI container?
> Paul
> On 7/22/07, Michael Buchholz <m.buchholz@subnatural.de> wrote:
>> Hi,
>> I wonder how Synapse can be plugged into a JBI enviroment as service
>> engine for content based routing.
>> After googling for a while I found this:
>> @ http://wiki.apache.org/incubator/SynapseProposal
>> "Synapse plans to support the Java Business Integration (JBI) standard,
>> but we plan do so as an add-on rather than as core APIs."
>> Is this still a planed feature? Do you have any more information on what
>>   the steps are to achieve it?
>> Thanks.
>> Michael
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
>> For additional commands, e-mail: synapse-dev-help@ws.apache.org

To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org

Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"