Curlでリッチプログラミング このページをアンテナに追加 RSSフィード

2006-12-24

[]Curlアーキテクチャ(2)〜レイヤアーキテクチャ01:46

今回は、レイヤアーキテクチャの観点からシンクライアント(Webアプリケーション)とリッチクライアントの位置付けを確認してみます。


レイヤアーキテクチャとして現在もっともベーシックなのは、おそらく3階層としての説明でしょう。すなわち、(用語は様々ですが)プレゼンテーション層、ビジネス層、データ層からなるアーキテクチャです。


f:id:giuseppe:20061225013244j:image


単純には、プレゼンテーション層はユーザとの対話を行い、ビジネス層はビジネスロジックを実行し、データ層は永続的なデータを扱います。

リッチクライアントというのは、このレイヤアーキテクチャのうちプレゼンテーション層に相当する技術です(当たり前!?)。Webアプリケーションではプレゼンテーション層はサーバ上で実行されますが、リッチクライアントではその実行場所がクライアントに移ります。


f:id:giuseppe:20061225013826j:image


Webアプリケーションでのプレゼンテーション層はHTTPのリクエスト/レスポンスを扱う部分です。また、ビジネス層のビジネスロジックを呼び出し、セッション管理を行い、HTMLを生成します。JavaであればJSPサーブレットの世界であり、StrutsなどのMVCフレームワークが置かれるのもこのプレゼンテーション層です。


よくある誤解は、curlを単なるJSPASPなどのHTML生成技術の代替として捉えてしまうことです。リッチクライアントは、MVCパターンにおけるView部分だけに相当する技術ではありません。MVCプレゼンテーション層のデザインパターンであり、curlアプリケーション自体がMVCとして構築される対象です。



参考

レイヤアーキテクチャ自体について理解を深めたい方に。

企業情報システムのレイヤアーキテクチャについてはMartin Fowlerの以下の本に詳しいです。


POSA本にはより根本的なレイヤアーキテクチャの解説があります。

トラックバック - http://d.hatena.ne.jp/giuseppe/20061224