On Aug 11, 2013, at 4:52 AM, Thilini Gamage <tgtshan...@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: hira...@cs.ucsb.edu; Mobile: +1 (805) 895-7443 Blog: http://techfeast-hiranya.blogspot.com