モデル1と比較したモデル2のアーキテクチャについて

初期のWebアプリケーション設計では、JSPページはアプリケーション全体の中心と見なされていました。モデル1と呼ばれるアーキテクチャでは、JSPはHTMLを出力するための表示要素を含むだけでなく、HTTPリクエスト・パラメータの抽出、ビジネス・ロジックのコール(JSP内に直接実装されない場合にはJavaBeansに実装される)、さらにHTTPセッションの処理まで行います。モデル1は単純なアプリケーションに適しているアーキテクチャではあるものの、特にリクエスト処理量が著しく増加した場合に、大量のスクリプトレット(JSPページのHTMLコードに組み込まれるJavaコード)を要します。

次の図は、JSPモデル1アーキテクチャを示します。

JSPモデル1アーキテクチャ

Apache Software Organizationは、モデル1に代わるアーキテクチャとしてApache Strutsフレームワークを開発しました。Strutsとは、Javaサーブレット、JavaBeansおよびJSPなどの標準テクノロジと統合できるWebアプリケーション構築用のオープン・ソース・フレームワークです。Strutsにより、Webアプリケーション開発者はJSP WebアプリケーションのModel-View-Controller(MVC)設計パターンのモデル2実装など、多くの機能を利用できます。Webアプリケーションに適用されるMVCモデル2設計例により、表示コード(HTMLやタグ・ライブラリ)をフロー・コントロール・ロジック(Strutsアクション・クラス)から切り離すことができます。

次の図は、サーブレットがWebアプリケーションのフローを制御し、ビジネス・ロジックを通常はJavaBeansまたはEJBである外部コンポーネントに任せ、JSPページがWebブラウザのHTMLを生成するモデル2 Webアプリケーション・アーキテクチャを示します。

JSPモデル2アーキテクチャ

MVCモデル2設計パターンとOracle ADFの役割の概略を次に示します。


Webアプリケーションのページ・フローの詳細は、次の項目を参照してください。

Oracle ADFの詳細は、次の項目を参照してください。