第9回XML開発者の日

第9回XML開発者の日に行ってきた。会場は新富町、宝町から歩いていく(浅草線ユーザ)。午前中に行われたREST関連のセッションが興味深い。開発者向けのイベントで久しぶりにメモを取る。

以下メモ:

REST関連

  • web
  • Cool URI
    1. 変えない
    2. 変えにくくする
      • 実装に依存しない
      • リソースは名詞で
      • webアプリとweb APIURIを分けない
    3. 変わったらredirect
    4. あきらめる
  • ROA
    • Resource Oriented Architecture
    • vs SOA
  • web情報アーキテクチャ
    • 図書館学に似た感じ
  • POSTで検索結果リソースの作成、GETでそのリソースを参照
  • リソースとURIの関係は1:n

Rails関連

  • Ruby on Rails 1.2
    • リクエストメソッドとCRUD
      • POST - create
      • GET - show
      • PUT - update
      • DELETE - destroy
        • PUTとDELETEはブラウザから送出できないのでPOST + パラメータ(_method = PUT)
  • コントローラを1つのリソースとして考える
    • /resource/id
    • map.resources :foo
  • コンテントネゴシエーション
    • リクエストヘッダのAcceptの違いでresponseを変える
    • 拡張子が「.xml」だったらxmlを返すとか
    • リクエストヘッダのContent-Typeを利用して入力を同一視する
      • application/xmlとapplication/x-www-form-urlencodedとか
  • 状態のリソース、という考え方
    • ウィザード形式のアプリケーション
    • 状態変化に付随する情報/履歴を保存
    • リダイレクトを繰り返してステータスを変更していく
      • 戻るボタンが使えない
    • セッションもリソースとして考える
      • ログイン: 認証セッションリソースのcreate
      • ログアウト: 認証セッションリソースのdestroy