AtomPub Servers Anywhere?
Atom and AtomPub (and the surrounding landscape) already are important building blocks of web architecture, and will no doubt become more important. today i learned that there even is a word for using these technologies, KnowNow invented the term Syndication-Oriented Architecture (SynOA). i don't like the name, because it sounds like a designer drug, because the term syndication
is a mystery to most, and because this clumsy allusion to SOA probably is not a smart thing to do. but i do like the fact that there is a name. it is always good when things get names, it means that somebody cares about them.
now that the thing has a name, i would be really curious to find out how usable it is. i am currently searching for AtomPub server implementations, and so far this process has been rather frustrating. as far as i can tell, there is no general-purpose implementation of AtomPub's server side available. all seem to be implementations of draft versions of the standard, in early stages, or experimental. why is that? of course, there are a number of well-established AtomPub servers in specialized products (such as in blogging tools, for example in WordPress), but there does not seem to be anything with a really wide range of possible uses.
but why isn't anybody interested in building general-purpose AtomPub server code that can then be build to easily build AtomPub interfaces to any collection of entries? one of the beauties of Atom and AtomPub is that they are so strict about foreign markup and how they can be extended, so building an open and extensible AtomPub server would not only be interesting, it would also be a platform for all kinds of specializations.
because we are actively looking for some usable code implementing AtomPub's server side, i will soon post some overview of what we found. for now, what we've found is php-atompub-server, apache abdera (Java), exist (XQuery), amplee (python), and mod_atom (C, apache module). if there's more, please let me know!
While reading this I also decided to start my own implementation of AtomPub server framework in php. Take a look http://code.google.com/p/atom-php-framework/
Posted by: Milan | Saturday, November 29, 2008 at 03:40
There is BlogSVC in C# by Jarrett Vance (http://www.blogsvc.net/)
Introduction from BlogSVC's website:
BlogSvc is an open source implementation of the Atom Publishing Protocol. It has a flexible design that allows entries to be stored in files or databases. The service is compatible with Live Writer.
BlogSvc is written in C# 3.5, uses the new web programming model in WCF, and relies heavily on LINQ and other new language features. BlogSvc can be used with or without IIS.
BlogSvc includes a front-end implemented as a cutting edge web site in ASP.NET. It uses web standards and has neat new features built with jQuery.
Posted by: Adnan Masood | Tuesday, September 02, 2008 at 12:09
I personally use Amplee as a backend for Bright Content[1]. At the moment it simply just wraps the Amplee storage and indexing in a slightly simpler interface. The result is a rather easy way of creating AtomPub based stores for different applications. Bright Content powers my blog but I also created a small accounting application and a wiki-ish CMS.
The key is using the indexes. This allows you to create an AtomPub interface while still using the entries how you need to. For example, in one scenario, I use the atom:categories to filter feeds, where in another instance I'm able to version documents. Bright Content as an application aims to be a RESTful CMS, but at the moment the storage library and model has been very flexible. Overall the model of a generic AtomPub store with indexes makes for creating the HTTP interfaces and checking/filtering a snap.
[1] http://xml3k.org/Bright_Content/
Posted by: Eric Larson | Tuesday, February 19, 2008 at 10:15
and another on on Google Code, http://code.google.com/p/php-atompub-server/source/checkout
Posted by: Isaac Mao | Tuesday, February 19, 2008 at 06:57
I ever tried a php implementation called Isotope. It's quite a neat PHP implementation of Atom Publishing Protocal(now AtomPub).Unfortunately, the author had stopped further development of the frame for a long time.
http://www.isolani.co.uk/projects/atom/isoTope/
Posted by: Isaac | Tuesday, February 19, 2008 at 06:39
What I'd be more interested in these days is a XForms application that could be plugged onto an AtomPub server and provide a rich frontend to such web service.
Posted by: Sylvain Hellegouarch | Tuesday, February 19, 2008 at 04:26
I had the same intuition as you, that a general store could be useful, without being hooked up into some larger system (like WordPress). But I haven't actually confirmed that intuition. In the process I did write my own Atompub server: http://blog.ianbicking.org/2007/09/12/flatatompub/ (written in Python) -- it has limited extensibility, in part because I'm not sure how extensible a server *should* be. Storage is boring; flat files are good enough. Indexing is interesting, and that is extensible.
But I dunno, I haven't actually found the right opportunity to use this, so I don't know if it's really extensible enough as is.
Posted by: Ian Bicking | Monday, February 18, 2008 at 18:53
I also went looking only to be disappointed. I'm personally working on a C#/ASP.NET implementation of the server, but it's still in the prototype and design stage at this point.
Posted by: J Wynia | Monday, February 18, 2008 at 17:41