初期のWebアプリケーション設計では、JSPページはアプリケーション全体の中心と見なされていました。モデル1と呼ばれるアーキテクチャでは、JSPはHTMLを出力するための表示要素を含むだけでなく、HTTPリクエスト・パラメータの抽出、ビジネス・ロジックのコール(JSP内に直接実装されない場合にはJavaBeansに実装される)、さらにHTTPセッションの処理まで行います。モデル1は単純なアプリケーションに適しているアーキテクチャではあるものの、特にリクエスト処理量が著しく増加した場合に、大量のスクリプトレット(JSPページのHTMLコードに組み込まれるJavaコード)を要します。
次の図は、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アプリケーション・アーキテクチャを示します。
MVCモデル2設計パターンとOracle ADFの役割の概略を次に示します。
Webアプリケーションの構築でOracle Application Development Framework(Oracle ADF)を使用すると、モデル層がバインドされます。使用しない場合には、ビュー層のデータ・バインド実装の作成が必要となります。Oracle ADFの詳細は、J2EEプラットフォームおよびOracle ADFについてを参照してください。
Oracle Application Development Framework(Oracle ADF)を使用すれば、JDeveloperで提供されるデータ・バインド機能を活用し、モデル層からデータ・バインドされた動的コンテンツをWebページで表示できます。JDeveloperのデータ・コントロールの詳細は、Oracle ADF機能についてを参照してください。
JDeveloperのStruts ページ・フロー・ダイアグラムを使用すれば、アプリケーション・ロジックを視覚表示できます。Strutsの設計時の詳細は、JDeveloperでのStrutsサポートについてを参照してください。
Webアプリケーションのページ・フローの詳細は、次の項目を参照してください。
Oracle ADFの詳細は、次の項目を参照してください。
Copyright(C)1997, 2006, Oracle. All rights reserved.