[ 
https://issues.apache.org/jira/browse/SYNAPSE-928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13643821#comment-13643821
 ] 

Hiranya Jayathilaka commented on SYNAPSE-928:
---------------------------------------------

I believe versioning support has already been implemented for APIs (by 
Udayanga). See the mail thread http://marc.info/?t=132991674600004&r=1&w=2 for 
details.The same concept can be extended to support versioning in other types 
of artifacts too. I guess proxy service versioning will be almost identical to 
API versioning. If a proxy service named TestService has two versions 1.0 and 
2.0, they should be exposed over URLs '/services/TestService/1.0' and 
'/services/TestService/2.0'. URL '/services/TestService' should be dispatched 
to the latest available version of TestService. I'd also recommend you to look 
at how Axis2 supports versioning for its service artifacts. IIRC this is 
supported by Axis2's hierarchical services feature (see 
http://isurues.wordpress.com/2009/09/23/hierarchical-service-support-for-axis2/).
 I think Synapse service versioning should have similar semantics.

Versioning of sequences and endpoints will be a little different though, since 
they are not directly exposed to user in any way like APIs or proxy services. 
So their versions are only visible within the realm of SynapseConfiguration. 
Only exception would be the main sequence and fault sequence, which are, in a 
way, exposed to the user. Some changes to the way Synapse looks up 
configuration artifacts is necessary to properly support this. For instance 
right now when we want to lookup a sequence we do something like:

<sequence key="foo"/>

We need to think how this changes when versioning is in place. Some 
possibilities are:

<sequence key="foo" version="1.0"/>
<sequence key="foo-v1.0"/>
                
> [GSoC] Versioning of Synapse config artifacts
> ---------------------------------------------
>
>                 Key: SYNAPSE-928
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-928
>             Project: Synapse
>          Issue Type: Improvement
>            Reporter: Kasun Indrasiri
>            Priority: Critical
>              Labels: gsoc2013
>
> Currently non of the synapse artifacts fully support versioning mechanism. 
> This feature is to support a new versioning strategy for all such artifacts. 
> Sequence, Proxy Service, API, Endpoints 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to