16 messages in org.apache.incubator.shindig-devRe: proposal for an implementation of...
FromSent OnAttachments
Jun Yang (杨骏)09 Apr 2008 11:55 
Jun Yang (杨骏)09 Apr 2008 13:01 
Jun Yang (杨骏)09 Apr 2008 13:01 
Jun Yang (杨骏)09 Apr 2008 13:48 
Kevin Brown09 Apr 2008 14:05 
Daniel Danger Bentley09 Apr 2008 14:08 
Kevin Brown09 Apr 2008 14:20 
Cassie10 Apr 2008 04:39 
Cassie10 Apr 2008 04:40 
Changshin Lee10 Apr 2008 05:15 
David Primmer10 Apr 2008 09:29 
John Panzer10 Apr 2008 09:57 
James M Snell10 Apr 2008 10:40 
David Primmer05 May 2008 18:00 
John Panzer06 May 2008 17:45 
Paul Walker09 May 2008 01:03 
Subject:Re: proposal for an implementation of OpenSocial RESTful API
From:Cassie (do@google.com)
Date:04/10/2008 04:39:57 AM
List:org.apache.incubator.shindig-dev

I think rest should == social because they will essentially be the same server. I don't have time to code it right now though, so the patch looks fine and ill draw up another patch for merging the two next week.

- Cassie

2008/4/9 Kevin Brown <et@google.com>:

Yeah, that looks right -- does maven tolerate dashes, though?

2008/4/9 Daniel Danger Bentley <dtbe@gmail.com>:

https://issues.apache.org/jira/browse/SHINDIG-174 should be step-1 (or maybe step-.5 on this).

You alright with me checking this in?

2008/4/9 Kevin Brown <et@google.com>:

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 (杨骏) <jya@google.com> wrote:

Hi all.

We would like to propose an implementation for "A modest proposal for an OpenSocial RESTful API".

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!

-- 'Ladislav Sticha, the tall spokesman for Czech Television, told me that

the show's audience was "miniature" -- presumably he meant small in number.' - New York Times, January 24, 2008

-- ~Kevin

--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "OpenSocial and Gadgets Specification Discussion" group. To post to this group, send email to open@googlegroups.com To unsubscribe from this group, send email to open@googlegroups.com For more options, visit this group at http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en -~----------~----~----~----~------~----~------~--~---