airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Saminda Wijeratne <samin...@gmail.com>
Subject Re: Changing the registry rest service context & url
Date Thu, 08 Aug 2013 16:12:34 GMT
+1 for the suggestion by Viknes.

Also +1 on Shameera's suggestion as well.
Shameera, you obviously have thought of this very hard. Do you think we
need to plan & implement the versioning url you mentioned along with the
non-versioned url or can we do the non-versioned url first and then
implement the versioned url with less changes to map the non-versioned url
to the latest version url?

Saminda


On Thu, Aug 8, 2013 at 4:35 AM, Shameera Rathnayaka
<shameerainfo@gmail.com>wrote:

> Hi Saminda etal,
>
> Sometimes back i have done simple background research regarding best way
> to add versioning support to REST API. Base on that  Here i am like to
> suggest improved version of your second URL set, that we can add versioning
> support for this REST API, Hope this would help.
>
> *Versioning support*
>
> Putting the version in the URI makes the API easier to use, test, and
> verify that the appropriate resource representation version is being
> requested. The current recommendation is to support versioning via version
> numbers directly in resource URIs. It makes the version visible and a
> versioned API is easier to understand and use correctly.
>
> Version numbers in URIs should be high in the node hierarchy, preferably
> as the first node, for example:
>
>
> http[s]://<hostname>:<port>/<version.of.api>/<resource-path>
or
> http[s]://<hostname>:<port>/api/<version.of.api>/<resource-path>
>
>
> Lets say we have released two Airavata registry REST API versions(v1 and
> v2). For the latest API version(here it's v2) we will have two URIs for
> each resource as shown in below
>
> http://airavataserver:8090/api/airavata-services/registry/ and
>
> http://airavataserver:8090/api/v2/airavata-services/registry/
>
> For old versions(here v1) we will have only one URI for each resource
>
> eg: http://airavataserver:8090/api/v1/airavata-services/registry/
>
> With this approach if users need to always use the latest REST API with
> their products then they can use version abasent URI's which always map to
> the latest released version of REST API
>
> eg: http://airavataserver:8090/api/airavata-services/registry/  - always
> map to latest released API version
>
> If user need to use specific version of REST API then it can be done by
> using URIs which have version number attached to it.
>
> eg: http://airavataserver:8090/api/v2/airavata-services/registry/ -
> always map to version 2.
>
> Thanks,
> Shameera.
>
>
>
>
> On Thu, Aug 8, 2013 at 6:47 AM, Viknes Balasubramanee <viknesb@msn.com>wrote:
>
>> How about something like****
>>
>> http://<...deployed_host_path...>/airavata/services/registry/ (Dropping
>> the –api makes sense as whatever is accessible should be an api)****
>>
>> http://<...deployed_host_path...>/airavata/services/experiment/****
>>
>> If we have a sample webapp deployed or if we decide to add anything else
>> later on, it can go like****
>>
>> http://<...deployed_host_path...>/airavata/{{webappname}}/****
>>
>> ** **
>>
>> Viknes****
>>
>> ** **
>>
>> *From:* Saminda Wijeratne [mailto:samindaw@gmail.com]
>> *Sent:* Wednesday, August 07, 2013 11:07 PM
>> *To:* dev@airavata.apache.org; dev@airavata.apache.org
>> *Subject:* Re: Changing the registry rest service context & url****
>>
>> ** **
>>
>> Perhaps the following could be a better URL pattern,
>>
>> http://<...host_path...>/*airavata-services/user-store/*<http://%3c...host_path...%3e/airavata-services/user-store/>
>> *....*
>> http://<...host_path...>/*airavata-services/registry/*<http://%3c...host_path...%3e/airavata-services/registry/>
>> *....*****
>>
>> http://<...host_path...>/*airavata-services/experiment/*<http://%3c...host_path...%3e/airavata-services/experiment/>
>> *....*****
>>
>> eg:****
>>
>>
>> http://<...host_path...>/airavata-services/experiment/execution/workflow?templateId=xxx
>> ....
>>
>> http://<...host_path...>/airavata-services/experiment/execution/cancel?experimentId=xxx
>>
>> http://<...host_path...>/airavata-services/experiment/execution/suspend?experimentId=xxx
>>
>> http://<...host_path...>/airavata-services/experiment/execution/resume?experimentId=xxx
>>
>> ****
>>
>> ** **
>>
>> On Wed, Aug 7, 2013 at 12:42 PM, Suresh Marru <smarru@apache.org> wrote:*
>> ***
>>
>> This makes good sense and probably about time to do it as well.
>>
>> + 1 for the change.
>>
>> Suresh****
>>
>> On Aug 7, 2013, at 11:59 AM, Saminda Wijeratne <samindaw@gmail.com>
>> wrote:
>>
>> > Hi devs,
>> >
>> > With the introduction of the rest service for experiment execution I
>> think we need to have a proper service hosting url mechanism. Current
>> registry rest service is hosted as,
>> > http://<...deployed_host_path...>/airavata-registry/api/....  which I
>> changed to,
>> > http://<...deployed_host_path...>/airavata-services/registry-api/....
>> >
>> >
>> > Following is how we can have the new experiment service url
>> > http://<...deployed_host_path...>/airavata-services/experiment-service/
>> ....
>> >
>> > This is not finalized. Your thoughts are welcome.
>> >
>> > Regards,
>> > Saminda****
>>
>> ** **
>>
>
>
>
> --
>  Best Regards,
> Shameera Rathnayaka.
>
> email: shameera AT apache.org , shameerainfo AT gmail.com
> Blog : http://shameerarathnayaka.blogspot.com/
>

Mime
View raw message