Hi Nirmal

IMO we should have version number in war since we will be shipping fixes
which means a new war. And changing the context is also not good because
then client has to changed. So I think the third option is the best if it
works.


Thanks
Jo

On Sat, Aug 15, 2015 at 9:16 PM, Thilini Cooray <[email protected]> wrote:

> Hi Nirmal,
>
> Thanks for the suggestion. We are looking in to the most suitable approach
> to version the API. As you have mentioned, it would be a better approach if
> we can direct the requests to the latest API version. I will look into it.
>
> On Sat, Aug 15, 2015 at 11:16 AM, Nirmal Fernando <[email protected]> wrote:
>
>> Any particular reason for having a war file per version? Much better
>> approach would be to version the API classes. That way you could get all
>> traffic without an explicit version on to the latest available REST API.
>> You need to embed version info into API classes.
>>
>> https://developer.github.com/v3/ Github api is a good reference to
>> check.
>>
>> On Sat, Aug 15, 2015 at 10:17 AM, Sanjeewa Malalgoda <[email protected]>
>> wrote:
>>
>>> +1 for option 02.
>>> On Aug 15, 2015 10:01 AM, "Thilini Cooray" <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> We need to version a  webapp which contains RESTful APIs.
>>>> This webapp will be deployed in WSO2 Api Manager.
>>>>
>>>> Following are 3 approaches I found for the purpose :
>>>>
>>>>    1. Make war name as <warName>${project.artifactId}-${pom.version}</
>>>>    warName> which will output webappName-version.war
>>>>
>>>>            Its endpoint address is http://HostName:port
>>>> /webappName-version/
>>>>            Ex : https://localhost:9443/api-import-export-1.0.0/
>>>>
>>>>        2.  Make war name as <warName>
>>>> ${project.artifactId}#${pom.version}</warName> which will output
>>>> webappName#version.war
>>>>
>>>>             This will allow Tomcat server to identify versions of the
>>>> web app.
>>>>             Its endpoint address is http://HostName:port/
>>>> webappName/version/
>>>>             Ex : https://localhost:9443/api-import-export/1.0.0/
>>>> <https://localhost:9443/api-import-export-1.0.0/>
>>>>
>>>>             WSO2 Application Server follows this approach [1].
>>>>
>>>>        3.  Apache tomcat consists of another approach using "##" for
>>>> context naming [2].
>>>>             That approach needs to make war name as <warName>
>>>> ${project.artifactId}##${pom.version}</warName> which will output
>>>> webappName##version.war
>>>>
>>>>            Its endpoint address is http://HostName:port/webappName/
>>>>            This will use the latest version.
>>>>            Ex : https://localhost:9443/api-import-export/
>>>> <https://localhost:9443/api-import-export-1.0.0/>
>>>>            However this naming convention cannot be deployed in WSO2
>>>> Api Manager. It returns AbstractWebappDeployer Unsupported file path
>>>> format.
>>>>
>>>> What is the best approach to follow when versioning the webapp ?
>>>>
>>>> [1] https://docs.wso2.com/display/AS521/Webapp+Versioning
>>>> [2] http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming
>>>>
>>>> Thanks,
>>>> ThiliniC.
>>>>
>>>> --
>>>> Best Regards,
>>>>
>>>> *Thilini Cooray*
>>>> Software Engineer
>>>> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194>
>>>> E-mail : [email protected]
>>>>
>>>> WSO2 Inc. www.wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>>
>> Thanks & regards,
>> Nirmal
>>
>> Team Lead - WSO2 Machine Learner
>> Associate Technical Lead - Data Technologies Team, WSO2 Inc.
>> Mobile: +94715779733
>> Blog: http://nirmalfdo.blogspot.com/
>>
>>
>>
>
>
> --
> Best Regards,
>
> *Thilini Cooray*
> Software Engineer
> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194>
> E-mail : [email protected]
>
> WSO2 Inc. www.wso2.com
> lean.enterprise.middleware
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

-- 
*Joseph Fonseka*
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 772 512 430
skype: jpfonseka

* <http://lk.linkedin.com/in/rumeshbandara>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to