airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shameera Rathnayaka <shameerai...@gmail.com>
Subject Re: Changing the registry rest service context & url
Date Thu, 08 Aug 2013 08:35:26 GMT
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