Hi Devs,

With respect to currently held discussions on refactoring of Synapse core, i would like to see the following packaging structure in core. The inspiration came from Axis2 packing, which i humbly think pretty clear and accurate.

We have two context interfaces, SynapseContext (previously know as SynapseEnvironment ) and SynapseMessage, so lets have a package org.apache.synapse.context for them. So let have its impl also in this package.

Lets have a SynapseContextFactory to create SynapseContext impls. SynapseContext and SynapseMessage will be the runtime entities.

Lets have deployment time entity as SynapseConfiguration and let it be in the org.apache.synapse.xml package. So all the builders need to populate the SynapseConfiguration should come under this package. In addition to this all the mediator factories should come under this package.

For core mediators lets have org.apache.synapse.mediators.[builtim/filters etc].

One drawback i see in the current svn code is that the mediator chain is built with the very first message that enters into Synapse. In order to overcome this, simply lets have Synapse base listener, SynapseServer which delegates to SimpleHTTPServer, with the the build SynapseContext. So when the first message or any successive messages the SynapseContext is available.

Please be kind enough to comment on prior.

Thank you


On 5/3/06, Paul Fremantle <pzfreo@gmail.com> wrote:
I don't agree that the SynapseEnvironment is the same as the Axis2 Context. The environment is an abstraction layer over a set of services. Its possible we need to split into three parts: a configuration, a context, and an environment.


On 5/2/06, Sanjiva Weerawarana < sanjiva@opensource.lk> wrote:
On Tue, 2006-05-02 at 11:46 +0530, Asankha C. Perera wrote:
> I am separating the SynapseConfiguration from the SynapseEnvironment,
> and also allowing for possible configuration model creation
> programatically (if required). Hence a SynapseConfigurationBuilder (say)
> could read a synapse.xml and create a SynapseConfiguration instance. A
> reference to this SynapseConfiguration would be held in the
> SynapseEnvironment, and the SynapseEnvironment would provide the usual
> access to send(), injectMessage() etc. The SynapseConfiguration will
> hold references to named Sequences, Endpoints and to global properties.

Sounds good but can we s/SynapseEnvironment/SynapseContext/ ?? That's
consistent with Axis2 naming and seems like a fit here too. I'm the one
who came up with the SynapseEnvironment name so I'm happy to propose a
change too ;-).


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

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


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