Hey Jun,

The first thing you're going to need to do is set up a new sub project for
the RESTful stuff. The correct location would be trunk/java/rest probably
(pick whatever name you like).

For the time being, feel free to just directly import the gadgets artifacts
into the REST project until we get the shared parts (OAuth, crypto, app data
interfaces, etc.) moved out into a separate sub-project.

We'll need to ensure that the top level pom can generate all appropriate
artifacts as well, so that someone can easily use just the restful api, just
the gadget renderer, or both.

On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <[EMAIL PROTECTED]> wrote:

> Hi all.
>
> We would like to propose an implementation for "A 
> modest<http://tr_1207767015170>
>  proposal for an OpenSocial <http://tr_1207767015170> RESTful 
> API<http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa>
> ".
> We propose the following:
>
>    - Use Apache Abdera as the basis of the reference server
>    implementation
>    - Add a JsonCParser to support input in JSON-c format (JSON-c for
>    compact JSON format as specified in the API spec, not a new MIME type)
>    - Add a JsonCWriter to support output in JSON-c format
>    - Add an OpenSocial API (Person, Activity and AppData, Java version
>    under org.apache.shindig.social.opensocial) adapter to integrate with
>    existing API implementation and keep the same interface on the backend and
>    the client
>
> for the following reasons:
>
>    - The RESTful API proposal supports a clean and natural JSON format
>    (JSON-c) as well as AtomPub.  Apache Abdera is an open source reference
>    implementation of AtomPub that offers most of the functionality we need.
>     Reusing it seems to be natural choice
>    - Abdera already supports input in Atom.  We need to add support for
>    input in JSON-c
>    - Abdera already supports output in Atom (as well as a JSON format).
>     We need to add support for output in JSON-c
>    - Abdera's support for adapters that translate from a foreign data
>    format and protocol into its Feed Object Model (FOM) comes handy to support
>    existing data sources such as relational databases and existing
>    implementation of OpenSocial APIs.  Existing OpenSocial APIs are very close
>    to Atom's model and can be adapted easily
>
> We have includes two diagrams as illustration of the architecture of the
> proposed implementation.  Diagram 1 shows the generic architecture.  Those
> components in italics are to be written.  Diagram 2 shows the use of two
> adapters, iBATIS (existing in Abdera) to integrate with relational
> databases, and OpenSocial API adapter (to be written), to integrate with
> existing OpenSocial backend.
>
> Please review and comment.  Thanks!
>
> Vasu Nori and Jun Yang
>



-- 
~Kevin

Reply via email to