The UUID's are never exposed to users. There is a conversion of a given artifact name and version into uuid and that particular uuid is used for artifact deployment, removal, dispatching etc.
On Tue, Aug 20, 2013 at 4:52 AM, Hiranya Jayathilaka <[email protected]>wrote: > > On Aug 19, 2013, at 2:02 PM, Udayanga Wickramasinghe < > [email protected]> wrote: > > 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. > > > This sounds good. It's consistent with how the other artifacts are > versioned in Synapse. > > 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} > > > The UUIDs are never exposed to the user right? > > Thanks, > Hiranya > > > Regards > Udayanga > > On Sun, Aug 11, 2013 at 2:46 PM, Hiranya Jayathilaka <[email protected] > > wrote: > >> >> On Aug 11, 2013, at 4:52 AM, Thilini Gamage <[email protected]> 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: [email protected] <[email protected]>; Mobile: +1 (805) >> 895-7443 >> Blog: >> http://techfeast-hiranya.**blogspot.com<http://techfeast-hiranya.blogspot.com/> >> >> > > > -- > http://www.udayangawiki.blogspot.com > > > -- > Hiranya Jayathilaka > Mayhem Lab/RACE Lab; > Dept. of Computer Science, UCSB; http://cs.ucsb.edu > E-mail: [email protected] <[email protected]>; Mobile: +1 (805) 895-7443 > Blog: > http://techfeast-hiranya.**blogspot.com<http://techfeast-hiranya.blogspot.com/> > > -- Thilini Thilini Shanika Gamage Department of Computer Science and Engineering University of Moratuwa
