技術書 読書感想

【技術書感想】APIデザイン・パターン感想

スポンサーリンク

概要

「APIデザイン・パターン」を読んだので感想を書こうと思います。

信頼され、活用されるWeb API設計のベストプラクティス集 APIとはアプリケーション、サービス、コンポーネントがどのように通信するかを定義する仕様です。本書『APIデザイン・パターン』は、Web APIを構築するための安全かつ柔軟で再利用可能なパターンを提供するために執筆されました。一般的な設計原則の説明からはじめ、APIを構築する際の仕様、デザイン・パターンを紹介していきます。Manning Publishing: API Design Patterns の翻訳書。

 

Web APIの設計、開発、運用についての解説書。 APIは設計次第で使いづらいものになるだけではなく、公開後の保守運用も難しくなってしまいます。そのためAPIを美しく設計することがとても重要です。本書では「設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない」という考えのもと、APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ――XML over HTTP方式やJSON over HTTP方式――のAPIです。読者は、Web API設計の考え方と手法を知ることができます。

 

スポンサーリンク

書籍概要

どんな本?

Web API設計のベストプラクティス集

APIとはアプリケーション、サービス、コンポーネントがどのように通信するかを定義する仕様です。本書『APIデザイン・パターン』は、Web APIを構築するための安全かつ柔軟で再利用可能なパターンを提供するために執筆されました。一般的な設計原則の説明からはじめ、APIを構築する際の仕様、デザイン・パターンを紹介していきます。Manning Publishing: API Design Patterns の翻訳書。

  • JJ Geewax (著), 松田晃一 (翻訳)
  • 2022年08月 発行
  • 528ページ
  • 定価4,785円(税込)

 

スポンサーリンク

内容のまとめと感想

中級者〜向け

WEB API (REST API)の設計におけるベストプラクティスをまとめた書籍です。

内容自体は、初歩的な内容〜かなりマニアックなところまで言及しており中級〜上級者向けという感じがしました。

(一般的なREST APIのお作法で表すと違和感があるユースケース(例:メールの操作)をカバーするようなカスタムメソッドや、長時間の処理が必要な場合のAPIの実装方法など)

ページ数があって説明に使用されている文章が多いのですが、翻訳書という事で、日本語としてスッと頭に入ってこない表現が多く見受けられます。

ですので、ある程度の事前知識からコンテキストを類推できないと読んでいていて何を言っているのか理解が厳しいかもしれません。

REST API自体を初めて設計する、経験が浅いという人がいきなりこれを読むのは辛いと思うので、手軽に読めて、必要なエッセンスがぎゅっと詰まっている、オライリーの「Web API: The Good Parts」をオススメします。
こちらは日本人著者なので、読みやすくボリュームも200ページ強ということで気軽に読めます。

Web APIの設計、開発、運用についての解説書。 APIは設計次第で使いづらいものになるだけではなく、公開後の保守運用も難しくなってしまいます。そのためAPIを美しく設計することがとても重要です。本書では「設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない」という考えのもと、APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ――XML over HTTP方式やJSON over HTTP方式――のAPIです。読者は、Web API設計の考え方と手法を知ることができます。

 

TypeScriptを使用

本書ではサーバー側とクライアント側の実装言語としてTypeScriptを使用しています。

ですが、実際のロジック等は殆ど含まれておらず、APIのエンドポイントのインターフェースを定義や呼び出し方法など示すためだけに使用しています。

ですので、言語特有の機能などに関してはあまり使われていないので、一般的なプログラミング言語を読んだ事がある人であれば問題なく理解はできると思います。

 

データベースはスコープ外

APIのインターフェースとしてどうあるべきかといった内容が主点であり、内部の実装には極力触れない形になっているので、RDBMおよびテーブル構造に関してもほとんど触れられていません。

これは、実際の設計レベルまで考える際にじゃあどうしたらいいの?といった事に繋がる可能性もあるので、賛否は別れるところかもしれません。

これは、APIのIFに関してのベストプラクティスなので、内部実装にまで細かく触れてしまうとキリがないというのと、著者としてはRDBMSだけではなく、ドキュメントDBや分散ストレージなど様々なケースを想定しているためかもしれません。

(現時点ではRDBMSだとうまくいくが、将来性を考えてRDBMSに依存しないようなIFを提供すべきという考えが本書では出てきます。)

 

内容に少し偏り

様々なテーマを取り上げているものの、実際のユースケースで多く使われているものに関して説明が殆ど無いなど一部内容に偏りがあると感じました。

(一例として、APIの認証に関しては1パターンだけが紹介されており、現実的に多くのケースで使われているようなものに関して紹介程度で終わっている。)

 

まとめ

非常に分厚く、文章量も多く、翻訳書特有のわかりづらい表現も数多くありますが、WEB APIとして様々なケースに関して実装の指針などが示されています。

WEB API (REST API)をこれから実装してみたいという人が、いきなり読むには敷居が高すぎるので、オススメしません。

内容に偏りがあるものの、様々なテーマでAPIの設計に関して言及されているので、まずは流して読んでみて、必要な時に読み込むといった使い方もアリかなと思いました。

 

-技術書, 読書感想

© 2022 nobu blog Powered by AFFINGER5