「WEBを支える技術」読書メモ 第5部-③リソースの設計

概要

この記事は、今後の自分のために技術書を読んでアウトプットすることに重きをおいて書いている。筆者自身が重要だと思ったことを記事に書いていくので、この記事を見た人にとっても有益となれるとよい。

 

 目次

 

リソース設計とは

クライアントとサーバ間のインターフェース設計、つまりWebサービスやWebAPIの外部設計のこと。どのようにリソースを分割し、URIで名前をつけ、相互にリンクを持たせるかが設計の勘所になる。

 

 「Webサービスの特定」「データをリソースに分ける」詳しい設計方法

関係モデルからの導出

  • 対象とするER図を図に示す
  • 中心となるテーブルからのリソースの導入
  • リソースが持つデータの特定
  • 検索結果リソースの導出
  • 階層の検討
  • トップレベルリソース
  • リンクによる結合

 関係モデルからリソースを導入する場合は、データが持つ構造を考えることと、トップレベルリソースの存在を忘れないことが重要である。また、正規化を崩して全ての情報を含めるようにすることも意識すると良い。

オブジェクト指向モデルからの導出

  • 対象となるデータのクラス図を示す
  • 主要データクラスからのリソースの導出
  • オブジェクトの操作結果のリソース
  • 階層の検討
  • トップレベルリソース
  • リンクによる結合

 クラスの持つメソッドを操作結果リソースへと返還することが重要である。これにより、クラスの持つ豊富なメソッドをHTTPの限定されたメソッドに置き換えられる。

 情報アーキテクチャからの導出

日本郵便のWebサイトを例にした情報アーキテクチャ

  • トップページ
  • 全国地図からの検索
  • 住所での検索
  • 郵便番号での検索
  • パンくずリスト

 

リソース設計で最も重要なこと

 WebサービスとWeb APIを分けて考えない事が重要である。両者の違いは少なく、Web API用として作ったリソースがWebサービスで使える事が多々ある。