Subject: "Atom Inside" web application architecture

From: pkeane <[email-masked]>
Date: Fri, 5 Oct 2007 09:15:48 -0500 (CDT)

Following on my "Why Use Atom?" posting.... I am trying to figure out if I 
would simply be pushing Atom beyond its practical limits to build an 
entire web application as Atom publishers and consumers.  I'd like 
implement an MVC architecture where the layers all spoke Atom to one 
another.  All database access would be mediated by an Atom feed (read) and 
AtomPub interface (write).  Everything from error logs, image slideshows, 
collection settings, incremental backups, etc. would be mediated by way of 
an Atom feed.  Search would simply be an OpenSearch implementation that 
the application itself exposed and consumed.

Why?  Because I must have a plug-in architecture to allow users to create 
new application extensions, modules, etc.  Instead of inventing a new 
plug-in architecture and write yet another "how to create a DASe plug-in" 
document, I simply say "here are the available Atom feeds -- mash 'em up 
any way you'd like" (I know, for instance, folks will want to create 
fancier presentation tools than the app currently provides).  Not to 
mention what sorts of new & interesting combinations would occur when my 
Atom consumers-that-do-interesting-things-with-my-Atom-feeds are pointed 
at someone else's Atom feeds.

Any thoughts or pointers to similar approaches out there??

-Peter Keane
daseproject.org

---

From: Sam Ruby <[email-masked]>
Date: Fri, 05 Oct 2007 15:50:14 -0400

pkeane wrote:
> 
> Following on my "Why Use Atom?" posting.... I am trying to figure out if 
> I would simply be pushing Atom beyond its practical limits to build an 
> another.  All database access would be mediated by an Atom feed (read) 
> and AtomPub interface (write).  Everything from error logs, image 
> slideshows, collection settings, incremental backups, etc. would be 
> mediated by way of an Atom feed.  Search would simply be an OpenSearch 
> implementation that the application itself exposed and consumed.
> 
> Why?  Because I must have a plug-in architecture to allow users to 
> create new application extensions, modules, etc.  Instead of inventing a 
> new plug-in architecture and write yet another "how to create a DASe 
> plug-in" document, I simply say "here are the available Atom feeds -- 
> mash 'em up any way you'd like" (I know, for instance, folks will want 
> to create fancier presentation tools than the app currently provides).  
> Not to mention what sorts of new & interesting combinations would occur 
> when my Atom consumers-that-do-interesting-things-with-my-Atom-feeds are 
> pointed at someone else's Atom feeds.
> 

I don't know to what extent O'Reilly would be willing to publicly share, 
but some aspects of what you describe sound like things that O'Reilly 
has done with their internal APP repository which purportedly[1] holds 
"hundreds of books, thousands of articles, and hundreds of thousands of 
images"

- Sam Ruby

[1] 
http://www.oreillynet.com/xml/blog/2007/04/atom_publishing_protocol_inter.html

---

From: pkeane <[email-masked]>
Date: Fri, 5 Oct 2007 16:42:12 -0500 (CDT)

Yes!  I read Kurt Cagle's piece 
(http://www.oreillynet.com/xml/blog/2007/09/synoa_what.html) and 
listened to the Rohit Khare-Jon Udell 
interview (http://itc.conversationsnetwork.org/shows/detail3275.html) with 
great interest.  I have a sense that what I am thinking about is using 
Atom on a somewhat more 'micro' scale within an application itself (there 
would be times, for instance, when a database query result would simply be 
cached as an Atom doc on the filesystem and if it was 'fresh' enough would 
obviate the need for a database call and generation of the Atom result). 
I don't even know if that sort of apporach is worth the trouble, but I am 
trying to heed Roy Fielding's advice to "engineer for serendipity" and 
Atom strikes me as having a fairly high serenditipy quotient :).

thanks-
peter keane
daseproject.org

On Fri, 5 Oct 2007, Ernest Prabhakar wrote:

> Did you see the SynOA discussion from KnowNow?
>
> Sent from my iPhone
>
> On Oct 5, 2007, at 7:15, pkeane <[email-masked]> wrote:
>
>> 
>> would simply be pushing Atom beyond its practical limits to build an entire 
>> web application as Atom publishers and consumers.  I'd like implement an 
>> MVC architecture where the layers all spoke Atom to one another.  All 
>> database access would be mediated by an Atom feed (read) and AtomPub 
>> interface (write).  Everything from error logs, image slideshows, 
>> an Atom feed.  Search would simply be an OpenSearch implementation that the 
>> application itself exposed and consumed.
>> 
>> Atom consumers-that-do-interesting-things-with-my-Atom-feeds are pointed at 
>> someone else's Atom feeds.
>>

---

From: Keith Fahlgren <[email-masked]>
Date: Tue, 09 Oct 2007 10:07:10 -0700

On 10/5/07 12:50 PM, Sam Ruby wrote:
>> ...  I'd like

Hey,

You're indeed thinking along the same lines as we are (currently experimenting
with). I'm pushing on some folks internally for more details and hope to get
back to you with more meat before too long...

Keith

PS: For the record, the current "Finished Goods Warehouse", which is the most
purely APP-based internal store, has 840+ books & 179,870 images, but I'm sure
Google and others have quite a bit more stuff in an APP instance.

---

From: pkeane <[email-masked]>
Date: Tue, 9 Oct 2007 12:59:58 -0500 (CDT)

Fantastic -- I'd love to hear any more info that you could share.

best-
Peter