apache apachecon app apple asf atom atomprotocol atompub blogapps blogging businessblogging conferences family feeds foss general glassfish google humor ibm java javaone links linux mac microsoft movies music netbeans opensocial opensource photos politics rest roller rome rss socialnetworking socialsite socialsoftware sun triangle trianglebloggers vacation webdev webservices wiki
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:
The pros and cons of Abdera are:
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?
As usual ApacheCon was a blast. I showed-up on Tuesday, made myself at home in the hackathon room and started reconnecting with old friends and meeting new ones. I arrived at the members reception a little late and missed the beer, but was not too late to meet Lars Trieloff of Mindquarry, a startup that's working on an interesting open source product suite that combines content management, task management and wiki functionality. Behind the scenes the product combines Subversion, Apache Jackrabbit and other open source products. Apparently everything is tied together via the Java Content Repository (JCR) API and that's why Lars is interested in the possibility of hooking Roller up with a JCR backend.
Talks began Wednesday and I sat in the business track for most of the day. I particularly enjoyed Rebecca Hansen's talk Better than free: Strategic opportunities in open source and Bill Stoddards talk on Best Practices for Incorporating Open Source Code in Commercial Production. I also enjoyed Alexandru Popescu talk on Up to Speed with Java Content Repository API and Jackrabbit. I attended Stefano Machacci's excellent Community Building Practices talk again -- I think it should be required for all Apache contributors.
Thursday night was the Sun party at Lloyd Hotel, which was was quite successful. I had an interesting Roller-related chat with Paolo Castagna of HP, who is investigating new ways to integrate blogs, planets and wikis -- so we had a lot to talk about. I'm hoping he'll find that Roller is a good foundation for his work and encouraged him to collaborate with us via the Roller mailing lists. By the way, like Lars Trieloff, he is also interested in JCR as a back-end for blog/wiki data.
My talk Roller and blogs as a web development platform was scheduled for 10:30 Friday morning. It didn't go so well. Power went out at around 10AM and didn't come back until about 20 minutes into the talk. That left me a bit frazzled and feeling rushed, so I don't think I gave my best performance. If you'd like more information on the talk, you can find the outline here and the slides here (1.6MB PDF).
Finally! Roller has graduated to become a top-level Apache project and we've shipped the long awaited Apache Roller 3.1 release. You can find the full announcement on the Roller mailing list and on the Roller project blog and our new top-level site at http://roller.apache.org.
In case you're wondering what's going on lately with Roller, ROME and other projects I've been working on, here's a status update from my point-of-view.
Apache Roller graduation. The Roller team voted for graduation, the Apache Incubator PMC voted for incubation and the next step is to take the resolution to the Apache board meeting, which is coming up in the next week or so.
Roller 3.1 release. We've been moving slowly on this one. RC1 was released Nov. 20 and today RC4 just about ready to go. It's possible that 3.1 will be our first "official" Apache Roller release -- depending on what happens on the board meeting. Wonder what's coming in Roller 3.1? The What's New in Roller 3.1 page is now available on our new wiki at apache.org.
Roller 4.0 development. We started the Roller 4.0 branch a couple of weeks ago and I've been spending most of my time updating and trying to perfect Craig and Mitesh's new JPA back-end. Elias outlined a bunch of IBM contributions including an iBatis based back-end. We hope to get some of those in the 4.0 and do some JPA vs. iBatis testing, but we haven't seen any proposals or code yet.
Roller-Planet. Actually, Allen's taken over work on Roller-Planet and he's implementing many of the things I outlined in the Roller-Planet mind-map. He promoted Roller-Planet from the sandbox, built a nice Struts2 UI, added a Roller-style feed/page rendering system and Roller-style caching. Good stuff. We have not discussed when to start making standalone releases of Roller-Planet.
ROME Propono. I've been working on a new ROME subproject called Propono that will include a blog client library, an Atom protocol client library and an Atom protocol server kit. I've been quiet on the ROME dev list, but I've been working on the client bits an they're basically done. I'm waiting for final approval to commit them to ROME CVS.
Blogapps examples and server. I'm still working on a 1.0.5 release, which will include updated Atom protocol support and some bug fixes. I just haven't had the time to get a release out, but I have had some time to work on Blogapps 2.0 where I've ditched the chapter-based directory names and switched to org.blogapps packaging. Once ROME Propono is available, I'll include it in Blogapps 2.0 and drop my old Blog Client library.
Abdera is an open source Atom parser, generator, client and server tool-kit for Java. James Snell announced a new version of Apache Abdera (incubating) the other day and the feature list is impressive, especially for a "0.2.0" release. Here's an excerpt:
The goal of the Apache Abdera project is to build a functionally-complete, high-performance implementation of the IETF Atom Syndication Format (RFC 4287) and Atom Publishing Protocol (in-progress) specifications. [... incubator blah blah blah ...]We might have to steal that IRI support for ROME. Actually, that's something that should be built right into the Java platform. Apparently IRI support was considered for Java SE 6 and something was implemented, but then rolled back.
- A reworked API that improves usability
- Decoupled extensions from the underlying parser implementation
- An Atom Publishing Protocol client implementation
- Updated support for the current Atom Publishing Protocol draft specification
- Added support for Internationalized Resource Identifiers (IRIs)
- Improved Thread Safety
- Fixed a number of Classloader issues that kept Abdera from working properly in application server environments.
- Improved Javadocs
- Added test cases and sample code
- Added experimental Bidirectional Text support
- Improved implementation of OpenSearch v1.0 and v1.1 extensions
- Implementation of MediaRSS extensions
- Implementation of Feed Paging and Archiving extensions
- GoogleLogin Authentication Support
Robert Burke: And it was kinda cool to be the Microsoft guy running Apache and PHP on his laptop :)I'm sorry I missed that talk.
It's a week late, sure, but I wouldn't want to let this list of the excellent
ApacheCon 2004
conference bag goodies go to waste:
Magnetic LED Flasher
Watermelon Pop Rocks
Strawberry Pop Rocks
Wonka Nerds
Alien Goo
Nerd Specs Super Eye Glasses
USB rechargeable flashlight.
This work is licensed under a Creative Commons License.
Copyright 2002-2007, David M Johnson (dave.johnson at rollerweblogger.org)
This is a personal weblog, I do not speak for my employer.

Buy now from Amazon.com
Or direct from Manning
| « July 2008 | ||||||
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 10 | 11 | |||
13 | 14 | 15 | 16 | 19 | ||
20 | 22 | 23 | 24 | 25 | 26 | |
27 | 28 | 29 | 30 | 31 | ||
| Today | ||||||
Allen Gilliland
Anil Gangolli
Dan Axon
Danese Cooper
Film Babble Blog
Geertjan's Weblog
Henri Yandell
James Robertson
Jim Grisanzio
Josh Staiger
Linda Skrocki
Pat Chanezon
Rama
Ruby Sinreich
Simon Phipps
Tim Bray
Will Snow
Janne Jalkanen
Joe Gregorio
Matt Raible
Mike Cannon Brookes
Rafe Colburn
Sam Ruby
Simon Brown
My other sites