2008-03-15

Fude を使って AtomPub の接続性をテストする

Atom Publishing Protocol (AtomPub) やその派生モノを扱うサーバやクライアント、アグリゲータなどを開発したい!もしくは使いたい!という潜在的な需要はあると思うのです。

が、AtomPub の仕様の解釈に隔たりがあったり、セマンティックウェブの分野の中でも、目に見えにくいプロトコルであることもあり、何かを開発するところまで手が出にくいという印象があります。

実際に AtomPub サーバを自力で実装しようと試みているのですが、いろいろと苦慮しています。既存のフレームワークを活用したら?という声が聞こえてきそうですが、AtomPub を深く理解したいため、あえて自力にこだわっているわけです。(余談)

AtomPub Test Client - code name "Fude"
Fude (コードネーム) は The Atom Publishing Protocol の開発支援及び相互運用性テスト用のツールです。
その AtomPub サーバのテストのために Fude というツールを使いはじめました。そこで、Fude を使って何のテストができるのか(できそうなのか)を紹介します。

ただし、AtomPub の仕様をすべてカバーしながら紹介すると、ツールの紹介という焦点がぼやけてしまいそうなので、まずここでは AtomPub の手続きと Fude の関係を大きな流れのなかでお伝えすることにします。

Fude は Service Document を指定するところからはじまります。

Account Name は Fude 上の Service Document の表示名で AtomPub とは関係がありません。Service Document の URL を指定します。また、必要に応じて WSSE か BASIC 認証のユーザ認証を指定します。



そうすると、Workspace とその Collection といったように、Service Document の内容を左ペインのツリーに表示します。



そのツリーから Collection を選択して New Entry をクリックすると、Entry Resource のエディタが開きます。title と content を編集できます。content は text、html、xhtml の形式を選択できます。



さらに、summary と published、updated、edited が指定できます。PubControl の Draft も選択できます。

Category は、いつどのように表示され、どう選択するのか、まだ把握できていません。おそらく Category Document を用意して Collection と関連付けて定義するのだと思います。後日にでも試して、分かった段階でまたお伝えします。



Post をクリックすると、Collection に Entry Resource が登録されます。その Entry Resource の内容は、右上ペインのリストに属性を、右下ペインにその content を表示します。

HTTP プロトコルのログを観察すると、まず Collection の Feed を取得し、さらにその Feed 中の Entry の edit リンクから Entry Resource を取得して、その内容を表示することがわかります。



content は preview と source を選択できます。preview は content の形式にしたがってレンダリングした内容を表示します。source は Entry Resource の XML をそのまま表示します。



Entry Resource を選択して Edit Entry をクリックすると、Entry Resource のエディタが開きます。

Entry Resource を編集して Update ボタンをクリックすると、Entry Resource を更新できます。また、Delete ボタンをクリックすると、Entry Resource を削除できます。



HTTP プロトコルのログビューアを持つため、見えないところで何が起きているのか把握できます。さらに、AtomPub の仕様に準じていないとき、その内容をエラーとして通知してくれます。



まだ Fude を使いはじめたばかりなのと、他のテストツールを使ったことがないので、Fude どのように優れていて、どのような場面に有効なのかは、まだ評価できる段階にはありません。

今後、Fude やその他のテストツールを使う中で、何か発見がありましたら随時お伝えしていきます。

RSS And Atom: Understanding And Implementing Content Feeds And SyndicationRSS And Atom: Understanding And Implementing Content Feeds And Syndication
Heinz Wittenbrink


by G-Tools

0 件のコメント: