synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Udayanga Wickramasinghe <>
Subject Re: Synapse Proxy Services Versioning
Date Mon, 19 Aug 2013 21:02:15 GMT
sorry for my late reply.
+1 for hierarchical services. I think one other alternative is to implement
versioned proxy services through 'version' attribute which is how
sequences/endpoints are versioned right now. We plan to represent different
versions of same service using a unique id (uuid) and register them in
'AxisConfiguration'/SynapseConfig. However this requires a special handler
(ie:- Axis2 handler/dispatcher) to convert a name,version pair to the
respective uuid and dispatch to the relevant service.

ie:- handler will convert /services/TestProxy/1.0.0  to


On Sun, Aug 11, 2013 at 2:46 PM, Hiranya Jayathilaka

> 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:
> /services/TestProxy/1.0.0
> 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.
> Thanks,
> Hiranya
> 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
> Blog: http://techfeast-hiranya.**<>


View raw message