synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Udayanga Wickramasinghe <mastershield2...@gmail.com>
Subject Re: Synapse Proxy Services Versioning
Date Mon, 19 Aug 2013 21:02:15 GMT
Hi,
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
/services/TestProxy_1.0.0_{uuid}

Regards
Udayanga

On Sun, Aug 11, 2013 at 2:46 PM, Hiranya Jayathilaka
<hiranya911@gmail.com>wrote:

>
> On Aug 11, 2013, at 4:52 AM, Thilini Gamage <tgtshanika@gmail.com> 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
> https://issues.apache.org/jira/browse/SYNAPSE-914). May be you can try to
> leverage that.
>
> Thanks,
> Hiranya
>
>
>
> Any comments and suggestions on this?
>
> [1]-https://issues.apache.org/jira/browse/SYNAPSE-928
> --
> Thilini
> Thilini Shanika Gamage
> Department of Computer Science and Engineering
> University of Moratuwa
>
>
>  --
> Hiranya Jayathilaka
> Mayhem Lab/RACE Lab;
> Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
> E-mail: hiranya@cs.ucsb.edu <hiranya@wso2.com>;  Mobile: +1 (805) 895-7443
> Blog: http://techfeast-hiranya.**blogspot.com<http://techfeast-hiranya.blogspot.com/>
>
>


-- 
http://www.udayangawiki.blogspot.com

Mime
View raw message