2014.12.10
すべてのWebAPI開発者にお勧めの本。Web API: The Good Parts (Advent Calendar 10日目)
この記事はアライドアーキテクツAdvent Calendar 10日目の記事です。
Web API: The Good Parts
はじめに
お久しぶりです。関根です。
著者の水野貴明さんよりWeb API: The Good Partsを献本頂きました。ありがとうございます。
発売前に少しだけレビューに参加させて頂き、とても良い内容だと思いながら発売を楽しみにしていました。この度実際に発売された書籍を読んで、改めて素晴らしい内容だと感じたのでご紹介させて頂きます。
概要
本書を一言で表すと、WebAPIを開発する際のベストプラクティスが凝縮されている本だと思います。
全部で6章で構成されており、そもそもWebAPIとは何か? という問いかけから始まり、エンドポイント、リクエスト形式、レスポンスデータ、HTTPの仕様、設計、セキュリティなどについて詳細に解説しています。
また付録にチェックリストが付属しており、実際にWebAPIを開発する際にはチェックしながら開発を進める事ができます。これは本当にありがたいです。
1章 Web APIとは何か
2章 エンドポイントの設計とリクエストの形式
3章 レスポンスデータの設計
4章 HTTPの仕様を最大限利用する
5章 設計変更をしやすいWeb APIを作る
6章 堅牢なWeb.APIを作る
付録A Web APIを公開する際にできること
付録B Web .APIチェックリスト
感想
私自身の経験ですが、これまでWebAPIを開発する際は、Web上のブログや記事などを参考に試行錯誤しながら、開発を行ってきました。それはそれで良いのですが、いろいろな情報がある中で、取捨選択を行っていくのは結構大変だと感じていました。
この書籍は、そういった一つ一つの情報や、経験を体系的に整理し、わかりやすくまとめ直して、形式知として届けてくれる本です。
例えば、本書の中では次のような事柄に対して、設計上の例や、解決方法を提示して説明しています。
- バージョン管理
- エンドポイント
- ログイン認証
- レスポンスデータのフォーマット
- エラー処理
- キャッシュ
- セキュリティ
- ページング
今まではWeb上の知識や経験を元に上記の問題に対して、自分なりの解決方法で設計を行ってきましたが、こういう設計にしておくと良いとか、こうしておけば運用が楽になるなど、設計上の指針を与えてくれます。
また具体的なプログラミング言語での実装方法を解説しているわけではなく、あくまで良い設計をするにはどうすれば良いのかというところに主眼を置いているので、末長く活用できる内容となっています。
設計上で困ったりした時や、悩んだりした時にページをめくって参考にするという使い方が良いと思います。
まとめ
Web APIの設計、開発、運用についての解説書。APIは設計次第で使いづらいものになってしまうだけでなく公開後の保守運用も難しくなってしまいます。そのためAPIを美しく設計することがとても重要です。本書では「設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない」という考えのもと、APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ――XML over HTTP方式やJSON over HTTP方式――のAPIです。読者は、Web API設計の考え方と手法を知ることができます。
私もこれまでいくつものWebAPIの設計、開発を行ってきましたが、もっとこの本に早く出会えていれば、今よりも良い設計ができただろうなと感じる部分がいくつもありました。
具体的な実装方法のテクニックではなく、設計上の問題に対しての指針となるような内容がたくさん書いてあるので末長く付き合える一冊だと思います。
またどうすれば美しいAPIを設計できるか?の問いに真摯に答えてくれる、とても考えさせられる一冊でもあります。
ぜひ年末年始などを利用して読んでみてはいかがでしょうか?
明日は、chikurinの番です。
Python、JavaScript関連の話題を中心に、ソフトウェア開発全般に関するお話を書いていこうと思います。