そろそろ Patterns of Web Application Archtecture ってないかな?

Martin FowlerのPatterns of Enterprise Application Architecture (PoEAA)はEnterprise Application(業務システム)の典型的なアーキテクチャをパターンカタログ化したものであり、Applicationを分析や設計したり、コードを理解したりするのに役に立つ。

これのWebアプリ版ってあるといいと思うのだが、ちょっと探した限りではみつからならなった。これは、PoEAAと抽象レベルは同じくらいであり、パターン自体同じものが使えるのも多いだろう。しかし、Webには、RESTやCSSOpenIDなどWebアプリ独特の構造がある以上、その視点でのパターンがあるとよいのではないか。うまく応用すればセキュリティにも役立つかもしれない。

まだでてきていないのは、Webアプリ開発で使う技術基盤が多様で、それがパターン化させる土台になってしまうからではないだろうか。つまりはrailsパターンやAJAXパターンになってしまうという感じだ。Webアプリ構造として汎用化されないのだが、これは下限を見るのに有用かもしれない。解決法がrailsべったりといっても、問題提起や構造までべったりとは限らないからだ。

パターンカタログは構造化文書であり、項目には名前や関連パターン、そのほかいくつかあるが、とりあえずパターンになってそうなものを挙げてみることにする。粒度はばらばらで、パターン名だったり、説明だったり、カテゴリだったりするが。

  • ゲストユーザー
  • Well knownなCSSにあわせた出力
  • ユーザーテンプレート
  • ユーザー設定
  • ユーザーによるリソース生成
  • コメント
  • 構造化文書
  • 文書内リンク処理
  • リソース間構造
  • ランキング
  • プリティURL
  • RSS
  • OpenID

...つづく(と思う)