synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Saminda Abeyruwan <>
Subject Simple Framwork for Synapse (wrt option2)
Date Mon, 10 Oct 2005 06:17:43 GMT
Hi ,

For the scope of M1, IMHO we need the following components in Synapse.

1. Tranport in phase

2. Synapse Dispatcher, which will be the Rule engine

3. Phases for QoS

4. Synapse Message Receiver, which will eventually call the Mediator.

Synapse dispatcher will deal with the Rules. I believe this is critical 
part of this project and eventually play the main role. In the scope of 
M1, we can fixed the service.

In the scope of M1, for the QoS, we should have only a logging handler. 
So Dispatcher will not have much work to do in this case. In this case 
we need a single module with a singe handler. Let say logginModule.mar. 
But this will grow into more complex shames, once other module are on 
the loop.

Synapse message receiver will call the relevant mediator. For M1 case, 
it is simple as a Axis2 service. So we can configure the mediator via 
services.xml. With Dependency Injection we can deal with MessageContext 
in Mediator. IMHO if we decided to inject MessageContext rather SOAP 
envelope, I'm pretty sure we could deal with lot more with the work 

So mediator will decide, if more processing needed to done or processing 
is finished. If finished it can send “false” as return parameter to the 
dispatcher, or “true” if more processing needed to be done. Thus, 
dispatcher will look in the rule table whether more rules are registered 
to a particular URI, if not send it to its original destination.

Simple sketch is as follows,


I believe this is the 2nd option (wiki) we are talking and it's much 
more robust, extensible and flexible than 1st option. What would all the 
Synapse developers think of this.



View raw message