at posts/single.html

RESTful Web サービス本

去年 Amazon で衝動買いした RESTful 本をのんびり読んでる。 久々にいい技術書にめぐり合えたなぁ。これ。読んでてワクワクする。 書評なんてする柄じゃないけど、これは Web 開発に携わる人にぜひ読んで欲しい本だと思ってるので、紹介してみるよ。

この本は2007年の5月に米国で出版されて、それからわずか半年強で日本語訳がでている。 監訳をされているのが、日本での REST の第一人者の山本さんなので安心。 最初の「はじめに」はちょっと読みにくい訳だな…って思って心配になった(「うぶな観念的理想主義」とか)。 でも第1章以降は別人(?)のように読みやすくなって、特に気になるような言い回しも出てこなくなった。

この本の好きなところはいくつかある。

理論と実践のバランス

RESTful はアーキテクチャの考え方の一つなので、ともすると理論を追求して教科書的になりがち。 でもこの本は、理論だけに走るのではなく、 del.icio.us, flickr, Amazon S3 などのサービスを教材として取り入れている。 これらのサービスの REST 的なところと REST 的でないところを指摘した上で、4章以降では Rails1.2 を使って REST 指向のサービスを作っていく。 抽象的な REST の考え方が、具体的な例として頭に入ってくる。

原書がでてからそんなに時間が経っていないので、書かれている内容は新鮮味がある。 ActiveResource やルーティングの話も書かれているので、 Rails2.0 の参考資料にもなった(1.2と2.0で変わっている部分も多いけど)。

視野が広がる

Java のような静的言語と Ruby のような動的言語の両方を覚えると視野が広がるように、異なる概念のものを理解することで考え方の引き出しが増える。 開発環境だと vi + make と Eclipse の両方を試すとか、言語だと手続き型だけじゃなくて Haskell のような関数型言語を知るとか。

同じことが REST でも言える。 SOAP を使ったメソッド主体の RPC だけじゃなくて、リソース中心の ROA を知ることで、実際に使わないにしても考え方の幅を広げられる。

カバー範囲が広い

単に REST アーキテクチャだけを解説するんじゃなくて、その周辺の解説も幅広い。 個人的にビックリしたのは、「8.17 ユーザはなぜHTTPクライアントを信頼するのか」のところ。 OAuth という単語はでてこないものの、OAuth のような認可トークンが必要になるっていう話まで書かれている。

そんなわけで、個人的には達人プログラマーくらいの当たり本。 まだ途中までしか読めていないので、じっくり読んでいこうっと。

追記

書こうと思って忘れてた。 日経ソフトウエアの12月号に「URLは短く鋭く愛を込めて」って記事を書いたのを思い出した。 もちろん tDiary の「ツッコミは短く鋭く愛を込めて」のオマージュなんだけど、キーワードとしては結構気に入ってる。 どうだろ?