BT

HATEOASをdomain specificなプロトコル記述のためのエンジンとして見る

| 作者: Dilip Krishnan フォローする 0 人のフォロワー , 翻訳者 和智 右桂 フォローする 0 人のフォロワー 投稿日 2009年6月8日. 推定読書時間: 2 分 |

原文(投稿日:2009/6/4)へのリンク

HATEOASについての説明はつかみ所が無いと悪名高いのだが、それをより簡単にするためにNick Gall氏は、HATEOASをdomain specificなプロトコル記述のためのエンジンとして説明するという考え方を検討している。Gall氏によれば、HATEOASは従来、次のように説明されている。

(前略)強調されているのは、HATEOASにおいてサーバレスポンスに求められるものがリクエストデータだけでなく、次にサーバに対して行うことが許されるアクションを記述した制御情報も含むということです(これは特別にタグづけされたURLの形式をとります)。この追加された制御情報(少なくとも他のデータに対するいくつかのリンク)こそが、単なるメディアをハイパーメディアへと変えるのです。

Gall氏は自身がwebインターフェイス(つまりRESTfulインターフェイスでもあるのだが)をどうとらえているのかを、識別子(Uri)、フォーマット(HTML)、プロトコル(HTTP)(合わせてIF and P)という用語で説明している。Gall氏によれば、HATEOASを用いたRESTfulなアプリケーションのことをこれら3つの構成要素(IF and P)の集合だと考えうるのは事実であるが、ハイパーメディアに関しては、domain specificなプロトコル記述であると考えた方が理解する上では適切だという。Gall氏はJim Webber氏の「Restbucks」を題材にした発表を取りあげ、そこでハイパーメディアの使用がプロトコル記述として説明されていると指摘している。

これは一見すると直観に反しているように見えます。というのも、WWWにおいてはHTTPがプロトコルであり、HTMLはフォーマットであると前述していますから。しかし、URL、HTML、HTTPはdomain specificな識別子、フォーマット、プロトコルを説明するための汎用的な記述言語に過ぎないのです。ですから、特定のHTMLページが集まったウェブのことをdomain specificなプロトコルと考えて下さい。

この「ハイパーメディアがプロトコルを記述する」という考え方は、WS-BPEL 1.1仕様WADLと比較することを避けて通れない。Gall氏はこう語る。

根本的な違いはWS-BPELが基づいている考え方が、静的なプロトコル記述の全体をアップフロントに一度だけ、それも今までとは違うやり方で規定するものである点にあります。HATEOASが基づいているのは漸進する記述という考え方です。他にいい表現があるとすれば、JITプロトコル記述(Just In Time)でしょうか。(中略)言ってみれば「各サーバレスポンスは漸進的に現在のプロトコルについて自ら記述する」のです。

このJITプロトコル記述はアップフロントな記述と比べると良い点も悪い点もあり、それはツールのサポートやこれらのインターフェイスの見つけやすさにかかっている。さて、「ハイパーメディアがプロトコルを記述する」という考え方は、HATEOASに対する認識を考える上での新しい方法なのだろうか?そして、これで分かりやすくなるだろうか?

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT