WADLは必要か・最終回
「WADLは必要か・その1」「WADLは必要か・その2」の続きです。
WADL文書を公開するのはクライアントにフォームを作らせたいから
前回は、私の思いついたWADL文書の使い方を例示しました。クライアントによるフォームの動的生成を期待して、リソースへのリクエスト形式を規定するというものです。
しかし、このような使い方はかなり特殊で、一般的な使い方は、ひとつのWADL文書で全リソースのインターフェースを規定し、それを仕様書としてクライアントに参照してもらうというものでしょう。そしてほとんどのクライアントは、フォームを静的に作るはずです。
とはいえ、いずれの使い方も、クライアントにフォームを作らせるのが目的であることには変わりありません。
動的ならHTMLで充分だし、静的なら標準を目指せ
さて、それぞれの使い方について、クライアント作成者の立場で考えると、以下のような思いになります。
まず、動的生成の場合。もし私がクライアントの作成者ならば、WADL文書を参照してフォームを作るなどというまどろっこしいことはしたくありません。最初から(X)HTMLでフォームを示してほしい。form要素を抜き出せば再利用できるのですから、それで充分です。
そして静的生成の場合。たしかにWADL文書を参照してフォームを作ることはできますが、やはりサーバとの密結合が気になります。WADL文書をころころ更新されると、せっかく作ったアプリケーションが使い物にならなくなって困るわけです。AtomPubのようなRFCであれば、まさにそれが標準だという理由によって、従おうかという気になります。RFCでなければいけないということはありませんが、WADLでは心もとない。せめて、標準を目指すぐらいの気概がサーバ側の仕様に感じられないと、おいそれとクライアントを作る気にはなりません。
WADLは不要
結局、WADLは、(X)HTMLや、AtomPub(のような標準仕様)ですでに提供可能な技術の代替物にすぎないものなのです。しかもその表現力は本家に劣り、リソースのインターフェースを規定することしかできません。よって、WADLは不要というのが私の結論です。
僕はWADL反対。リクエスト形式をクライアントに知らせるのはフォーム(言語)の役目。WADLをフォームのように使えというのがLeonardの主張だけど、一般的にはスタブ生成用IDLでは。毎回スタブを生成するのはあり得ないわけで
はてなブックマーク - yohei:bookmark - 2009年4月17日
以上、「まだその1なのに核心をつくブクマコメントをいただいてアワワワの巻」でした。
次回予告
次回は「HTTPの仕様からサーバ側MVCを考え直すの巻」です。お楽しみに。