Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)という本の15章以降で、郵便番号検索サービスを例にとって、設計の具体的手法が書いてあったので、その中で重要だと思ったことをまとめました。ここでいう“設計”とはリソース設計のことになります。リソース設計は、クライアント/サーバー間のインターフェースの設計、すなわちWebサービスやWeb APIの外部設計のことを指します。
リソース設計をするときに大切なことは、WebサービスとAPIを分けて考えないことが大切だそうです。両者は人間用、プログラム用と用途は違うものの、どちらも同じWeb技術を使ったインターフェースだからです。
リソース指向アーキテクチャ
ソフトウェア開発にはさまざまな設計手法がありますが、リソース設計にはまだ一般的な設計手法が存在しないそうで、設計の指針として唯一「RESTful Webサービス」の中で「リソース指向アーキテクチャ」というものが推奨されている程度です。これは次のようなステップで設計していく方法です。
- Webサービスで提供するデータを特定する
- データをリソースに分ける
- リソースにURIで名前を付ける
- クライアントに提供するリソースの表現を設計する
- リンクとフォームを利用してリソース同士を結び付ける
- イベントの標準的なコースを検討する
- エラーについて検討する
RESTfulなWebサービスの性質
- アドレス可能性
- 接続性
- 統一インターフェイス
- ステートレス性