Main

April 26, 2006

REST ってやっぱり難しいかも。

RESTは簡単なんだけど...

RESTが難しいってことについて

でどっちなんよ、という事なんですが、大元のご当人は、「ネタなんで...」と仰ってますが、個人的感想で一言でいうと、「使うのはむちゃくちゃ簡単」、「説明するのはとても難しい」ということだと思います。

因みに、RESTアーキテクチャに則ったプロトコルを策定するWGの議論に参加し、それを利用するアプリケーションを開発し、かつ自分で新たなプロトコルを作る作業をしている経験上では、

利用する<<作る<<説明する

ぐらいの関係で、説明するのが一番大変です。 ま、何事にしろ自分の言葉で説明するのは理解してないと出来ない事なんで当然ちゃ当然ですが。

例えば「全部GET・POSTでいいじゃん」とか言う人に、具体的にRESTfullにすることの利点を説くのは物凄く労力が入ります。HTTP DELETEの代わりにGETのパラメーターでhoge?action=deleteとかやっても動いちゃうから、別にいいじゃん...という人にどう説明するか...。これは、クライアント側のアプリケーション を作る側からすると簡単に分かることなんですが、Web側の人には分かりにくいかもしれない。

あと誤解されないように、ちゃんとすべてを説明するのは不可能に近い。誤解の例としては、

  • 「やり取りされるのはXMLである」は間違い。
    ー>RESTでは規定されてない。というかRESTはアーキテクチャスタイルなんで、そういう事自体規定しないし。
  • 「チャレンジ・レスポンスのDigest認証はRESTfullではない」は間違い(だと思う)。
    ー>セッション情報などを持ち歩かない(self descriptive)ステートレスという事と、チャレンジ・レスポンスのやり取りは別(だと思う)
  • 「リソースが存在するURI=HTML等のページのアドレスでないといけない」

とか...。説明せずに、触れずにいると必ずといっていいほど、誤解される事が多い。