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
