RSS 2.0 Specification SOAP Meets RSS 日本語訳

本ドキュメントは、Weblogs At Harvard Law (ハーバード大学法学大学院のウェブログ)で公開されている 『SOAP Meets RSS』 (RSS 2.0 関連文書)を futomi が日本語化したものです。みなさまの理解に役立てれば幸いです。なお、緑色で記載された文章は、futomi が注釈として加筆したものです。また、一部、直訳ではなく、意訳した部分がございます。原文と表現が異なることがございますので、ご了承ください。

注意: この日本語訳は、futomi が理解を深めるために、自分なりに日本語化したものです。本日本語訳には、翻訳上の誤りがある可能性があります。したがって、内容について一切保証をするものではありません。正確さを求める場合には、必ず原文を参照してください。当方は、この文書によって利用者が被るいかなる損害の責任を負いません。

もし誤りなどを見つけたら、こちらからご連絡いただければ幸いです。


SOAP Meets RSS

配信と予約

ほとんどのアグリゲータは、一時間に一度、更新をスキャンします。しかし、状況によっては、我々は、チャンネルが更新された直後に知りたいことがあるでしょう。例えば、我々が、自サイトの多くに RSS Boxes を含めているとしましょう。編集者が box に記事を送るとき、我々はすぐにニュースを表示させたいのです。しかし、我々は、毎度ヒットするたびに RSS チャンネルを読みたいわけではありません。通知は、いつも最新でありながら帯域と配信周期を節約することを可能とします。

RSS の新機能

<channel> に新しい子要素 <cloud> が追加されました。cloud は、後述のように、rssCloud インタフェースをサポートし、XML-RPC もしくは SOAP のいずれかで実行できるウェブアプリケーションを指定します。

<cloud> 要素には、5 つの必須属性があります。domain は、cloud のドメイン名もしくは IP アドレスです。port は、cloud が実行されている TCP ポート番号です。path は、その応答システムの位置です。registerProcedure は、通知をリクエストするために呼び出すプロシージャーの名前です。そして、protocol は、xml-rpc, soap または http-post (大文字・小文字は区別されます)となります。これは、どのプロトコルが使われるのかを指し示すものです。

ここに、新要素 <cloud> を含んだ RSS ファイルのがあります。

<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc" />

これは、radio.xmlstoragesystem.com に対して、ポート番号 80 で、パス /RPC2 にあるxmlStorageSystem.rssPleaseNotify と名づけられた通知をリクエストする プロシージャーに、XML-RPC メッセージを送るのだと、アグリゲータに伝えています。

Radio UserLand によって生成されたほとんどの RSS ファイルには、<cloud> 要素があります。

rssCloud インタフェース

ワークステーションは、登録するために cloud を呼び出します。そのプロシージャーは、5 つのパラメータを取ります。cloud がワークステーションに更新を知らせるために呼ぶべきプロシージャーの名前、ワークステーションがリストしている TCP ポート番号、応答システムへのパス、どのプロトコルが使われるのかを指し示す文字列(xml-rpc または soap で、大文字・小文字は区別されます。)、そして、閲覧される RSS ファイルの URL のリストです。cloud は、リクエストから呼出者の IP アドレスを判別することができます。ワークステーションは、他のワークステーションの代わりに登録呼出をすることはできません。cloud は、登録することができたなら真(true)を返し、そうでなければ偽(false)を返します。

予約されたチャンネルが更新されると、cloud は、登録コールでパラメータの一つに指定したプロシージャーに再びコールします。ワークステーションがチャンネルを読み出すことができるようになった時点、もしくはチャンネルが更新されたと他のワークステーションに知らせることができた時点で、キャッシュがクリアされ、email が送信されるか何もなされないかです。ワークステーションは真(true)を返します。

登録は 25 時間後に有効期限切れとなるという仕様のため、ワークステーションは、最新に保つために 24 時間ごとに各予約の登録を行うべきです。

UserLand は、radio.xmlstoragesystem.com でこの仕様に準拠した cloud を運用しています。ワークステーション側は、Radio UserLand に実装されています。

重要な警告

設計上、このプロトコル/フォーマットは、ファイアーウォールや NAT によってインターネットから隔離されたアグリゲータに対しては正常に機能しません。IP アドレスが固定でないシステムに対しては、ワークステーションソフトウェアが起動時に IP アドレスを再登録するなら、正常に機能するでしょう。

RSS 2.0 spec もご覧下さい。