JavaでRSS,Atomを出力する

Firefox使いの私は当たり前のように毎日Webフィードを利用している.
RSSというべきか良くわからないのだが,呼称を含め仕様が非常に混乱しているようだ.
この複雑な流れと現在の状態はいろいろな所で説明されているが,RSSは開発を終了し,Atomは活発に活動を続けているようだ.

この流れについてはDave Johnsonの次のプレゼンが詳しい.*1

http://rollerweblogger.org/page/roller?entry=tri_xml_2006_presentation


最近,Atom1.0がIETFによりRFCとして認められたそうだ.
上の解説にもあるが,AtomはFeed(Syndication)だけでなく,プロトコルの開発も進んでいると聞く.

IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。
Implementing the Atom Publishing Protocol


Atomの仕様
http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-04.html

RSS2.0の仕様は次に存在した.

http://blogs.law.harvard.edu/tech/rss


Wikipediaの解説を見ると,AtomがやはりRSSに対して優位性を主張しているようだ.
http://en.wikipedia.org/wiki/RSS_%28file_format%29
http://en.wikipedia.org/wiki/Atom_%28standard%29



さて,Javaでフィードを作成する方法を調べてみた.
パーサの記事は多いがジェネレータはあまり存在しないようだ.
ツールに関して,以下のサイトのリストが詳しい.
http://java-source.net/open-source/rss-rdf-tools

一番楽なのはRomeと呼ばれるSun製のライブラリのようだ.
https://rome.dev.java.net/
http://wiki.java.net/bin/view/Javawsxml/Rome


ROMEを利用するにはJDOMが必要だ.別にダウンロードする必要がある.
http://www.jdom.org/downloads/index.html


ROMEは現在Ver.0.8であるが,既にほぼ全てのバージョンのRSSAtomに対応している.
またそれらの全てが同じように作成できる.抽象化が行われているので出力タイプを指定するだけで,そのタイプのフィードを作成してくれる.これは非常に便利だ.

WikiのTuotorialを読むことにより,実に簡単にAtomが作成できてしまった.


Dave Johnsonの最初のPDFにあるとおり,これからはFeedはBlog,WikiPodcastに限らず,さらに多くの世界で活用されるだろう.またプロトコルがもしうまく活用されるようになればREST式Webサービスデファクトになるかもしれない.
Atomには注目しておこうかと思う.

*1:XMLに全然興味を持てなかった私もこれを通してRDFの意味を知り,Web KANZAKIを読んだりするようになった.RDFはあまり美しいとは思えないが,Tripleを機械的に処理するというのはなかなか面白いと思う.