You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "Jun Yang (杨骏)" <jy...@google.com> on 2008/04/09 20:56:10 UTC

proposal for an implementation of OpenSocial RESTful API

Hi all.

We would like to propose an implementation for "A modest <tr_1207767015170>
 proposal for an OpenSocial <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

Re: proposal for an implementation of OpenSocial RESTful API

Posted by "Jun Yang (杨骏)" <jy...@google.com>.
Enough people are reporting missing diagrams although I can see them in my
sent email.  Are they stripped out by the mailing list manager?

Here is another attempt to attach them.

Jun

On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@google.com> 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
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by "Jun Yang (杨骏)" <jy...@google.com>.
Apparently images are stripped.  So here are the links:

Diagram 1:
http://lh4.google.com/john.public.doe/R_0rOVux9iI/AAAAAAAAACI/r5MV434qH98/restful-api-server-arch-general.png.jpg
Diagram 2:
http://lh4.google.com/john.public.doe/R_0rOVux9hI/AAAAAAAAAB8/is39xC2ogr0/restful-api-server-arch-specific.png.jpg

Jun

On Wed, Apr 9, 2008 at 1:02 PM, Jun Yang (杨骏) <jy...@google.com> wrote:

> Enough people are reporting missing diagrams although I can see them in my
> sent email.  Are they stripped out by the mailing list manager?
>
> Here is another attempt to attach them.
>
> Jun
>
> On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@google.com> 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
> >
>
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by "Jun Yang (杨骏)" <jy...@google.com>.
Enough people are reporting missing diagrams although I can see them in my
sent email.  Are they stripped out by the mailing list manager?

Here is another attempt to attach them.

Jun

On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@google.com> 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
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Jun Yang <jy...@gmail.com>.
On Wed, Apr 9, 2008 at 7:06 PM, Robert Sayre <sa...@gmail.com> wrote:

> On 4/9/08, Jun Yang <jy...@gmail.com> wrote:
> > All of them are in standard JSON.  "c" is for compact, relative to the
> > full-fidelity GData JSON format (also standard JSON but with a lot more
> > verbose).
>
> That sounds more like Google branding than something which belongs in
> an open source project, but to each his own.
>

Not sure I understand you.  Which doesn't belong in an open source project?


> - Rob
>

Jun

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Robert Sayre <sa...@gmail.com>.
On 4/9/08, Jun Yang <jy...@gmail.com> wrote:
> All of them are in standard JSON.  "c" is for compact, relative to the
> full-fidelity GData JSON format (also standard JSON but with a lot more
> verbose).

That sounds more like Google branding than something which belongs in
an open source project, but to each his own.

- Rob

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Jun Yang <jy...@gmail.com>.
See JSON examples in the original proposal of the API:
http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa#
All of them are in standard JSON.  "c" is for compact, relative to the
full-fidelity GData JSON format (also standard JSON but with a lot more
verbose).  Also there is already a JSON writer in Abdera.  We want to
differentiate from that.

Jun

2008/4/9 James M Snell <ja...@gmail.com>:

> I was wondering the same thing.  I haven't had a chance to go through
> the shindig docs in detail.
>
> - James
>
> Robert Sayre wrote:
> > What is "JSON-c forcompact JSON format as specified in the API spec"?
> >
> > Does that just mean JSON with only a few fields?
> >
> > - Rob
> >
> > 2008/4/9 Vasu Nori <vn...@google.com>:
> >> please participate on shindig-dev@incubator.apache.org mailing list, if
> this
> >>  interests you.
> >>
> >>  The OpenSocial RESTful API spec is at
> >>
> http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa#
> >>
> >>  thanks
> >>  ---------- Forwarded message ----------
> >>  From: Jun Yang (杨骏) <jy...@google.com>
> >>  Date: Wed, Apr 9, 2008 at 11:56 AM
> >>  Subject: proposal for an implementation of OpenSocial RESTful API
> >>  To: shindig-dev@incubator.apache.org
> >>  Cc: opensocial-and-gadgets-spec@googlegroups.com
> >>
> >>
> >>  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
> >>
> >
> >
> >
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by James M Snell <ja...@gmail.com>.
I was wondering the same thing.  I haven't had a chance to go through
the shindig docs in detail.

- James

Robert Sayre wrote:
> What is "JSON-c forcompact JSON format as specified in the API spec"?
> 
> Does that just mean JSON with only a few fields?
> 
> - Rob
> 
> 2008/4/9 Vasu Nori <vn...@google.com>:
>> please participate on shindig-dev@incubator.apache.org mailing list, if this
>>  interests you.
>>
>>  The OpenSocial RESTful API spec is at
>>  http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa#
>>
>>  thanks
>>  ---------- Forwarded message ----------
>>  From: Jun Yang (杨骏) <jy...@google.com>
>>  Date: Wed, Apr 9, 2008 at 11:56 AM
>>  Subject: proposal for an implementation of OpenSocial RESTful API
>>  To: shindig-dev@incubator.apache.org
>>  Cc: opensocial-and-gadgets-spec@googlegroups.com
>>
>>
>>  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
>>
> 
> 
> 

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Robert Sayre <sa...@gmail.com>.
What is "JSON-c forcompact JSON format as specified in the API spec"?

Does that just mean JSON with only a few fields?

- Rob

2008/4/9 Vasu Nori <vn...@google.com>:
> please participate on shindig-dev@incubator.apache.org mailing list, if this
>  interests you.
>
>  The OpenSocial RESTful API spec is at
>  http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa#
>
>  thanks
>  ---------- Forwarded message ----------
>  From: Jun Yang (杨骏) <jy...@google.com>
>  Date: Wed, Apr 9, 2008 at 11:56 AM
>  Subject: proposal for an implementation of OpenSocial RESTful API
>  To: shindig-dev@incubator.apache.org
>  Cc: opensocial-and-gadgets-spec@googlegroups.com
>
>
>  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
>



-- 

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

Fwd: proposal for an implementation of OpenSocial RESTful API

Posted by Vasu Nori <vn...@google.com>.
please participate on shindig-dev@incubator.apache.org mailing list, if this
interests you.

The OpenSocial RESTful API spec is at
http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/f5a0cf3707709ffa#

thanks
---------- Forwarded message ----------
From: Jun Yang (杨骏) <jy...@google.com>
Date: Wed, Apr 9, 2008 at 11:56 AM
Subject: proposal for an implementation of OpenSocial RESTful API
To: shindig-dev@incubator.apache.org
Cc: opensocial-and-gadgets-spec@googlegroups.com


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

Re: proposal for an implementation of OpenSocial RESTful API

Posted by James M Snell <ja...@gmail.com>.
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 <da...@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 <ia...@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
>>>>
>>>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by John Panzer <jp...@google.com>.
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 <da...@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 <ia...@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
> > >
> >
> >
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by David Primmer <da...@gmail.com>.
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 <ia...@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
> >
>
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Changshin Lee <ia...@gmail.com>.
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


Re: proposal for an implementation of OpenSocial RESTful API

Posted by Cassie <do...@google.com>.
Oh and I'm bccing the spec mailing list - implementation discussions
don't take place on the spec list.

- Cassie


2008/4/10 Cassie <do...@google.com>:
> 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 <dt...@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 (杨骏) <jy...@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!
>  > > > >
>  > > > >
>  > > > > Vasu Nori and Jun Yang
>  > > >
>  > > >
>  > > >
>  > > > --
>  > > > ~Kevin
>  > > >
>  > > >
>  > >
>  > >
>  > >
>  > > --
>  > > '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
>  > opensocial-and-gadgets-spec@googlegroups.com
>  >  To unsubscribe from this group, send email to
>  > opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
>  >  For more options, visit this group at
>  > http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
>  >  -~----------~----~----~----~------~----~------~--~---
>  >
>  >
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Cassie <do...@google.com>.
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 <dt...@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 (杨骏) <jy...@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!
> > > >
> > > >
> > > > Vasu Nori and Jun Yang
> > >
> > >
> > >
> > > --
> > > ~Kevin
> > >
> > >
> >
> >
> >
> > --
> > '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
> opensocial-and-gadgets-spec@googlegroups.com
>  To unsubscribe from this group, send email to
> opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
>  For more options, visit this group at
> http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
>  -~----------~----~----~----~------~----~------~--~---
>
>

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Kevin Brown <et...@google.com>.
Yeah, that looks right -- does maven tolerate dashes, though?

2008/4/9 Daniel Danger Bentley <dt...@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 (杨骏) <jy...@google.com> 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
> >
> >
>
>
> --
> '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
> --~--~---------~--~----~------------~-------~--~----~
> 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
> opensocial-and-gadgets-spec@googlegroups.com
> To unsubscribe from this group, send email to
> opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>


-- 
~Kevin

Re: proposal for an implementation of OpenSocial RESTful API

Posted by Daniel Danger Bentley <dt...@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 (杨骏) <jy...@google.com> 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
> --~--~---------~--~----~------------~-------~--~----~
> 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
> opensocial-and-gadgets-spec@googlegroups.com
> To unsubscribe from this group, send email to
> opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>


-- 
'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

Re: proposal for an implementation of OpenSocial RESTful API

Posted by 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 (杨骏) <jy...@google.com> 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

Re: proposal for an implementation of OpenSocial RESTful API

Posted by John Panzer <jp...@google.com>.
+1 (actually before I saw this I had made this change in the very latest
spec, based on prior discussion and no -1's...)

2008/5/5 David Primmer <da...@gmail.com>:

> I'd like to propose that we drop the -c from json-c in the Restful API
> spec and just call our output format json.
>
> The spec is nearing completion for 0.8 and we're about to submit a
> patch that begins to enable json processing for the api server.
> Currently the patch configures the server according to the spec, with
> query parameter of "format=json-c" that is the default for the server.
>
> The primary reason for the "-c" suffix, as I understand it, is the
> underlying java framework Abdera has some prior art, in an extension
> module called 'json' that responds to requests with "format=json" and
> produces an atom-like json representation. I feel like we should
> explicitly replace this format with the speicialized json format in
> the rest api spec. If users of the java server wanted to turn on
> abdera's json extension, there would be a conflict. I don't know how
> this would be resolved and I'm hoping James Snell, the author, chimes
> in here.
>
> To this point, the shindig implementation has not included this
> extension and it probably never will. I don't feel like a small
> implementation detail in one of the libs of one of the languages
> should should impact the spec this way. If anything, the Abdera json
> extension, if used, should respond and be suffixed something like
> json-atom or json-snell. ;-)
>
> davep
>
> davep
>
> On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@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!
> >
> > Vasu Nori and Jun Yang
>
> --~--~---------~--~----~------------~-------~--~----~
> 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
> opensocial-and-gadgets-spec@googlegroups.com
> To unsubscribe from this group, send email to
> opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>

RE: proposal for an implementation of OpenSocial RESTful API

Posted by Paul Walker <pw...@myspace.com>.
Absolutely +1...thx JP for listening.

-----Original Message-----
From: opensocial-and-gadgets-spec@googlegroups.com [mailto:opensocial-and-gadgets-spec@googlegroups.com] On Behalf Of David Primmer
Sent: Monday, May 05, 2008 6:01 PM
To: shindig-dev@incubator.apache.org
Cc: opensocial-and-gadgets-spec@googlegroups.com
Subject: Re: proposal for an implementation of OpenSocial RESTful API

I'd like to propose that we drop the -c from json-c in the Restful API
spec and just call our output format json.

The spec is nearing completion for 0.8 and we're about to submit a
patch that begins to enable json processing for the api server.
Currently the patch configures the server according to the spec, with
query parameter of "format=json-c" that is the default for the server.

The primary reason for the "-c" suffix, as I understand it, is the
underlying java framework Abdera has some prior art, in an extension
module called 'json' that responds to requests with "format=json" and
produces an atom-like json representation. I feel like we should
explicitly replace this format with the speicialized json format in
the rest api spec. If users of the java server wanted to turn on
abdera's json extension, there would be a conflict. I don't know how
this would be resolved and I'm hoping James Snell, the author, chimes
in here.

To this point, the shindig implementation has not included this
extension and it probably never will. I don't feel like a small
implementation detail in one of the libs of one of the languages
should should impact the spec this way. If anything, the Abdera json
extension, if used, should respond and be suffixed something like
json-atom or json-snell. ;-)

davep

davep

On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@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!
>
> Vasu Nori and Jun Yang

--~--~---------~--~----~------------~-------~--~----~
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 opensocial-and-gadgets-spec@googlegroups.com
To unsubscribe from this group, send email to opensocial-and-gadgets-spec-unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/opensocial-and-gadgets-spec?hl=en
-~----------~----~----~----~------~----~------~--~---



Re: proposal for an implementation of OpenSocial RESTful API

Posted by David Primmer <da...@gmail.com>.
I'd like to propose that we drop the -c from json-c in the Restful API
spec and just call our output format json.

The spec is nearing completion for 0.8 and we're about to submit a
patch that begins to enable json processing for the api server.
Currently the patch configures the server according to the spec, with
query parameter of "format=json-c" that is the default for the server.

The primary reason for the "-c" suffix, as I understand it, is the
underlying java framework Abdera has some prior art, in an extension
module called 'json' that responds to requests with "format=json" and
produces an atom-like json representation. I feel like we should
explicitly replace this format with the speicialized json format in
the rest api spec. If users of the java server wanted to turn on
abdera's json extension, there would be a conflict. I don't know how
this would be resolved and I'm hoping James Snell, the author, chimes
in here.

To this point, the shindig implementation has not included this
extension and it probably never will. I don't feel like a small
implementation detail in one of the libs of one of the languages
should should impact the spec this way. If anything, the Abdera json
extension, if used, should respond and be suffixed something like
json-atom or json-snell. ;-)

davep

davep

On Wed, Apr 9, 2008 at 11:56 AM, Jun Yang (杨骏) <jy...@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!
>
> Vasu Nori and Jun Yang