synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hiranya Jayathilaka <>
Subject Re: Synapse Proxy Services Versioning
Date Sun, 11 Aug 2013 18:46:36 GMT

On Aug 11, 2013, at 4:52 AM, Thilini Gamage <> wrote:

> Hi all,
> I'm currently working on the GSOC project of 'Versioning of Synapse Artifact' [1] and
up to now I have completed the versioning of Synapse sequences ( including main sequences)
and endpoints. The versioning of sequence and endpoints is done by generating an unique identifier
(based on artifact name and version) for each versioned artifact and maintaining that unique
identifier in deployment and run time dispatching etc. 
> Now I'm looking into proxy services versioning and according to my understanding the
proxy services versioning can to be enabled by building axis2 service for each versioned proxy.
The axis2 service deployment and dispatching should be done using a generated unique identifier.

I think this should be similar to API versioning. APIs use the VersioningStrategy interface
to determine how the version numbers are associated with individual APIs. The default implementation
uses a URL-based strategy.

e.g. /context/1.0.0/foo/bar

You can take a similar approach for proxy services. May be we only need URL based versioning
in the case of proxy services. Since proxy services deal with SOAP messages, I don't think
other options make much sense. So we probably need something like:


The main problem however is representing different versions of the same service in the SynapseConfiguration/AxisConfiguration.
Axis2 supports something called hierarchical services (see
May be you can try to leverage that.


> Any comments and suggestions on this?
> [1]-
> -- 
> Thilini 
> Thilini Shanika Gamage
> Department of Computer Science and Engineering
> University of Moratuwa

Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;
E-mail:;  Mobile: +1 (805) 895-7443

View raw message