Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Java-based Abdera open-source tools implement Atom services

Apache Abdera, a Java-based implementation of Atom, is now being used in a number of open source tools. Abdera includes support for JSON, encryption, geotagging, and more.

In 2003, Atom was first proposed as a more programmable alternative to RSS. At the time it was seen as a format that would clarify the ambiguity of RSS and expand its capabilities. For a variety of reasons it never received the same reach as RSS, but it is still used in Google APIs, Flickr, Twitter, and Wikipedia. Atom can make it easier to write shared applications, such as contact managers, calendars, and discussion forums. It is also useful for writing applications that manage content. The Atom component of Mule, for example, helps with integration scenarios that involve time-based collection, such as queuing, logging, or eventing.

In 2005, programmers began work on Abdera, an open source Java-based implementation of Atom that has been used in Lotus Connections, WSO2 Registry, and Mule. Version 0.4 was released last year. The project was moved out of incubation status to its new home on the Apache site late last year.

More on open source Java
CXF open source framework merges SOAP toolkit with Celtix ESB 

OSGi framework helps you manage Java components 

Java Servlet API 3.0 improves application plugability 
Version 0.4 includes support for developing and consuming Atom services, encryption, Gdata, geotagging, authorization and JSON, among other things. It also includes a variety of adaptors for creating Atom services without coding using JDBC, JCR, or the file system. Michael Marth describes how to run an Abdera AtomPub server with a CRX repository for storage. He notes that with a little bit of effort it is possible to create an Atom interface to an existing CRX repository using the JCR adaptor.

James Snell, one of the Abdera pioneers, has also written a number of tips. In Abdera Tip #1 he explains why it takes a while to create a new instance of the base Abdera object. He suggests that you don't create a new instance of an Abdera object every time it is used.

In Abdera Tip #2 Snell points out that in some cases Abdera does not fully consume the input stream before the edits are made to objects. This can be overcome by adding entry.toString() immediately before the first attempt to modify the entry.

An alternative Java-based Atom tool is ROME, used for parsing and processing Atom feeds as well as RSS. But Dave Johnson noted that Abdera provides more comprehensive Atom support with signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, and GoogleLogin.

One of the best places to start with Abdera is Apache's Getting Started page. It is also important to understand the Atom Syndication format and AtomPub.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.