« Back in NC | Main | Yahoo Weather RSS... »

ROME vs. Abdera

For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.

ROME is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.

ROME Propono is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from RSS and Atom in Action and open sourced as part of the Sun Web Developer Pack in 2007.

Abdera is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera's Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera's Atom feed support is more comprehensive than ROME's and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.

Now let's compare frameworks. The pros and cons of ROME are:

  • Pro: complete RSS support, all of the dozen various flavors
  • Pro: it's generally simple and small, depending only one jar (JDOM)
  • Pro: easy to understand and use the AtomPub server framework
  • Pro: MetaWeblog API support
  • Con: Atom feed support not as comprehensive as Abdera
  • Con: parser uses lots of memory, slower, JDOM based
  • Con: community not as active, seems to be in maintenance mode (See also Ohloh stats)

The pros and cons of Abdera are:

  • Pro: comprehensive Atom feed support, lots more Atom extensions
  • Pro: faster more efficient parser
  • Pro: In the Apache Incubator with active and growing community (See also Ohloh stats)
  • Con: lots of dependencies
  • Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)
  • Con: no RSS support (there is something in Abdera contrib, but it's incomplete).

There you have it. ROME and Abdera folks: think that's a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?

Comments:

Sounds fair, although I think there are few more pro's in the Abdera column including IRI support. Also, there has been some work on getting the RSS support beefed up although I've been waiting on the guy to get the legal clearance to contribute that work back to the project. Since I'm not the one doing that work and I don't really know the guy doing it, I'm not going to hold my breath. If someone (ahem) wanted to take a whack at fleshing out the RSS support in Abdera I wouldn't be heartbroken in the least :-). However, I do have to say, I hardly view lack of MetaWeblog API support in Abdera as a "con" and would seriously question claiming it as a "pro" for Rome ;-)

Posted by James Snell on January 22, 2008 at 09:45 PM EST #

Hi James,

Thanks for the feedback. I don't have room to list all of Abdera's pros ;-) so I just added the words comprehensive to describe Abdera's Atom feed support. I think that sums things up nicely. And yeah, I had the same thought about MetaWeblog API and considered listing it as a Pro/Con for Propono.

- Dave

Posted by Dave Johnson on January 22, 2008 at 09:57 PM EST #

I second James' comments and wish to thank you as well. You might also want to mention that Abdera also provides a framework for writing AtomPub clients, with caching and pluggable support for various authentication schemes, like WSSE and GoogleAuth.

Posted by Ugo Cei on January 22, 2008 at 10:15 PM EST #

Looks fair enough to me. Are there any actual tests comparing ROME & Abdera speed/memory use? I did some for ROME vs FeedFetcher a couple of years ago, and ROME compared very well.

Posted by Nick Lothian on January 23, 2008 at 12:34 AM EST #

We ran some benchmarks very early on that demonstrated a significant performance advantage for the Stax-based parser approach used by Abdera. However, since that time there have been many changes, including the introduction of full IRI support, which brings along a wide variety of issues. We need to rerun the comparisons to see where things are at and where we can continue to make improvements. Btw, for the record, I do like Rome and I think Abdera could benefit from any collaboration that could happen between the two projects.

Posted by James Snell on January 23, 2008 at 02:07 AM EST #

So is it fair to say that Abdera is sort of the big Kahuna over Rome and if that is so, why don't the 2 of them combine and work out their differences and come out with one big Kahuna

Posted by Ransford Segu-Baffoe on January 29, 2008 at 12:17 AM EST #

Ransford: I'd definitely be happy with that. I strongly believe that it should be possible for Rome and Abdera to come together under a single Apache top-level-project and leverage a common core parser, with Rome continuing to focus on first-rate RSS support and Abdera continuing to focus on Atom.

Posted by James Snell on January 29, 2008 at 04:34 AM EST #

Post a Comment:
  • HTML Syntax: NOT allowed

« Back in NC | Main | Yahoo Weather RSS... »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Java, some may be related to this entry.