l'essentiel est invisible pour les yeux

Friday, January 06, 2006

WEBアーキテクチャ論争

Ajaxは諸刃の剣である。

Pragmatic Ajax(Amazonによると配送予定日: 2006/3/17 - 2006/3/19)に"7.2 It isn’t all Just Wine and Roses..."というAjaxによるWEBアーキテクチャの変化に警告を促すような章がある。

余談
Plagmatic Ajaxは、(発売前から)PDFを公開・購入できるスタンスを取っている。
上の章など一部は、無料で閲覧可能。
Pragmatic AjaxのPDF

"7.2 It isn’t all Just Wine and Roses..."については、Ajaxという未来をWEBという歴史にどう接続するかが詳しいが、Ajaxが破壊するWEBのアーキテクチャについてここでは考えてみたい。

Ajax により実現されるSingle Page Interfaceアーキテクチャ(以下、SPI)は、RESTアーキテクチャに示される、WWWのリソースを特定するURIが存在する、リソースにアク セス&操作するためのプロトコルとしてHTTP(POST/GET/PUT/DELETE)を使用するという考えを破壊する。

つまりは、WEB上のリソースを指し示す住所(URI)が無くなり、WEB上にURIlの存在するリソースは、ページの初期状態だけになる。初期状態から特定のアクションを経てたどり着いた状態は、他のユーザからはブラックボックスなのである。

これは、AjaxやFlashの登場に始まった事ではない。
フォーム内容をPOSTメソッドにより送信し、表示されるページも同様である。

これらのページは、確かにWEB上に存在するのだが、それを指し示すURIがないために、ブックマークだけでなく、人にここのURLだよと教える事も不可能なのである。

しかし、SPIを導入する事が必ずしも悪ではなく、時には強力なツールとなる。
リソースを指し示すURIが必要ない(ユーザがログインして使用する機能のUIなど)・TODO管理ツールのRememer The Milkで見られるフォームの動的なバリデーションは非常に賢いやり方だといえる。

しかし、SPIはユーザにとっては、非常に不親切なWEBアーキテクチャであるのではないだろうか?「戻る」ボタンで戻れない。リソースを特定するURIが存在しない。それがSPIなのだ。

だからこそSingle Page InterfaceのサイトのUIは、収束するのではないかと考える。
つまりフレームワーク化が可能だと思う。Ajaxでも、「戻る」が効かないなんてことは不便以外の何者でもない。SPIアーキテクチャの中に、REST的なコミュニケーション、アーキテクチャが必要なのである。