kkana's blog

新米コーダーの忘れそうなことメモ

読書メモ:webを支える技術(5)

リソース設計とは・・・

  • クライアントとサーバの間のインターフェイスの設計(どう分割するか?、どうURIで名前をつけるか?、リンクの関係をどうするか?)
  • webサービスとwebAPIをわけて考えない(どちらもweb上にあるリソースを提供するものなので)

設計手法

データをソースに分ける方法

  • 関係モデル(関係モデル - Wikipedia)RBDMS(関係データベース管理システム - Wikipedia)などのER図から考える

    • 中心になっているテーブルの一行をURIリソースとする
    • ひとつひとつのリソースがそれ自身で全て表現できるようにするために正規化は行わない
    • トップレベルリソースと階層構造は直接導出するのがむつかしいので別途ドキュメントなどを見ながら構造化させる
  • オブジェクト指向モデルのクラス図から考える

    • 下位・上位への参照・検索・リストの取得などのメソッドインスタンスをもったクラス図を考える
    • 主要なデータを表現しているクラスのインスタンスひとつひとつがURIになる
    • メソッドそのものをリソースにしない。処理結果をリソースとする
    • クラス間の構造を表現しているサブクラス・継承などはそのままリソースの階層として使えないか考える
  • 情報アーキテクチャ(よくわからなかったのでまたいつか・・)

書き込み可能なwebサービスを考えるとき

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)