『第九回XML開発者の日』に行って来た

相変わらず打ち上げには参加せずですが、行ってきました。
第九回XML開発者の日

今回はメモをほとんど取ってないのでまとめは無し。きっと、はてなブックマークの/entryに議事録がアップされるでしょう。

microformats押しなのかと思ったら、そんな訳でもなくて、前半はREST。個人的に興味深かったのもREST話。

さて、きっと資料が後で(既に?)アップされると思うので、感想(っぽいダイジェスト?)だけ。

RESTのお話。まず、おさらいだけど、『リソースを表現するURIが大事』で、『変わらないURIがクールだよね』という事。それで、変わらないというか、変え難くする努力はどうしたらいいだろうか。

  • *.plとか実装依存な情報は隠そうね
  • リソースは名詞だから、action(getHogeとかsetFooとか)は隠そうね
  • 勿論、セッションIDは入れないよ
  • イマドキのフレームワークがお勧め
  • WebアプリとかWebAPIとかでURIを分けるような事は良くない(/xmlrpcとかね)

URIはクライアントに不透明であるべきで、ユーザーがURIを組み立てるとか駄目。リンクとかで表現出来るといいね。『"URI Template"』って注目かも(クエリパラメータをテンプレ化?よく分からなかった。OpenSearch関連らしいです)。

URIの長さ制限でRead(GET)を実現し難そうなら、まずPOSTでリソースを作って(201)、LocationでリソースURIを返そう。検索の際のクエリが長過ぎて、XML-RPCで実装しちゃいそうな場面も解決。『リソースを作ってから操作する』っていうのは目から鱗だった。

リソースとそのURIを基準とするアーキテクチャ(?)をROA(Resource Oriented Architecture)と呼んだりするらしい。SOA vs ROAとか。

リソースとURIは1対多になるよ。例えば、天気情報について考えると、『今日の天気』も『最新の天気』も一緒だよね。

ここまでが、山本陽平さんのお話。次は川村徹さんによる、Railsのお話。

どうやら、Railsは1.2から、よりRESTfulな設計思想(?)が反映されるらしい。そもそも、『URIに動詞(action)が入っていたのは間違いだった』という事らしい。で、{create, show, update, destroy}を{POST, GET, PUT, DELETE}と結びつけて、暗黙的なルーティング(?)をする事にするよ、と。で、コントローラはリソース名を表す、と。

リソースの形式(XMLとかJSONとか)をコンテントネゴシエーションで解決しましょう、と。Acceptヘッダ付きのリクエストをちゃんと解釈する、と。Content-Type付きリクエストから入力の形式の解決もするよ、と。

セッションもリソースだって考えるなら、最初にセッションリソースを作るってのもありかもね、と(色々ご意見あって、実際安全に使えるかはよく分かりませんでした)。

ウィザードをRESTで解決するにはどうしたらいいかな。

  • 最初にリソース(注文書とか)を作って、後はひたすら更新
  • 途中情報はhiddenで保持して、最後に作成
  • 途中情報はセッションで保持して、最後に作成

(途中終了とかで)無駄なリソースがたくさん出来るかもだけど、フレームワークとかで解決手段を持てば、最初の方法がREST的。

ここまで、川村徹さん。

ここから、xfyというXML(XSLT?)で記述されたアプリを動かすアプリケーションプラットフォームに関してのお話とか、Plaggerのお話、規格標準化に関するお話、microformatsに関するお話と続きました。

Plaggerで印象的だったのは、『Feedでデータを正規化している』『FeedはWebのStandard IO』『WebのUnix shell(pipe)』というお話。あと、skype。

microformatsについては、『みんなで使っていこう、盛り上げよう』的なお話で終わってしまった気がする。導入だったという事でしょうか。MTを使い続ける事を考えると、何かプラグインを入れないと無理。自分でタグ書いてどうにかしようっていう気力は無い。Wikiなんて、HTML書かないし、もっと無理?

そんなこんなな、xmldevday9でした。

さて、actionを書かなくて良いフレームワークを探そうか、PHPで。んー、さすがにそこまで割り切れる文化はないかもね。


SBSのタグって、xmldevday9でいいんですかね。xmldevday?

プロフィール

このブログ記事について

このページは、koshigoeが2006年11月24日 20:23に書いたブログ記事です。

ひとつ前のブログ記事は「mod_rewriteお勉強:RewriteMap」です。

次のブログ記事は「ZendFrameworkのマニュアルが更新されてた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。