rws-reading に行ってきた

id:ZIGOROu に連れてくると言われたままペンディングしていたので,今回行ってきました.

http://kunit.jp/restful/wiki/index.php?%C2%E86%B2%F3%CA%D9%B6%AF%B2%F1

会場は株式会社ディノさんセミナールームで,会場提供のみならず,なんとビールが振る舞われました.ディノ++

以下,感想というよりは,たけまるさんの問いに答えておく.

AtomPub が標準化されて楽になりましたか?

サービス実装という立場で考えると「楽になった部分と変わらない部分がある」と思う.

AtomPub は,あさくらさんも言われていたように Atom Publishing Protocol という名前のプロトコル仕様の域にあるものだと思う.その観点で考えると(あらかじめリソースが定義されてるとして)そこにどう HTTP メソッドを適用していくか,ということを示すリファレンスの役割は十分果たしていると思う.そういう意味では,クライアントとサーバの接点に関してデザインする部分が楽になった,と言える.

一方,サービス内部の個々の実装の話に関しては,正直変わらない部分が多いと思っている.AtomPub だろうがオレオレだろうが,最終的には受け取ったデータに関して CRUD とか何か処理するわけだけど,データの表現が Atom だろうがクエリパラメータだろうが,サービス側でデータアクセスする部分は違えどその後の処理は大体一緒になる事が多い.これは経験上そうだったし.

今回の話の中で RESTful Architecture という観点の話があったが,一つ危険だと思ったのは AtomPub = RESTful Architecture という拡大解釈をして考えてしまう事だ.REST というのはみなさんご存知の通りアーキテクチャスタイルであって,これをアーキテクチャの形にまで落としたものが RESTful Architecture となる.このように具体化するときに考えないといけないのは,通信のみにとどまらず,データ(リソース)モデルや通信メソッド以外の I/F など,色々あるわけで.

AtomPub はこの中で通信プロトコル部分を具体化したものだと考えていて,RESTful Architecture の 1 要素に過ぎない.その他の要素,例えばリソースモデリングについては(特に標準化されていないという意味でも)未だ各人が試行錯誤している段階だったりする.

こういう部分を埋めない限り「残りはお任せね」となるわけだから,全体を通して実装が「楽になる」という話をするのは難しいんじゃないかな.だから会場でも言いましたが「デザイン(設計)に関する貢献は大きい」というのが今の正直なところでは.

このエントリは結構危険な言いきりをしてしまった感がありますが,今日参加されたみなさんの意見や答えも聞いてみたいですね.