J2EEアプリケーション開発のためのModel-View-Controller(MVC)アーキテクチャ・デザイン・パターンの目的は、アプリケーションの機能を、連携コンポーネントのセットに明確に分割することです。
J2EE IDEベンダーの課題
統合開発環境(IDE)でJ2EEアプリケーションを作成すると、アプリケーション開発者は、より高い生産性を実現できます。IDEがJ2EEコンポーネント開発をサポートしている場合、開発者に直接関係する利点の1つは、ビュー・レイヤーのコードの維持が単純で容易になることです。たとえば、Webページの場合、MVC(Webアプリケーションではモデル2と呼ばれる)は、ビュー・レイヤー(たとえばJSPページ)をコントローラ・レイヤー(ページ・フロー制御ではJavaServer Facesナビゲーション・ルールまたはStrutsアクション・クラス)から分離します。この場合、Webページ設計者が、ページのフロー制御を管理するために必要なコーディングに拘束されることなく、視覚的に人をひきつけるWebページを作成できるようなIDEが必要です。
また、IDEでは、個別のモデル・レイヤー、ビュー・レイヤーおよびコントローラ・レイヤーを、連携コンポーネントとして扱う必要があります。そうしないと、プロジェクトのアプリケーション開発者間でコミュニケーションの必要が生じるため、アプリケーション開発の役割分担による利点が相殺されます。たとえば、IDEで、アプリケーション・データのソースであるモデル・レイヤーのビジネス・サービスに加えられた変更は、データの挿入および取出しを行うコントローラと、データの表示だけを担うビューでただちに使用できるようになる必要があります。
さらに、分散アプリケーションにデプロイされた一部のテクノロジを使用する際の複雑さは、IDEで対応する必要があります。IDEで対応しない場合、J2EEの経験の浅い開発者は、迅速なアプリケーション開発という目的に対してこれらのテクノロジが逆効果であると思う可能性があります。たとえば、Enterprise JavaBeansのための「J2EE BluePrint」を使用するモデル・レイヤーを実装することが困難なことがあります。「J2EE BluePrint」では、開発者が、Webトランザクションとアプリケーション状態を管理するコードを記述することを必要としているためです。
J2EEアプリケーションでのOracle ADFの役割
JDeveloperには、Oracle Application Development Framework(Oracle ADF)と呼ばれる、統合J2EEランタイム・フレームワークが用意されています。Oracle ADFによって、MVCレイヤー間の連携が、設計時とランタイムの両方で強化されます。また、重要な点として、複雑なビジネス・サービスをアプリケーション・モデル・レイヤーに組み込むことが容易になります。
具体的には、ADFによって、J2EEアプリケーション開発で次の3つの利点が得られます。
多様なビジネス・サービスに対応するシン・モデル・レイヤーを提供します。これにより、ビューをデータソースにかかわらず同じように作成できます。
オプションとして、トランザクション・コントロール・サポートをモデル・レイヤーに提供し、Webアプリケーションをさらに拡張できます。
JDeveloper IDEの高度なビジュアル設計ツールと連携し、J2EEアプリケーション・プロジェクト全体の統合ビューを有効にします。
Oracle ADFテクノロジ・スタックの概要
Oracle ADFでは、使用可能な標準エンタープライズ・テクノロジの制限はありません。ADFを使用すると、アプリケーション開発チームは、サポートされている次のコンポーネントを使用してJ2EEアプリケーション全体を迅速に作成できます。
モデル・レイヤー: 必要に応じて、すべてのビジネス・サービス(Oracle ADF Business Components、Oracle TopLink対応オブジェクト、JavaBeans、Enterprise JavaBeans、Webサービスなど)に対応し、組合せできるシン・モデル・レイヤー。
コントローラ・レイヤー: Webアプリケーションの場合、ページ・フローを設計して、JavaServer FacesコントローラまたはApache Strutsサーブレット・コントローラで実行できます。Javaクライアント・アプリケーションの場合、コントローラ機能はSwingツールキットのUIコンポーネントによって提供されるため、別のレイヤーとしては扱われません。
ビュー・レイヤー: Webアプリケーションの場合、JSPページを設計できます。また、JavaServer Faces JSR 127仕様ベースの豊富なコンポーネント・セットを提供するOracle ADF Facesを使用できます。Javaクライアント・アプリケーションの場合、標準のSwing UIコンポーネントを使用して、JavaフォームおよびSwing拡張機能であるOracle ADF Swingを設計できます。
MVCに基づく対話型アプリケーションを説明するSun Microsystems社のドキュメント一覧は、http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/DEA2eTOC.htmlを参照してください。
アプリケーションのJ2EEテクノロジ・スタックを分割する方法は、次のトピックを参照してください。
Copyright © 1997, 2006, Oracle. All rights reserved.