incubator-photark-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Umashanthi Pavalanathan <umashant...@gmail.com>
Subject Re: REST integration for back-end functionality in photark-rest branch
Date Mon, 11 Jul 2011 21:03:42 GMT
On Mon, Jul 11, 2011 at 9:56 AM, Umashanthi Pavalanathan <
umashanthip@gmail.com> wrote:

> Hi Devs,
>
> I have come up with the REST URI scheme for the Person and relationship
> related Social concepts.
> I used the PhotArk REST API [0] and the OpenSocial REST API [1] as
> references for this purpose.
>
> The following are my initial thoughts. You feedback & suggestions are
> welcomed.
>
> (1) Get a Person
>
> REST-HTTP-Method       = "GET"
>
> REST-URI-Fragment      = /people/{userId}/@self
>
>
> (2) Get a Person's friends
>
> REST-HTTP-Method       = "GET"
> REST-URI-Fragment      = /people/{userId}/@friends
>
>
> (3) Get all Persons
>
> REST-HTTP-Method       = "GET"
> REST-URI-Fragment      = /people
>
>
> (4) Update a Person
>
> REST-HTTP-Method       = "POST"
> REST-URI-Fragment      = /people/{userId}
>
>
correction:
 Update a Person
 REST-HTTP-Method       = "PUT"
 REST-URI-Fragment      = /people/{userId}


> (5) Delete a person
>
> REST-HTTP-Method       = "DELETE"
> REST-URI-Fragment      = /people/{userId}
>
>
> (6) Create a Relationship request
>
> REST-HTTP-Method       = "POST"
> REST-URI-Fragment      = "/people/realtionship/{ownerId}/{viewerId}
>
>
> (7) Create a Relationship
>
> REST-HTTP-Method       = "POST"
> REST-URI-Fragment      = "/people/relationship/{ownerId}/{viewerId}
>
>
> (8) Get Relationship between two users
>
> REST-HTTP-Method       = "GET"
> REST-URI-Fragment      = "/people/relationship/{ownerId}/{viewerId}
>
>
> (9) Remove Relationship between two users
>
> REST-HTTP-Method       = "DELETE"
> REST-URI-Fragment      = "/people/realtionship/{ownerId}/{viewerId}
>
>
>
> [0] https://cwiki.apache.org/PHOTARKxWIKI/photark-rest-api.html
> [1]
> http://opensocial-resources.googlecode.com/svn/spec/1.1/Social-API-Server.xml#People-Service
>
>
> Thanks,
> ~Umashanthi
>
>
> On Sat, Jul 9, 2011 at 9:47 PM, Umashanthi Pavalanathan <
> umashanthip@gmail.com> wrote:
>
>>
>>
>> On Sat, Jul 9, 2011 at 9:42 PM, Luciano Resende <luckbr1975@gmail.com>wrote:
>>
>>> On Fri, Jul 8, 2011 at 3:58 AM, Umashanthi Pavalanathan
>>> <umashanthip@gmail.com> wrote:
>>> > Hi Devs,
>>> >
>>> > As you know I am working on adding social features to PhotArk in the
>>> rest
>>> > branch.
>>> > To proceed further with the implementation, I have to add the social
>>> > features in the UI. When working on this, I came across the requirement
>>> of
>>> > exposing the back-end functionalities as REST services. As you know,
>>> > implementation in the trunk uses Apache Tuscany to integrate and expose
>>> the
>>> > functionality as JSON-RPC. Similarly in the rest branch we have the
>>> > requirement of exposing the back-end functionality as REST services.
>>> For
>>> > this purpose, I looked into three options:
>>> > (1) Apache Shindig [0]
>>> > (2) Apache Tuscany [1]
>>> > (3) Apache Wookie [2]
>>> >
>>> > As we have discussed earlier in the mailing list [3], Apache Shindig
>>> > provides a reference implementation for the OpenSocial specification
>>> and
>>> > provide JSON-RPC & REST APIs. But these APIs are only limited to the
>>> > concepts/services in the OpenSocial specification and currently there
>>> seems
>>> > to be no plans for extending further. So, using Apache Shindig, we can
>>> > integrate the back-end social features as REST services; but it is only
>>> > limited to this purpose. Since in the context of PhotArk, there are
>>> several
>>> > other functionalities/concepts like Albums, etc, using Shindig will not
>>> > cater for all the requirements.
>>> >
>>> > On the other hand, Apache Tuscany, can be used to expose the
>>> functionalities
>>> > as REST services without any limitations and it's usage in the PhotArk
>>> trunk
>>> > assures that it can satisfy all the requirements in PhotArk.
>>> >
>>> > Apaceh Wookie also provides REST API. But it is particularly designed
>>> to
>>> > facilitate building widgets. Similar to Shindig, Wookie also has
>>> limited
>>> > support for converting all the functionalities in PhotArk into REST
>>> > services. Even though Wookie has the support for UI widgets, I do not
>>> see
>>> > any plans to make PhotArk as a widget based application in the near
>>> future.
>>> > So the REST integration facility provided by Wookie is limited in the
>>> > context of PhotArk.
>>> >
>>> > After analyzing these three options, Apache Tuscany seems to be
>>> promising
>>> > for me, to support all the requirements of PhotArk, related to exposing
>>> REST
>>> > services.
>>> >
>>> > I kindly invite you all to proceed further with this discussion. Your
>>> > valuable input to this discussion is highly appreciated.
>>> >
>>> > Looking forward to hear from you all.
>>> >
>>> >
>>> > [0] http://shindig.apache.org/
>>> > [1] http://tuscany.apache.org/
>>> > [2] http://incubator.apache.org/wookie/
>>> > [3]
>>> >
>>> http://www.mail-archive.com/photark-dev@incubator.apache.org/msg01141.html
>>> >
>>> > Thanks,
>>> > ~Umashanthi
>>> >
>>>
>>> I had the impression that the integration with Apache Shindig would
>>> provide us much more benefits, but after some investigation I don't
>>> believe that is true anymore. A REST interface based on Tuscany should
>>> give us enough to build a solid social ui. Having said that, we might
>>> look at the URI defined by Shindig/OpenSocial to see if we can follow
>>> the same standard which would be beneficial for any future
>>> integration.
>>>
>>
>> +1.
>> Since Tuscany has the flexibility in defining the URI (please correct me
>> if I am wrong), I think we can incorporate the OpenSocial URI standards for
>> our services.
>>
>>
>> Thanks,
>> ~Umashanthi
>>
>>
>>
>>>
>>>
>>> --
>>>
>>> Luciano Resende
>>> http://people.apache.org/~lresende
>>> http://twitter.com/lresende1975
>>> http://lresende.blogspot.com/
>>>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message