You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@abdera.apache.org by J Aaron Farr <fa...@apache.org> on 2007/04/11 10:08:55 UTC

Feedback on an APP implementation...

Hello all.

So it turns out I spent most of March reinventing the Atom Publishing
Protocol.  My goal was to create a simple RESTful web service for RDF
but the design I ended up with mirrors APP almost too well.  So after
some debate, we (my 2-man startup) decided to adopt Atom.

We intended to open source the server as an independent project but
now that we've committed to Atom it may make more sense to collaborate
with Abdera or a similar project.  Below I've included a simple
description for our web service.  I've spent the last week and a half
getting up to speed with Atom and I'm certainly still unaware of some
developments.  Thus I'd appreciate any feedback, though
specifically...

  Is such a service within the scope of Abdera?  (I'm guessing yes)

  If not, anyone interested in seeing something like this @ Apache?

  Or, is anyone working on something similar?

Thanks!

--
  jaaron


The service defines extensions (more like conventions) to the Atom
Publishing Protocol to support collection creation, entry versioning,
user profiles and access control.

The service follows the URL scheme:

  http://example.org/service/{collection}/{resource}/v/{n}

Which gives us URLs such as:

  http://example.org/service/china-trip
     A collection for data about some travel itinerary

  http://example.org/service/china-trip/grand-hotel
     An entry containing information about a hotel

  http://example.org/service/china-trip/grand-hotel/v
     Prior versions of the entry are available via a feed

  http://example.org/service/china-trip/grand-hotel/v/3
    The third version of the 'grand-hotel' entry

The service defines a special collection 'root' whose entries are also
collections.  To create a new collection, the client would post to the
root collection.

User profiles are Atom entries in a 'user' collection.  Each user
account has an Atom service document which associates users with
collections.

Collections and entries are initially private.  Only to listed authors
can get or update an entry.  We're working on an atom extension that
would allow more fine grained access control.

Our goal is to create a simple, easily accessible RESTful web service
to be used as the backend for (web) applications or as the basis for a
"REST application server" similar to what Dave Thomas recently
described in his RADAR article [1] or as an open source alternative to
services like Amazon S3.

[1] http://pragdave.pragprog.com/pragdave/2007/03/the_radar_archi.html

Re: Feedback on an APP implementation...

Posted by J Aaron Farr <fa...@apache.org>.
On 4/12/07, James M Snell <ja...@gmail.com> wrote:
> Correct me if I'm wrong, but you're essentially putting together a
> content store, right?  To this point, Abdera has focused primarily on
> providing a framework for building APP servers as opposed to providing
> any specific server implementation.  I'm not sure Abdera is the right
> place for the server impl but it could definitely do most of the heavy
> lifting you need as far as the Atom protocol is concerned.  What might
> be an interesting way forward would be to implement the server backend
> using Abdera, then explore the creation of a new apache incubator project.

Correct enough.  I was planning on approaching the Incubator, but
before we did, I wanted to head off comments such as "Hey, this looks
like an APP implementation, doesn't that belong in Abdera?"

-- 
  jaaron

Re: Feedback on an APP implementation...

Posted by James M Snell <ja...@gmail.com>.
Correct me if I'm wrong, but you're essentially putting together a
content store, right?  To this point, Abdera has focused primarily on
providing a framework for building APP servers as opposed to providing
any specific server implementation.  I'm not sure Abdera is the right
place for the server impl but it could definitely do most of the heavy
lifting you need as far as the Atom protocol is concerned.  What might
be an interesting way forward would be to implement the server backend
using Abdera, then explore the creation of a new apache incubator project.

- James

J Aaron Farr wrote:
> Hello all.
> 
> So it turns out I spent most of March reinventing the Atom Publishing
> Protocol.  My goal was to create a simple RESTful web service for RDF
> but the design I ended up with mirrors APP almost too well.  So after
> some debate, we (my 2-man startup) decided to adopt Atom.
> 
> We intended to open source the server as an independent project but
> now that we've committed to Atom it may make more sense to collaborate
> with Abdera or a similar project.  Below I've included a simple
> description for our web service.  I've spent the last week and a half
> getting up to speed with Atom and I'm certainly still unaware of some
> developments.  Thus I'd appreciate any feedback, though
> specifically...
> 
>  Is such a service within the scope of Abdera?  (I'm guessing yes)
> 
>  If not, anyone interested in seeing something like this @ Apache?
> 
>  Or, is anyone working on something similar?
> 
> Thanks!
> 
> -- 
>  jaaron
> 
> 
> The service defines extensions (more like conventions) to the Atom
> Publishing Protocol to support collection creation, entry versioning,
> user profiles and access control.
> 
> The service follows the URL scheme:
> 
>  http://example.org/service/{collection}/{resource}/v/{n}
> 
> Which gives us URLs such as:
> 
>  http://example.org/service/china-trip
>     A collection for data about some travel itinerary
> 
>  http://example.org/service/china-trip/grand-hotel
>     An entry containing information about a hotel
> 
>  http://example.org/service/china-trip/grand-hotel/v
>     Prior versions of the entry are available via a feed
> 
>  http://example.org/service/china-trip/grand-hotel/v/3
>    The third version of the 'grand-hotel' entry
> 
> The service defines a special collection 'root' whose entries are also
> collections.  To create a new collection, the client would post to the
> root collection.
> 
> User profiles are Atom entries in a 'user' collection.  Each user
> account has an Atom service document which associates users with
> collections.
> 
> Collections and entries are initially private.  Only to listed authors
> can get or update an entry.  We're working on an atom extension that
> would allow more fine grained access control.
> 
> Our goal is to create a simple, easily accessible RESTful web service
> to be used as the backend for (web) applications or as the basis for a
> "REST application server" similar to what Dave Thomas recently
> described in his RADAR article [1] or as an open source alternative to
> services like Amazon S3.
> 
> [1] http://pragdave.pragprog.com/pragdave/2007/03/the_radar_archi.html
>