Curlとアーキテクチャ(2)〜レイヤアーキテクチャ〜
今回は、レイヤアーキテクチャの観点からシンクライアント(Webアプリケーション)とリッチクライアントの位置付けを確認してみます。
レイヤアーキテクチャとして現在もっともベーシックなのは、おそらく3階層としての説明でしょう。すなわち、(用語は様々ですが)プレゼンテーション層、ビジネス層、データ層からなるアーキテクチャです。
単純には、プレゼンテーション層はユーザとの対話を行い、ビジネス層はビジネスロジックを実行し、データ層は永続的なデータを扱います。
リッチクライアントというのは、このレイヤアーキテクチャのうちプレゼンテーション層に相当する技術です(当たり前!?)。Webアプリケーションではプレゼンテーション層はサーバ上で実行されますが、リッチクライアントではその実行場所がクライアントに移ります。
Webアプリケーションでのプレゼンテーション層はHTTPのリクエスト/レスポンスを扱う部分です。また、ビジネス層のビジネスロジックを呼び出し、セッション管理を行い、HTMLを生成します。JavaであればJSPやサーブレットの世界であり、StrutsなどのMVCフレームワークが置かれるのもこのプレゼンテーション層です。
よくある誤解は、curlを単なるJSPやASPなどのHTML生成技術の代替として捉えてしまうことです。リッチクライアントは、MVCパターンにおけるView部分だけに相当する技術ではありません。MVCはプレゼンテーション層のデザインパターンであり、curlアプリケーション自体がMVCとして構築される対象です。
参考
レイヤアーキテクチャ自体について理解を深めたい方に。
企業情報システムのレイヤアーキテクチャについてはMartin Fowlerの以下の本に詳しいです。
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)
- 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート
- 出版社/メーカー: 翔泳社
- 発売日: 2005/04/21
- メディア: 大型本
- 購入: 10人 クリック: 635回
- この商品を含むブログ (143件) を見る
POSA本にはより根本的なレイヤアーキテクチャの解説があります。
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
- 作者: F.ブッシュマン,H.ローネルト,M.スタル,R.ムニエ,P.ゾンメルラード,Frank Buschmann,Hans Rohnert,Michael Stal,Regine Meunier,Peter Sommerlad,金沢典子,桜井麻里,千葉寛之,水野貴之,関富登志
- 出版社/メーカー: 近代科学社
- 発売日: 2000/12
- メディア: 単行本
- 購入: 15人 クリック: 448回
- この商品を含むブログ (54件) を見る