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:James M Snell (jasn@gmail.com)
Date:04/10/2008 10:40:21 AM
List:org.apache.incubator.shindig-dev

I cannot offer much in the way of advice when it comes to JAX-RS but I do know that Abdera and JAX-RS can play nice together. See [1] and [2] for examples.

At some point, it may make sense for Abdera to include direct support for JAX-RS APIs. Or, at the very least, provide utility methods that make the integration of the two more seamless.

- James

[1] http://weblogs.java.net/blog/mhadley/archive/2008/02/integrating_jer_2.html [2] http://blogs.sun.com/sandoz/entry/jersey_and_abdera_with_a

John Panzer wrote:

After glancing at Restlet for a few minutes, it seems interesting. I like the use of routers and URI templates particularly. I don't have any experience with the framework though, a concrete proposal would be very helpful.

Restlet doesn't seem to deal at all with the work of dealing with particular representations I think; perhaps it's complementary to Abdera in this respect.

On Thu, Apr 10, 2008 at 9:30 AM, David Primmer <davi@gmail.com> wrote:

Hi,

Can you give a little bit more enlightening advocacy? I'm not as familiar with those frameworks but my understanding, just from looking at them briefly a year ago, is that they're not as featured as Abdera -- that you still have to do a lot of the 'grunt work' that Abdera does for you (at least when dealing with XML).

There's also the possibility of using them together with Abdera...

davep

On Thu, Apr 10, 2008 at 5:15 AM, Changshin Lee <iasa@gmail.com> wrote:

Hi,

I'd like to suggest using JAX-RS (JSR 311) to implement the proposal. The spec has already 3 implementations: Jersey (RI), Restlet, and Apache CXF. Cheers,

ias

2008. 04. 10, 오전 3:56, Jun Yang (杨骏) 작성:

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!

Vasu Nori and Jun Yang