Return-Path: Delivered-To: apmail-incubator-abdera-dev-archive@locus.apache.org Received: (qmail 15378 invoked from network); 11 Apr 2007 08:09:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Apr 2007 08:09:18 -0000 Received: (qmail 3743 invoked by uid 500); 11 Apr 2007 08:09:24 -0000 Delivered-To: apmail-incubator-abdera-dev-archive@incubator.apache.org Received: (qmail 3682 invoked by uid 500); 11 Apr 2007 08:09:24 -0000 Mailing-List: contact abdera-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: abdera-dev@incubator.apache.org Delivered-To: mailing list abdera-dev@incubator.apache.org Received: (qmail 3668 invoked by uid 99); 11 Apr 2007 08:09:24 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Apr 2007 01:09:24 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of jaaronfarr@gmail.com designates 66.249.92.171 as permitted sender) Received: from [66.249.92.171] (HELO ug-out-1314.google.com) (66.249.92.171) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Apr 2007 01:09:17 -0700 Received: by ug-out-1314.google.com with SMTP id y2so73531uge for ; Wed, 11 Apr 2007 01:08:56 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; b=NXBF4kRUekDx+JAR/lzH8M9xVBsoRaIkQYmGx4HQaTQuBJiPqe3yjK/CgMhox1bX1fmaLQnI7us9So0+MhX/OCtrN4KhBxAOsCXkpgLif2jU9NLuoC2RhOKtZsG2kfyQs9h1p8mCfKND8065yxZ7Tq59FD8F6w5wVNa0PWNIndc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; b=mkk0otspWk3iRsY++dSFxGp9PrOCSrFF5L9sHYTNbUweIFBKCRrS2wl09JCaNOnOOLoHuIukYuG2v5lFHpUpHdUkjzo91oNEcynVUW47aA9uD9e4C4eXpcCbDx9jG055MNI2R4ehlJVYT2xxCXB7SaS26JHB8V2UPLa8TCuqOa0= Received: by 10.78.165.16 with SMTP id n16mr39977hue.1176278935852; Wed, 11 Apr 2007 01:08:55 -0700 (PDT) Received: by 10.78.70.13 with HTTP; Wed, 11 Apr 2007 01:08:55 -0700 (PDT) Message-ID: <7a31ebb30704110108k92a05f1odab7101bf4c4b4a2@mail.gmail.com> Date: Wed, 11 Apr 2007 16:08:55 +0800 From: "J Aaron Farr" Sender: jaaronfarr@gmail.com To: abdera-dev@incubator.apache.org Subject: Feedback on an APP implementation... MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Google-Sender-Auth: 78d72c0b3380a3ea X-Virus-Checked: Checked by ClamAV on apache.org 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