ROMEの紹介

どんなプログラミング言語で実装するにせよ、RSS/Atomフィードフォーマットの乱立は頭の痛い問題だ。RSS 0.9、1.0、2.0やAtom 0.3、1.0など、様々なフォーマットのフィードが世の中にはあふれており、その全てを正しく取り扱えないとフィードを取り扱うアプリケーションとしては失格である。

フィードの生成に関しても同様で、ユーザが使っているフィードリーダーがRSSしか取り扱うことができないということも考えられるため、提供者側でも複数のフォーマットを配信できるようにしておきたいものだ。

要は、さまざまなフィードフォーマットを統一的に取り扱う仕組みが必要なのである。筆者は以前、JavaScriptでそれを実現するためのAPIとしてGoogle Feed APIを紹介した。今回は、そうした要求をJavaで満たすためのライブラリとしてROMEを紹介しよう。

ROMEの現在のバージョンは0.9である。ROME自体は対象を絞ったライブラリで、RSSやAtomを統一的に取り扱い、ファイルやメモリなどへ単純な入出力を行うことしかできない。その他の機能についてはサブプロジェクトで取り扱うという方針になっている。

ROMEのサブプロジェクトは現在、以下のようなものが存在する。

  • ROME Propono: Atom Publishing Protocolの実装
  • ROME Fetcher: HTTPを用いたフィード取得
  • OPML for ROME: ROMEと併せて使用するOPMLパーサ/ツール

その他にもサブプロジェクトはいくつか存在するが、開発が停止していたり、まだ始まったばかりだったりするので、ここでの紹介は控えておく。

ROMEの開発はゆっくりしたペースで進んでいるが、決して止まってはいないのでご安心いただきたい。基本的な機能はすでに整っているので、バージョン1.0までの道のりはそう遠くないと思われる。

また、Sun Microsystemsが開発に参加しており、パッケージ名も「com.sun」で始まっている。この点は、品質やこれからの開発継続性について多少の安心感が得られる所だろう。