You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Thilini Shanika (JIRA)" <ji...@apache.org> on 2013/04/28 21:14:16 UTC

[jira] [Comment Edited] (SYNAPSE-928) [GSoC] Versioning of Synapse config artifacts

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

Thilini Shanika edited comment on SYNAPSE-928 at 4/28/13 7:12 PM:
------------------------------------------------------------------

I have looked at what you have recommended to study about and came up with strategy to enable versioning in sequences, endpoints and proxy services. The sample configurations and versioning hierarchy are illustrated below.

If we consider 3 sequences, which have same key and belong to several versions, the sample configurations would be as shown below.

   1) <sequence key="foo"/>
   2) <sequence key="foo" version=”1.0”/>
   3) <sequence key="foo" version=”2.0”/>

    
Hierarchical structure of sequences in different versions

├── sequences
│   ├── 1.0
│   │   └── foo.xml
│   ├── 2.0
│   │   └── foo.xml
│   └── foo.xml

When we consider versioning of endpoints, the sample configuration would be same as the sequence configuration.

     1)<endpoint name="simple">
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService1"/>
    	</endpoint>

     2)<endpoint name="simple" version=”1.0”>
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService2"/>
    	</endpoint>

     3) <endpoint name="simple" version=”2.0”>
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService3"/>
    	</endpoint>

Hierarchical view of endpoints in several versions

├── endpoints
│   ├── 1.0
│   │   └── simple.xml
│   ├── 2.0
│   │   └── simple.xml
│   └── simple.xml


In a proxy service with several versions, the configuration would be as illustrated below.

     1)<proxy name="SampleProxy" serviceHierarchy="/a/b/" </proxy>

             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/

     2)<proxy name="SampleProxy" serviceHierarchy="/a/b/" version=”1.0” </proxy>

             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/1.0/

     3)<proxy name="SampleProxy" serviceHierarchy="/a/b/" version=”2.0” </proxy>
   
             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/2.0/
 
The suggested, hierarchy would be as shown below.

├── proxy-services
│   └── a
│       └── b
│           ├── 1.0
│           │   └── sample_proxy.xml
│           ├── 2.0
│           │   └── sample_proxy.xml
│           └── sample_proxy.xml



Can you please give more suggestions, thoughts and comments on the above proposed strategy.
Thanks
                
      was (Author: thilinis):
    I have looked at what you have recommended to study about and came up with strategy to enable versioning in sequences, endpoints and proxy services. The sample configurations and versioning hierarchy are illustrated below.

If we consider 3 sequences, which have same key and belong to several versions, the sample configurations would be as shown below.

   1) <sequence key="foo"/>
   2) <sequence key="foo" version=”1.0”/>
   3) <sequence key="foo" version=”2.0”/>

    
Hierarchical structure of sequences in different versions

├── sequences
│   ├── 1.0
│   │   └── foo.xml
│   ├── 2.0
│   │   └── foo.xml
│   └── foo.xml

When we consider versioning of endpoints, the sample configuration would be same as the sequence configuration.

     1)<endpoint name="simple">
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService1"/>
    	</endpoint>

     2)<endpoint name="simple" version=”1.0”>
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService2"/>
    	</endpoint>

     3) <endpoint name="simple" version=”2.0”>
      	     <address uri="http://localhost:9000/soap/SimpleStockQuoteService3"/>
    	</endpoint>

Hierarchical view of endpoints in several versions

├── endpoints
│   ├── 1.0
│   │   └── simple.xml
│   ├── 2.0
│   │   └── simple.xml
│   └── simple.xml


In a proxy service with several versions, the configuration would be as illustrated below.

     1)<proxy name="SampleProxy" serviceHierarchy="/a/b/" </proxy>

             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/

     2)<proxy name="SampleProxy" serviceHierarchy="/a/b/" version=”1.0” </proxy>

             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/1.0/

     3)<proxy name="SampleProxy" serviceHierarchy="/a/b/" version=”2.0” </proxy>
   
             URL: http://{Host}:{Port}/proxy-services/a/b/SampleProxy/2.0/
 
The suggested, hierarchy would be as shown below.

├── proxy-services
│   └── a
│       └── b
│           ├── 1.0
│           │   └── SampleProxy.xml
│           ├── 2.0
│           │   └── SampleProxy.xml
│           └── SampleProxy.xml


Can you please give more suggestions, thoughts and comments on the above proposed strategy.
Thanks
                  
> [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: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org