プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Application Development FrameworkによるFusion Webアプリケーションの開発
12c (12.2.1)
E70030-02
目次へ移動
目次

前
次

2 ADFサンプル・アプリケーションの概要

この章では、Oracle ADF用のSummitサンプル・アプリケーションを実行する方法を説明します。これらのサンプルはFusion Webアプリケーション・テクノロジ・スタックを使用してトランザクションベースのWebアプリケーションを作成する方法を具体的に示すために用意されています。Oracle ADF用Summitサンプル・アプリケーションを実装するスキーマと機能の詳細も記載されています。

各コンポーネントとそれらのソース・コードについて深く考察する前に、Oracle ADF用Summitサンプル・アプリケーションをインストールしてその機能に慣れておくことをお薦めします。このデモ・アプリケーションは、要点やコード・サンプルを説明する例として、このガイド全体を通して使用されます。

この章の内容は次のとおりです。

2.1 Oracle ADF用Summitサンプル・アプリケーションについて

Oracle ADF用Summitサンプル・アプリケーションは、Oracle ADFテクノロジ・スタック(ADFビジネス・コンポーネントADF Faces、ADFデータ視覚化ツール(DVT)、ADF ControllerおよびADFデスクトップ統合)のコンポーネント間の統合を含め、Fusion Webアプリケーションに共通するユースケースを具体的に示す目的で開発された一連のアプリケーションです。

サンプル・アプリケーションはADFコンポーネント機能の特定の機能に重点を置いたいくつかのJDeveloperアプリケーション・ワークスペースから構成されています。各アプリケーション・ワークスペースは同じ基礎となるデータベース・スキーマを使用します。このアプローチはソース・コードへのアクセスを非常に容易にするとともにワークスペースでのサンプルの実行時動作を非常に円滑化します。これらのサンプル・アプリケーションはFusion Webアプリケーション用の広範なOracle ADF機能をカバーし、総称してOracle ADF用Summitサンプル・アプリケーションと呼ばれています。このガイドの各章で、これらのサンプル・アプリケーションから抜粋したサンプル・コードについて説明しています。

基礎となるSummit ADFスキーマによってサポートされるコアSummit ADFサンプル・アプリケーションはOracle ADFへの適切な導入部分としての役割を果たします。架空の顧客管理Webサイトに基づいて実行可能なアプリケーションが提供され、Oracle ADFの多数のユーザー・インタフェース設計およびデータベース・トランザクション機能が具体的に示されます。コアSummit ADFサンプル・アプリケーションとそれが実装する機能の詳細は、「SummitADFワークスペースにおけるサンプル・アプリケーションの考察」を参照してください。

その他のSummit ADFサンプル・アプリケーションはOracle ADF機能へのより包括的な導入部分の役割を果たし、中には小規模なスタンドアロン・サンプルもあれば、コア・サンプル・アプリケーションの拡張版もあります。Summit ADFサンプル・アプリケーション・ワークスペースと各サンプルが提供する機能の説明の一覧は、表2-1 を参照してください。

アプリケーション・ワークスペースからサンプルのいずれかを表示および実行するには、Oracle JDeveloper Studioをインストールする必要があります。その後、Summit ADFスキーマとこのデモンストレーション用のサンプル・アプリケーションを含むZIPアーカイブ・ファイルをダウンロードする必要があります。これらのタスクを完了する手順は、この章で説明します。開始手順は、「Oracle ADF用Summitサンプル・アプリケーションの設定」を参照してください。

2.2 Oracle ADF用Summitサンプル・アプリケーションの設定

Oracle ADF用Summitサンプル・アプリケーションはOracleデータベースとJDeveloperを使用して実行します。サポートされるプラットフォームは、JDeveloperによってサポートされるプラットフォームと同じです。

環境を準備しサンプル・アプリケーションを実行するには、必要なアプリケーション・リソースをダウンロードする必要があります。それらのリソースは、Summit ADFサンプル・アプリケーション・ワークスペースが含まれるZIPアーカイブ・ファイルに含まれています。

表2-1 はOracle Technology Network (OTN) Webサイトからダウンロードして入手できるサンプル・アプリケーション・アーカイブ・ファイルを示しています。すべてのサンプル・アプリケーションを単一のアーカイブ・ファイルでダウンロードすることも選択できれば、特定のOracle ADFテクノロジに重点を置いている場合はアーカイブ・ファイルの中から目的のサンプルのみをダウンロードするように選択することもできます。


表2-1 Summitサンプル・アプリケーションのダウンロード可能なZIPアーカイブ・ファイル

ダウンロード可能なサンプル ZIPアーカイブの説明

SummitADF1221.zip

Oracle ADF用Summitサンプル・アプリケーションがすべて含まれた、1回のみのダウンロードで済む便利なファイル。また、データベースにSummit ADFスキーマをインストールするために必要なビルド・ファイルも含まれています。

注意: このZIPファイルを開くと、下にリストしたサンプル・アプリケーションごとに個別のアプリケーション・ワークスペースが作成されます。

SummitADF_Schema1221.zip

データベースにSummit ADFスキーマをインストールするために必要なビルド・ファイルを含むアプリケーション・ワークスペースが含まれています。Summit ADFスキーマはSummit ADFサンプル・アプリケーションを実行するために必要です。スキーマのインストール方法の詳細は、「Summit ADFスキーマのインストール方法」を参照してください。

SummitADF_Core1221.zip

コアSummit ADFサンプル・アプリケーションを含むアプリケーション・ワークスペースが含まれています。この基本アプリケーションは、Fusion WebアプリケーションでOracle ADFテクノロジを示すためのWebユーザー・インタフェースとビジネス・サービス・レイヤーで構成されています。このアプリケーションの詳細は、「SummitADFワークスペースにおけるサンプル・アプリケーションの考察」を参照してください。

SummitADF_TaskFlows1221.zip

ADF用Summitサンプル・アプリケーション・タスク・フローを含むアプリケーション・ワークスペースが含まれています。このアプリケーションはADFタスク・フローをフルに活用することでコアSummit ADFサンプル・アプリケーション上に構築され、Fusion WebアプリケーションでADFセキュリティ、コンテキスト・イベントおよびタスク・フローを示します。

SummitADF_DVT1221.zip

ADF DVTコンポーネント用Summitサンプル・アプリケーションを含むアプリケーション・ワークスペースが含まれています。このアプリケーション・ワークスペースはADF DVTコンポーネントの作成および構成方法を示します。

SummitADF_Examples1221.zip

Oracle ADF用Summitスタンドアロン・サンプル・アプリケーションを含むアプリケーション・ワークスペースが含まれています。このアプリケーション・ワークスペースは、どのサンプル・アプリケーションにも表れないOracle ADF機能を調査できる小規模なサンプル・アプリケーションで構成されています。

SummitADF_DI1221.zip

ADFデスクトップ統合用Summitサンプル・アプリケーションを含むアプリケーション・ワークスペースが含まれています。このサンプル・アプリケーションはADFデスクトップ統合機能をフルに活用することでコアSummitサンプル・アプリケーション上に構築されています。

注意: このサンプルはこのガイドでは説明されていません。ADFデスクトップ統合用Summitサンプルの詳細は、『Oracle ADFデスクトップ統合によるアプリケーションの開発』のADFデスクトップ統合サンプル・アプリケーションの概要に関する項を参照してください。


2.2.1 アプリケーション・リソースのダウンロード方法

Oracle ADF用Summitサンプル・アプリケーションでは、そのデータ用に既存のOracleデータベースが必要です。JDeveloperを使用してサンプル・アプリケーションを実行します。

サンプル・アプリケーションをインストールする前に次のことを実行します。

アプリケーション・リソースをダウンロードして環境を準備するには:

  1. 『Oracle JDeveloperのインストール』の説明に従い、Oracle JDeveloperリリース12cをインストールします。

    アプリケーションのプロジェクトを表示し、アプリケーションを統合WebLogic Serverで実行するには、Oracle JDeveloperリリース12cのStudio構成をインストールする必要があります。JDeveloperは、次のURLからダウンロードできます。

    http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
    

    注意:

    JDeveloperをダウンロードしてインストールする際、Java構成ではなくStudio構成を確認してください。これらの詳細は、JDeveloperで「ヘルプ」「バージョン情報」メニュー・オプションの順に選択して確認できます。

  2. 表2-1 に示すように、目的のSummit ADFサンプル・アプリケーション・ワークスペースのZIPアーカイブ・ファイルをダウンロードします。使用可能なサンプルをすべてインストールする場合は、単一のアーカイブ・ファイルSummitADF1221.zipをダウンロードできます。

    Summit ADFサンプル・アプリケーション・アーカイブ・ファイルをOracle Technology Networkの次のWebページからダウンロードします。

    http://www.oracle.com/pls/topic/lookup?ctx=E26099_01&id=jdevcodesamples
    
  3. Oracleデータベースをインストールします。

    Oracleデータベース用にSQLスクリプトが作成されているため、11gやOracle Database Express Edition (Oracle Database XE)などのOracle RDBMSの特定のバージョンが必要になります。スクリプトはOracle Database Liteにはインストールされません。Oracle Database Liteやその他のデータベースを使用する場合は、データベース・スクリプトを適宜変更する必要があります。Oracleデータベースは、次のURLからダウンロードできます。

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
    

    特に、ローカル・マシンにデータベースを設定するには、容量を節約できるOracle Database XEが最適です。Oracle Express Editionは次の場所からダウンロードできます。

    http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

2.2.2 Summit ADFスキーマのインストール方法

Summit ADFスキーマをインストールするには、スキーマ・ファイルを解凍し、データベース接続を構成して、build_summit_schema.sqlスクリプトをJDeveloperで実行します。

始める前に:

Oracle ADF用Summitサンプル・アプリケーションが使用しているスキーマについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスキーマのインストール時の処理」を参照してください。

次のタスクを完了する必要があります。

Summit ADFスキーマをデータベースにインストールするには:

  1. Summit ADFスキーマ・アーカイブ・ファイルをダウンロードした場所に移動し、それを解凍します。
  2. JDeveloperを起動し、メイン・メニューから「ファイル」「開く」を選択します。
  3. 「開く」ダイアログで、SummitADF_SchemaディレクトリのZIPファイルを開いた場所へ移動し、Summit_Schema.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。

    注意:

    単一のアーカイブ・ファイルSummitADF1221.zipをダウンロードした場合は、Summit_Schema.jwsファイルがSchemaフォルダに存在します。Schemaフォルダをダブルクリックします。「Summit_Schema.jws」を選択し、「開く」をクリックします。

  4. 「アプリケーション」ウィンドウで、「アプリケーション・リソース」パネルを開きます。
  5. 「接続」を右クリックし、「新規接続」「データベース」を選択します。
  6. 「データベース接続の作成」ダイアログで、表2-2 のように各自の環境に合せてプロパティを変更します。ダイアログのヘルプを参照するには、[F1]を押すか「ヘルプ」をクリックします。

    表2-1 Summit ADFサンプル・アプリケーションのインストールに必要なプロパティ

    プロパティ 説明

    接続名

    接続のわかりやすい名前。この名前は、system_for_summitなどの有効なJava識別子にする必要があります。

    ユーザー名

    データベースのシステム・ユーザー。次に例を示します。

    system

    パスワード

    システム・ユーザーのパスワード。

    ドライバ

    データベースのJDBCドライバ。ドロップダウン・メニューから値を選択します。デフォルトはthinで、これは、Oracle Database XEおよびOracle Call Interface (OCI)を使用しない他のOracleデータベースの場合に指定するデフォルト値でもあります。

    ホスト名

    Oracleデータベースを実行しているサーバーの名前。IPアドレスまたはTCP/IPによって解決可能なホスト名を使用します。デフォルト値はlocalhostです。

    SID

    Oracle Databaseインスタンスの一意のシステム識別子(SID)。デフォルトはXEで、これはデータベース・サーバーがOracle Database XEを実行する場合に指定するデフォルト値でもあります。サーバーが別のOracleデータベースを実行している場合、SIDは通常ORCLです。

    JDBCポート

    データベースのポート。デフォルト値は1521です。


    注意:

    サーバーがリモート・マシンに存在する場合は、スキーマを作成するスクリプトも変更する必要が生じることがあります。スクリプトを開くには、「build_summit_schema.sql」を右クリックして、「開く」を選択します。

    図2-1 は完成した「データベース接続の作成」ダイアログを示しています。この例では、ローカル・マシンに存在するOracle Database XEインスタンスへの接続が確立されています。

    図2-1 Summit ADFスキーマの「データベース接続の作成」ダイアログ

    この図は周囲のテキストで説明しています
  7. 「接続のテスト」をクリックして、稼働中の接続があることを確認します。
  8. 「OK」をクリックして接続を作成し、ダイアログを終了します。
  9. 「アプリケーション」ウィンドウの「プロジェクト」パネルで「データベース」→「リソース」の順に開きます。
  10. 「build_summit_schema.sql」を右クリックし、「SQL*Plusで実行」接続名の順に選択します。

    表示された接続名は、手順6で構成されたものです。

  11. 「SQL*Plus接続」ダイアログで、情報が手順6で指定した構成に一致することを確認し「OK」をクリックします。
  12. 「SQL*Plusの場所」ダイアログで、「参照」をクリックしデータベース用の実行可能ファイルsqlplus.exeを見つけます。

    通常、実行可能ファイルは$ORACLE_HOMEの下のBINディレクトリにインストールされます。$ORACLE_HOMEはOracleデータベース・インストールへのパスを表しています。

  13. 「開く」をクリックして実行可能ファイル「sqlplus.exe」を選択し、次に「OK」を選択してダイアログを終了します。
  14. 「SQL*Plus」ウィンドウで、手順6で指定したシステム・ユーザーのパスワードを入力します。

    パスワードを入力すると、Antビルド・スクリプトがSummit ADFサンプル・アプリケーション・ユーザーを作成し、Summit ADFスキーマの表に移入します。メッセージ - ログ・ウィンドウに、一連のSQLスクリプトが表示され、最終的に次のようになります。

    Commit complete.
    
    Commit complete.
    SQL> 
  15. SQLプロンプトで、quitと入力し「SQL*Plus」ウィンドウを終了します。
  16. JDeveloperでメイン・メニューから「アプリケーション」「閉じる」を選択し、Summit ADFスキーマ・アプリケーションを閉じます。

2.2.3 Summit ADFスキーマのインストール時の処理

図2-2 は、Oracle ADF用Summitサンプル・アプリケーションのスキーマの概要を示しています。ダイアグラム内の青色の図形は、中核となる7つの表を表しています。その他の表は黄色の図形で示されています。一部の表は順序を使用しますが、ここでは中核の表によって使用されるもののみを示しています。交差する線の数を最小限にするため、スキーマは下から上への階層で表示されます。

図2-2 Oracle ADF用Summitサンプル・アプリケーションのスキーマ・ダイアグラム

この図は周囲のテキストで説明しています

青色のダイアグラム要素で示されている中核の表には、次のものがあります。

  • S_ITEM: 各注文では、多くの注文品目が記録される場合があります。この表には各注文品目の単価と数量が格納されます。注文の明細品目とその注文IDにより、各注文品目が一意に識別されます。

  • S_ORD: この表は、特定の顧客のアクティビティを示します。注文が作成されると、注文日、注文の合計額、その作成者の顧客ID、営業担当者の名前が記録されます。注文が履行されると、注文のステータスと注文の出荷日が更新されます。すべての注文は、順序の割り当てられたIDによって一意に識別されます。

  • S_CUSTOMER: この表にはすべてのSummit顧客の名前と住所が格納されます。各顧客は順序の割り当てられたIDによって一意に識別されます。表には、各顧客とSummit営業担当者を関連付ける外部キーも含まれています。

  • S_EMP: この表にはシステムと対話するすべての従業員が格納されます。各ユーザーの姓と名、電子メール・アドレス、住所の詳細が格納されます。各ユーザーは、IDによって一意に識別されます。その他のIDは役職および部門情報が格納された表への外部キーを提供し、従業員のマネージャの場合は自己参照型のアソシエーションになります。

  • S_PRODUCT: この表には、店舗で入手可能なすべての製品が格納されます。製品ごとに名前と提案される卸売価格が記録されます。すべての製品は、順序の割り当てられたIDによって一意に識別されます。製品の画像とその説明は別々の表に格納され、それぞれが製品IDを参照します。

  • S_WAREHOUSE: この表にはSummit製品の在庫を搬送する各倉庫の場所とマネージャが格納されます。倉庫ごとに場所とマネージャが記録されます。倉庫は、順序の割り当てられたIDによって一意に識別されます。

  • S_INVENTORY: この表にはSummit製品のインベントリ・データが格納されます。製品を搬送する倉庫ごとに各製品の在庫数、再発注点および最大インベントリ・レベルが記録されます。

中核の表で使用される順序には、次のものがあります。

  • S_ITEM_ID: 各新規注文品目のIDを移入します。

  • S_ORD_ID: 各新規注文のIDを移入します。

  • S_CUSTOMER_ID: 各新規顧客のIDを移入します。

  • S_EMP_ID: 各新規従業員のIDを移入します。

  • S_PRODUCT_ID: 各新規製品のIDを移入します。

2.2.4 Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法

Oracle ADF用Summitサンプル・アプリケーションにはデータ・アクセスのためのSummitデータベースへの接続が必要です。デフォルトでは、各アプリケーションはOracleデータベースへのローカル接続を使用するように構成されるため、使用している環境の必要に応じて確認および変更する必要があります。Oracle ADF用Summitサンプル・アプリケーションのデータベース接続を変更する手順はすべてのワークスペースで同一となり、JDeveloperでアプリケーションを開いた後に実行されます。

始める前に:

Summit ADFスキーマについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスキーマのインストール時の処理」を参照してください。

次のタスクを完了する必要があります。

Oracle ADF用Summitサンプル・アプリケーションのデータベース接続を作成するには:

  1. 「アプリケーション」ウィンドウで、「アプリケーション・リソース」パネルを開きます。
  2. 「アプリケーション・リソース」パネルで、「接続」「データベース」の順に開きます。

    既存のデータベース接続が表示されます。コアSummit ADFアプリケーションの場合、データベース接続はsummit_adfです。

  3. データベース接続を右クリックし「プロパティ」を選択します。

    たとえば、「summit_adf」を右クリックして「プロパティ」を選択します。

  4. 「データベース接続の編集」ダイアログで、表2-3 のように各自の環境に合せてプロパティを変更します。ダイアログのヘルプを参照するには、[F1]を押すか「ヘルプ」をクリックします。

    表2-3 Summit ADFサンプル・アプリケーションのデータベース接続を作成するためのプロパティ

    プロパティ 説明

    ユーザー名

    Summit ADFサンプル・データベースのユーザー名。このプロパティの場合はc##summit_adfを使用する必要があります。Oracle Database 12cでは、ユーザー名がc##で開始する必要があります。

    パスワード

    Summit ADFサンプル・データベースのパスワード。この値にはsummit_adfを使用する必要があります。

    ドライバ

    データベースのJDBCドライバ。ドロップダウン・メニューから値を選択します。デフォルトはthinで、これは、Oracle Database XEおよびOracle Call Interface (OCI)を使用しない他のOracleデータベースの場合に指定するデフォルト値でもあります。

    ホスト名

    データベースのホスト名。次に例を示します。

    localhost

    JDBCポート

    データベースのポート。次に例を示します。

    1521

    SID

    Oracle Databaseインスタンスの一意のシステム識別子(SID)。デフォルトはXEで、これはデータベース・サーバーがOracle Database XEを実行する場合に指定するデフォルト値でもあります。サーバーが別のOracleデータベースを実行している場合、SIDは通常ORCLです。


    図2-3 は完成した「データベース接続の編集」ダイアログを示しています。この例では、ローカル・マシンに存在するOracle Database XEインスタンスへの接続が確立されています。

    図2-3 Summit ADFサンプル・アプリケーションの「データベース接続の編集」ダイアログ

    この図は周囲のテキストで説明しています
  5. 「接続のテスト」をクリックして、稼働中の接続があることを確認します。
  6. 「OK」をクリックして接続を作成し、ダイアログを終了します。
  7. 「アプリケーション」ウィンドウの「プロジェクト」パネルで、「モデル」「Model.jprの再ビルド」の順に開きます。

2.3 SummitADFワークスペースでのコアSummit ADFサンプル・アプリケーションの実行

コアSummit ADFサンプル・アプリケーションでは、Summit Managementと呼ばれる架空のスポーツ用品サプライヤによって国際的な顧客向けスポーツ用品器具が販売されています。Summit Managementの従業員は、Webサイトにアクセスして、製品在庫のステータスをモニタリングしながら製品の注文を履行することで顧客の注文を管理できます。このコア・サンプル・アプリケーションの機能は、Oracle ADFテクノロジを初めて使用する方にわかりやすいように限られた数のFusion Webアプリケーション・ユースケースのデモを行うように意図的に制限されています。

コアSummit ADFサンプル・アプリケーションは、Webユーザー・インタフェースとビジネス・サービス・レイヤーで構成されます。特に、次のプロジェクトはコアSummit ADFサンプル・アプリケーションの一部です。

  • Model: 顧客管理データにアクセスし、顧客情報および注文データを更新するためのトランザクションをサポートします。

  • ViewController: Summitユーザーが顧客リストの参照、注文、注文の詳細の表示、注文のステータスのチェック、製品在庫の確認を行うJSF WebページとJSFFページ・フラグメントを提供します。

2.3.1 コアSummit ADFサンプル・アプリケーションの実行方法

ViewControllerプロジェクトでindex.jspxページを実行することでJDeveloper内でコアSummit ADFサンプル・アプリケーションを実行します。ViewControllerプロジェクトでは、ビュー・テクノロジとしてJavaServer Faces (JSF)を使用し、ModelプロジェクトのADFビジネス・コンポーネントと対話するためにADFモデル・レイヤーを使用します。コアSummit ADFサンプル・アプリケーションの詳細とその実装の詳細は、「SummitADFワークスペースにおけるサンプル・アプリケーションの考察」を参照してください。

始める前に:

Summit ADFスキーマについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスキーマのインストール時の処理」を参照してください。

次のタスクを完了する必要があります。

SummitADFアプリケーション・ワークスペースでサンプル・アプリケーションを実行するには:

  1. JDeveloperでアプリケーションを開きます。

    1. メイン・メニューで「ファイル」「開く」を選択します。

    2. SummitADFディレクトリのZIPファイルを開いた場所へ移動し、SummitADF.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。

      図2-4 はJDeveloperでSummitADF.jwsアプリケーション・ワークスペース・ファイルを開いた後の「アプリケーション」ウィンドウを示しています。ワークスペースの各プロジェクトの詳細は、「SummitADFワークスペースにおけるサンプル・アプリケーションの考察」を参照してください。

      図2-4 SummitADFアプリケーション・ワークスペースのプロジェクト

      この図は周囲のテキストで説明しています
  2. Summitデータベースへの接続を作成します。詳細は、「Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法」を参照してください。

  3. 「アプリケーション」ウィンドウで ViewControllerを開きindex.jsfを右クリックして「実行」を選択します。

    アプリケーションを初めて実行し、新しいドメインを統合WebLogic Serverで開始する際に、「デフォルト・ドメインの作成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。

    ViewControllerプロジェクト内のindex.jspxページが実行ターゲットになります。ページを実行すると、JDeveloperによってブラウザが起動されSummit ADFサンプル・アプリケーションのSummit Management Webページが表示されます。

Summit Management Webページが表示されたら、Webサイトを参照できます。コアSummit ADFサンプル・アプリケーションはOracle ADFアプリケーション・リソースのセキュリティを実装していないため、ログインは必要ありません。

2.3.2 SummitADFワークスペースにおけるサンプル・アプリケーションの考察

JDeveloperでプロジェクトを開くと、各プロジェクト内のアーティファクトの確認を開始できます。コアSummit ADFサンプル・アプリケーションの開発環境は、ModelViewControllerの2つのプロジェクトに分けられています。

Modelプロジェクトには、製品データをWebアプリケーションに表示できるようにする、データ・モデルに関連付けられたクラスが含まれます。図2-5 は、Modelプロジェクトおよび関連するディレクトリを示しています。

図2-5 SummitADFワークスペースのデータ・モデル・プロジェクト

この図は周囲のテキストで説明しています

ViewControllerプロジェクトには、ユーザー・インタフェースに関連付けられた次のフォルダが含まれます。

  • アプリケーション・ソース: 製品データのアクセスに使用するファイルが格納されます。データをビューにバインドするために、Oracle ADFによって使用されるメタデータ・ファイルが含まれています。

  • META-INF: デプロイに使用するファイルが格納されます。

ViewControllerプロジェクトには、バッキングBean、デプロイメント・ファイル、JSFおよびJSFFファイルなどのWebインタフェース用のファイルが含まれています。図2-6 は、ViewControllerプロジェクトおよび関連するフォルダを示しています。

図2-6 SummitADFワークスペースのViewControllerプロジェクト

この図は周囲のテキストで説明しています

ViewControllerプロジェクトには次のディレクトリが格納されています。

  • アプリケーション・ソース: マネージドBeanおよびバッキングBean、国際化に使用するプロパティ・ファイル、Oracle ADFによってバインド・データの表示に使用されるメタデータなど、Webクライアントで使用されるコードが格納されます。

  • Webコンテンツ: JSPファイル、イメージ、スキン・ファイル、デプロイメント・ディスクリプタ、ライブラリなどのWebファイルが格納されます。

2.3.2.1 アプリケーションの参照

ViewControllerプロジェクトでindex.jspxページを実行することでコアSummit ADFサンプル・アプリケーションを起動します。デフォルト・ターゲットindex.jsfを使用したアプリケーションの実行方法の詳細は、「SummitADFワークスペースでのコアSummit ADFサンプル・アプリケーションの実行」を参照してください。

index.jsfページは、ページの構造を提供するADFページ・テンプレートによって作成され、各タブ・パネルに表示するためのページ・フラグメントを識別するaf:panelTabbedコンポーネントが使用されています。

Summit ADF Webサイトにアクセスすると、「Welcome」、「Summit Management」および「Inventory Control」の3つのタブが表示されたインデックス・ページ上にサイトが開きます。各タブをクリックすると、インデックス・ページによってリージョンとして参照される個別のページ・フラグメントが表示されます。

「Summit Management」リージョンは顧客とそれらの注文のリストを参照できるメイン・リージョンです。このリージョンはcustomers.jsffページ・フラグメントによって定義され、それ自体はタブ付きパネルを提供するADF Facesコンポーネントによって作成されています。「Browse and Search」パネルは1つのaf:panelTabbedコンポーネントで、「Customer」、「Order」および「Order Dashboard」の各パネルは別のaf:panelTabbedコンポーネントに属しています。

図2-7 は「Summit Management」リージョンに表示されるインデックスページと注文を示しています。

図2-7 複数のリージョンがあるインデックス・ページ

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、データバインドWebページの作成方法を説明している項です。

  • Webページの構造の提供

    インデックス・ページでは、アプリケーションの機能がリージョンに分割されており、ADF FacesテンプレートとJavaServer Faces (JSF)ページ・フラグメントの組合せを使用して実装されています。ADF Facesテンプレートとフラグメントにより、ADFデータバインド・コンポーネントを追加できます。データバインドされたユーザー・インタフェース・コンポーネントをWebページに追加する前に実行する手順の詳細は、「ADF Facesを使用したWebアプリケーション開発について」を参照してください。

  • 様々なコンポーネントを使用したユーザー・インタフェースの設計

    JDeveloperでは、データバインドされたコンポーネントをJSFページ用に宣言的に作成できるため、ページのほとんどの内容をコードを見ずに設計できます。「データ・コントロール」パネルから項目をドラッグ・アンド・ドロップすることで、JDeveloperはADFバインディングを使用してADF Faces UIコンポーネントとADFデータ視覚化グラフ・コンポーネントをデータ・コントロールの属性に宣言的にバインドします。ADF FacesコンポーネントでのデータバインドWebページの作成の詳細は、「データバインドされた基本的なページの作成について」を参照してください。

  • アプリケーションのエントリ・ポイントの管理

    インデックス・ページのページ・フラグメントは個々のADFタスク・フローによってサポートされています。一般的に、Fusion Webアプリケーションでは、ADF Controllerのこの機能を利用してアプリケーションへのエントリ・ポイントを定義します。アプリケーションが複数のページを使用している場合は、アプリケーションのエントリ・ポイントを制御するためにバインドなしタスク・フローを定義します。JDeveloperの「コンポーネント」ウィンドウからドラッグ・アンド・ドロップするビジュアル設計要素はタスク・フローの作成に役立ちます。ADFバインドなしタスク・フローを使用してアプリケーションのエントリ・ポイントを指定する方法の詳細は、「ADFタスク・フローについて」を参照してください。

2.3.2.1.1 顧客リストの参照

顧客リストを表示するには、「Customers」ツリーで「Browse」タブをクリックし、国ノードを開いてその国の顧客リストを表示します。顧客リストはADF Faces af:treeコンポーネントによって作成された閉じられたノードでレイアウトされています。ツリー・コンポーネントのドロップダウン・メニューを使用して国別または営業担当者別のブランチを作成できます。ツリーのノードは、各顧客の名前とIDに対応したデータベースからのデータを表示します。

図2-8 は顧客ノードの選択肢を示す展開されたツリーを示しています。

図2-8 顧客名とIDを表示するデータバインド・ツリー・コンポーネント

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、製品詳細の参照をサポートするために使用されるコンポーネントを開発する方法を説明している項です。

  • Webページでのデータの表示

    データ・モデルからのデータを表示するため、Webページのユーザー・インタフェース・コンポーネントは、JSF式言語(EL)式を使用してADFモデル・レイヤー・バインディング・オブジェクトにバインドされます。たとえば、ユーザーが「Customers」ツリーで国ノードを展開するとその国の顧客リストが表示され、JSFランタイムがUIコンポーネントのEL式を評価し、ADFモデル・レイヤーから値を取得します。設計時に「データ・コントロール」パネルを使用してデータ・コレクションの項目の属性をWebページにドラッグし、ADF Facesコンポーネントを選択して値を表示すると、関連データを表示および更新するために必要なすべてのJSFタグとバインディング・コードがJDeveloperによって作成されます。「データ・コントロール」パネルおよび宣言的なバインディング機能の詳細は、「Fusion WebアプリケーションでのADFモデルの使用」を参照してください。

2.3.2.1.2 顧客の検索

顧客リストを検索するには、「Summit Management」リージョンで「Search」タブをクリックします。タブをクリックすると、問合せ検索フォームに検索基準を入力し、下の表に検索結果を表示できるように「Browse」パネルが変わります。検索パネルのレイアウトはADF Faces af:queryコンポーネントによって定義されます。

「Search」フォームの入力フィールドを使用して、顧客名や都市などすべての顧客に共通する属性を対象に簡単なキーワード検索を実行します。たとえば、特定の文字で始まる顧客のリストをデータベースに問合せることができます。

図2-9 は「S」で始める都市を所在地とする顧客について戻された検索結果を示しています。

図2-9 問合せ検索コンポーネントによってフィルタされた顧客リスト

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、問合せを定義し問合せ検索フォームを作成する方法を説明している項です。

  • 表示する問合せ検索フォームの定義

    問合せは、データベースに対して特定の問合せを定義するためにデータ・モデル・プロジェクトで作成するADFビジネス・コンポーネント・ビュー・オブジェクトに関連付けられています。特に、問合せコンポーネントは、ビュー・オブジェクトに定義されたビュー基準を図示したものです。ビュー基準が複数定義されている場合、各ビュー基準は「保存済の検索」ドロップダウン・リストから選択できます。これらの保存済の検索は、開発者によって設計時に作成されます。そのビュー・オブジェクトに関連付けられている問合せを実行すると、両方のビュー基準が選択可能になります。詳細は、「検索フォームの作成について」を参照してください。

  • 検索フォームの作成

    問合せ検索フォームは、名前付きビュー基準項目を「データ・コントロール」パネルからページにドロップして作成します。ドロップするものとして、検索パネルのみ、検索パネルと結果表、検索パネルとツリー表のいずれかを選択できます。詳細は、「問合せ検索フォームの作成」を参照してください。

  • 問合せ検索の結果の表示

    通常は、問合せ検索パネルとともに結果表またはツリー表をドロップします。JDeveloperは自動的に結果表またはツリー表を問合せパネルと関連付けます。問合せパネルのみをドロップし、独立した結果コンポーネントが必要な場合は、問合せコンポーネントのresultComponentId属性を結果コンポーネントの相対表現に設定できます。詳細は、「問合せ検索フォームを作成した後で結果コンポーネントを追加する方法」を参照してください。

2.3.2.1.3 顧客の詳細の表示

顧客の注文の参照を開始するには、「Summit Management」タブをクリックして、「Browse」タブまたは「Search」タブから展開された「Customers」ツリーを選択します。このアクションは、「Summit Customer Management」タブに表示されている詳細を選択した顧客に関する詳細を表示するように変更します。

「Customer details」タブでパネルを開閉し選択した顧客の様々な詳細を表示できます。最初の3つのパネルには顧客の詳細に対応する個々の入力フィールドで構成された入力フォームが表示されます。選択した顧客は「Orders」パネルに1つ以上の注文が表として表示され、各行は単一の注文とその詳細で構成されています。

この顧客と注文の関係は、マスターとディテールとして知られるビジネス・オブジェクトの関係を表しています。この場合、マスター(親オブジェクト)は多数のディテール行(子オブジェクト)を持つことができます。Summit ADFサンプル・アプリケーションのビジネス・オブジェクトは順番に、データベース内のS_CUSTOMER表とS_ORD表に対応しています。

注文の表はADF Faces af:tableコンポーネントによって定義されています。表ヘッダーのセルにあるソート・ボタンをクリックすると表の行をソートできます。

図2-10 は上部に顧客の詳細が表示され、下部に顧客固有の注文リストが表示される顧客ページのフラグメントを示しています。

図2-10 注文リストを示す「Customers」ページ・フラグメント

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、表とフォームを使用してマスター/ディテール関連のオブジェクトを表示する方法を説明している項です。

  • マスター・コンポーネントとディテール・コンポーネントのドラッグ・アンド・ドロップ

    「データ・コントロール」パネルを使用して、マスター/ディテール・データを表示するページを作成できます。「データ・コントロール」パネルにはマスター/ディテール関係にあるオブジェクトが階層に表示されますが、ADFアプリケーション・モジュールのデータ・モデルでの定義が反映され、ディテール・オブジェクトがマスター・オブジェクトの子となります。そのために必要な操作は、コレクションをページにドロップして、使用するコンポーネントのタイプを選択することのみです。たとえば、コアSummit ADFサンプル・アプリケーションのcustomers.jsffページ・フラグメントでは、af:treeコンポーネントに顧客カテゴリのマスター・リストが表示され、af:tableコンポーネントに注文のディテール・リストが表示されます。データ・モデルの詳細は、「ADFデータ・コントロールを使用したアプリケーション・モジュールの公開」を参照してください。マスター/ディテール関係のあるデータが表示される様々なタイプのページの詳細は、「マスター/ディテール・データの表示について」を参照してください。

  • 表に表示されるデータのソート

    ADF Faces表コンポーネントを作成する場合は、表をコレクション全体にバインドするか、データ・オブジェクトの範囲にコレクションからバインドします。これにより、列にデータを表示する特定のコンポーネントがコレクションの属性にバインドされます。イテレータ・バインディングによって各オブジェクトの適切なデータが表示され、表コンポーネントによって各オブジェクトが1行で表示されます。イテレータでorder-by問合せを実行して順序を決定する場合は、任意の列に対して「ソート」プロパティを設定できます。データ・モデル・プロジェクトのビュー・オブジェクトで定義されている問合せに対して、ORDER BY句を指定することもできます。表コンポーネントをコレクションにバインドする方法の詳細は、「ADFによるデータバインドされた表の作成について」を参照してください。データ・モデルのデータをソートする問合せを作成する方法の詳細は、「単一のデータベース表からのビュー・オブジェクト行の移入」を参照してください。

2.3.2.1.4 注文の詳細の表示

既存の注文の詳細を更新するには、「Customer」タブに表示されている「Orders」表から注文を選択し「Order」タブをクリックします。「Order」タブに選択した行に表示されたデータと同じデータが表示されるが、更新可能なフィールドを持つ編集フォームとして編成されています。たとえば、注文のステータスを変更するために、「OrderFilled」ラジオ・ボタンから選択肢を選択できます。ADF Faces af:selectOneRadioコンポーネントで行われた選択は対応するS_ORD表の列を更新します。

図2-11 は「Customer details」タブで注文1075が選択された「Order」ページ・フラグメントを示しています。「Order」フォームと「Customer details」タブの両方の注文1075のデータはデータベース内の変更を反映するようにアプリケーションによって調整されます。「OrderFilled」のステータスを「Yes」に変更し「Customer details」タブに戻ってステータスが一貫していることを確認します。

図2-11 注文の詳細を表示する「Orders」ページ・フラグメント

この図は周囲のテキストで説明しています

日付や通貨などのその他のデータ型は値の形式を処理するためのADF Facesコンポーネントを使用して表示できます。図2-12 「Date Shipped」フィールドの基礎となっている属性に定義されたデータ形式を示すシステム・エラーが表示された「Order」ページを示しています。

図2-12 フォーマット・マスク・エラーを示す「Orders」ページ・セグメント

この図は周囲のテキストで説明しています

Groovy計算式に基づく検証ルールをデータ更新に定義できます。図2-13 「CREDIT」「Payment Type」を選択可能にする前に顧客のクレジット・スコアを計算した際の検証エラーを表示した「Order」ページ・フラグメントを示しています。

図2-13 支払タイプ検証エラーを表示した「Orders」ページ・フラグメント

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、編集フォームの作成方法を説明している項です。

  • データバインドされた編集フォームの作成

    ユーザーが入力した値を取得する基本フォームを作成する場合、JDeveloperでは、属性を個別にドロップする必要はなく、オブジェクトのすべての属性を入力フォームとして一度にドロップできます。値を表示するフォーム、ユーザーが値を編集できるフォームおよび値を収集するフォームを作成できます。たとえば、コアSummit ADFサンプル・アプリケーションではページ・フラグメントOrders.jsffは注文情報を表示するためのフォームを表示します。詳細は、「既存レコードを編集するフォームの作成」を参照してください。

  • フォームを完了するためのデータの要求

    入力フォームには、「データ・コントロール」パネルからドロップしたデータ・コレクションの属性が表示されます。このフォームで個々のコンポーネントのrequiredプロパティを設定し、属性値を必須にするかどうかを制御できます。requiredプロパティをカスタマイズする方法の詳細は、「データ・コントロール属性を使用したテキスト・フィールドの作成」を参照してください。または、表示のコントロール・ヒントのプロパティを、ADFビジネス・コンポーネント・エンティティ・オブジェクトによって定義されている属性に直接設定できます。エンティティ・オブジェクトは、データベース内の特定の表の行を表し、関連付けられた属性の変更を簡略化するためのデータ・モデル・コンポーネントです。コントロール・ヒントを使用して属性を必須にする方法の詳細は、「属性プロパティの設定」を参照してください。

  • 選択リストの値リストの定義

    ユーザー・インタフェースに表示される入力フォームでは、データバインドADF Faces選択コンポーネントを使用して、データ・コレクションの個々の属性の値リスト(LOV)を表示できます。この一般的な設計タスクを容易にするために、ADFビジネス・コンポーネントでは、データ・モデル・プロジェクトの属性のLOVの使用法を指定する宣言的な方法をサポートしています。たとえば、コアSummit ADFサンプル・アプリケーションではページ・フラグメントOrders.jsffに表示された支払タイプ・フィールドのaf:selectOneChoiceコンポーネントはOrdVOビュー・オブジェクトに構成されたLOV対応の属性にバインドされます。属性に対するLOV構成の詳細は、「ビュー・オブジェクト属性の値リスト(LOV)での作業」を参照してください。

  • フォームのフォーマット・マスクの定義

    フォーマット・マスクにより、ユーザーは必要なフォーマットに属性値を指定できます。このタスクを容易にするために、ADFビジネス・コンポーネントでは、データ・モデル・プロジェクトの属性に対してコントロール・ヒントと呼ばれる宣言的サポートを提供します。たとえば、コアSummit ADFサンプル・アプリケーションでは、出荷日を指定するために使用されているOrdVOビュー・オブジェクトの属性はフォーマット・マスク・ヒントとともに構成されページ・フラグメントOrders.jsffに適用されます。入力フォーム・コンポーネントのフォーマット・マスク定義の詳細は、「ビュー・オブジェクトのUIヒントの定義」を参照してください。

  • データ更新の検証ルールの定義

    検証ルールはユーザーが特定のビジネス・ニーズを満たす属性値を提供するように確保するうえで役立ちます。このタスクを容易にするために、ADFビジネス・コンポーネントでは、データ・モデル・プロジェクトの属性に対して宣言的検証を提供しています。たとえば、コアSummit ADFサンプル・アプリケーションでは、支払タイプを指定するために使用されているOrdEOエンティティ・オブジェクトの属性は検証ルールとともに構成されページ・フラグメントOrders.jsffに適用されます。エンティティ・オブジェクトとビュー・オブジェクトにおける属性の検証ルールの定義方法の詳細は、「検証とビジネス・ルールの宣言的な定義」を参照してください。

2.3.2.2 注文プロセス

新しい顧客注文を作成するには、Summitインベントリの製品の残量を減らす一方顧客の注文レコードを更新するデータベース・トランザクションが必要です。「Customer」ページで注文リストの上にある「New」をクリックすると、アプリケーションによって日付のみが表示された新しい注文フォームが作成されます。

図2-14 は製品が追加されていない新しい注文フォームを示しています。

図2-14 新しい注文がまだ空の「Order」ページ・フラグメント

この図は周囲のテキストで説明しています

注文を作成するには、空の製品リストの上にある「New」をクリックします。次に、「ProductId」フィールドの横にある「Search」アイコンをクリックします。af:inputListOfValuesコンポーネントが製品のデータベースを検索するために使用できるポップアップ・ウィンドウを起動します。検索をより容易にするため、ポップアップ・ウィンドウには製品IDや製品名を含む、S_PRODUCT表からの限られた数のフィールドが表示されます。ランタイムの表示のフィルタ・タイプはデータバインドされたaf:inputListOfValuesコンポーネントに戻るADFバインディングによって実行されます。

ポップアップ・ウィンドウで製品を選択し「OK」をクリックします。「Order」タブは製品表での選択を表示するように更新されます。

図2-15 は、注文が製品の注文で構成された「Order」タブを示しています。

図2-15 注文エントリを示す「Order」ページ・フラグメント

この図は周囲のテキストで説明しています

注文を完了するため、営業担当者のIDを入力し、「Summit Customer Management」ページの右上隅にある「Commit」ボタンをクリックします。これによりデータベースは新しい注文の詳細で更新され製品のインベントリは減らされます。

顧客の注文履歴を視覚化するため、「Orders Dashboard」タブをクリックします。ダッシュボードにはADF Faces DVTコンポーネントを使用して様々なグラフが表示されます。Shipping Timeグラフはdvt:barChartコンポーネントです。このコンポーネントは注文出荷日が更新されたときにのみ計算される情報に依存しています。表示する日付はランタイムに決定する必要があるためデータベース表からは取得されません。Shipping Timeデータを表示するために棒グラフは各注文の出荷に要する日数を戻すADFビジネス・コンポーネント・メソッド・コールに依存します。

図2-16 はAcme Sporting Goods会社による3つの注文に関するダッシュボード情報を示しています。

図2-16 ダッシュボードの詳細を示す「Order」ページ・フラグメント

この図は周囲のテキストで説明しています

注文による製品インベントリへの影響を視覚化するため、「Inventory Control」タブをクリックし、次に「Summit Management」タブをクリックします。「Inventory Control」ページには再注文しきい値を下回る製品のみが表示されます。手薄な在庫が視覚的なaf:carouselコンポーネントと表形式のaf:tableコンポーネントの両方で表示されます。手薄な在庫のカルーセルから品目を選択すると選択した品目が現在の行になるように表が更新されることがわかります。表内の現在の行は強調表示されています。これらの2つのコンポーネントはADFモデル・レイヤーを通じてカルーセルが選択されたときに実行されるJavaメソッド・コールに同期されます。

図2-17 は26品目のうち13品目の在庫ステータスを示しています。手薄な在庫の表での現在の行選択は在庫カルーセルで表示されている選択を反映しています。

図2-17 手薄な在庫品目を表示する「Inventory Control」ページ・フラグメント

この図は周囲のテキストで説明しています

実装の詳細の参照先

次は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のうち、「Orders」および「Inventory Control」ページ・フラグメントでデータベースを更新するために使用されるようなデータベース・フォームを開発する方法を説明している項です。

  • コマンド・コンポーネントによるデータ更新のトリガー

    データ更新をサポートするために、「Summit Management」リージョンの「Orders」ページではaf:buttonコンポーネントとして表されるコマンド・コンポーネントを使用して、宣言的なADFページ定義ファイルでの特定のADFデータ・コントロール操作の実行を可能にしています。ADFデータ・コントロールの組込み操作によって、レコード間のナビゲート、変更のデータベースへのコミットなどの共通のフォーム機能を宣言的に処理できます。大半の操作はデータ・コントロール内の個々のデータ・コレクションに対応しています。コミットおよびロールバック操作はデータ・コントロール全体に対して使用できます。「データ・コントロール」パネルから操作をドラッグ・アンド・ドロップすると、ボタンやリンクなどの作成するコマンド・コンポーネントの種類を選択するように求められます。組込み操作のトリガー方法の詳細は、「データ・コントロール操作を使用したコマンド・コンポーネントの作成」を参照してください。

  • コマンド・コンポーネントによるバッキングBeanメソッド・コールのトリガー

    データベースとの対話を処理するためにカスタム・ロジックが必要となることがある操作をサポートするために、「Summit Management」リージョンのInventoryControlページ・フラグメントではaf:carouselコンポーネント上でcarouselSpinListenerを使用してバッキングBeanのInventoryControl.javaに定義されたカスタム・メソッドhandleCarouselSpin()をトリガーしています。カルーセルで品目を選択すると、アクション・リスナーによってaf:tableコンポーネント・イテレータ・バインディングの現在行を更新するバッキングBeanメソッドがトリガーされます。バッキングBeanでのJavaコードの実行方法の詳細は、「データバインドされたCarouselコンポーネントの作成方法」を参照してください。

  • 一時セッション情報の追跡とビジネス・コンポーネント・メソッド・コールのトリガー

    基礎となる表内の列に属性がマップされるデータ・モデル・プロジェクトを作成する場合、ADFビュー・オブジェクトには、(JavaやGroovy式などを使用して)計算された値を表示する一時属性や値ホルダーである一時属性を組み込むことができます。たとえば、コアSummit ADFサンプル・アプリケーションでは、ページ・フラグメントOrders.jsffの「Orders Dashboard」タブにOrdVOビュー・オブジェクトで定義された式によって計算されたTimeToShip属性の値が表示されます。calculateTimeToShip式はビュー行のOrdVORowImpl.javaクライアント・インタフェースでメソッドを起動します。一時属性をデータ・モデル・プロジェクトで定義する方法の詳細は、「エンティティ・オブジェクトへの一時属性および計算属性の追加」を参照してください。ビュー・オブジェクトにおけるカスタムJavaメソッドの実装の詳細は、「ビュー・オブジェクトおよびビュー行のクライアント・インタフェースの生成方法」を参照してください。

2.4 SummitADF_Examplesワークスペースからのスタンドアロン・サンプルの実行

Oracle ADF用のSummitスタンドアロン・サンプル・アプリケーションには、SummitADFワークスペースに表示されないOracle ADF機能を調査できるように、一連のサンプル・パッケージが含まれています。これらのサンプル・パッケージを総称してSummit ADFスタンドアロン・サンプル・アプリケーションと呼んでいます。スタンドアロン・アプリケーションはSummit ADFスタンドアロン・サンプル・アプリケーションZIPファイルを解凍したSummitADF_Examplesフォルダ内にあるSummitADF_Examplesアプリケーション・ワークスペースのModelプロジェクト内に表示されます。

一般に、スタンドアロン・アプリケーションはADFビジネス・コンポーネントとデータ・モデル・プロジェクトの概念を示します。これらのスタンドアロン・アプリケーションへの参照は、この開発者ガイドの「ビジネス・サービスの構築」に含まれる章全体にわたって登場します。このガイドを読み進めるうちに、概念をさらに詳しく検証するために、対応するスタンドアロン・アプリケーションを実行する必要が生じる場合があります。各スタンドアロン・アプリケーションの概要とドキュメントへのリンクは、「Summit ADFスタンドアロン・サンプル・アプリケーションの概要」の表を参照してください。

2.4.1 Summit ADFスタンドアロン・サンプル・アプリケーションの実行方法

JDeveloperでスタンドアロン・アプリケーションを実行するために使用するアプローチは、個々のパッケージで異なります。一部のパッケージは、JDeveloperがADFビジネス・コンポーネント・データ・モデル・プロジェクトに提供する対話型テスト・ツール(Oracle ADFモデル・テスターと呼ばれます)を使用するように設定されています。それ以外のアプリケーションは、ADFビジネス・コンポーネントAPIを使用して問合せを実行し、結果を表示するJavaテスト・クライアント(TestClientAaa.javaのようなファイル名を持ちます)を提供します。Oracle ADFモデル・テスターの場合は、ツール内ですべての操作を行い、ビジネス・コンポーネントと対話するための便利なユーザー・インタフェースが提供されます。Javaクライアントの場合は、プログラム・ファイルによって結果が出力され、JDeveloperの「ログ」ウィンドウに文が表示されます。

2.4.1.1 Javaテスト・クライアントからのスタンドアロン・サンプル・アプリケーションの実行

スタンドアロン・アプリケーションで、プログラム的にADFビジネス・コンポーネントAPIを実行するテスト・クライアントが提供されている場合は、そのテスト・クライアントを使用してアプリケーションを実行します。

始める前に:

個々のSummit ADFスタンドアロン・サンプル・アプリケーションについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスタンドアロン・サンプル・アプリケーションの概要」を参照してください。

次のタスクを完了する必要があります。

提供されるテスト・クライアントからスタンドアロン・アプリケーションを実行するには:

  1. JDeveloperでアプリケーションを開きます。

    1. メイン・メニューで「ファイル」「開く」を選択します。

    2. SummitADF_ExamplesディレクトリのZIPファイルを開いた場所へ移動し、SummitADF_Examples.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。

  2. スタンドアロン・アプリケーションのデータベース接続を作成します。詳細は、「Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法」を参照してください。

  3. JDeveloperでSQLスクリプトが必要なスタンドアロン・サンプルに対してSQLスクリプトを実行します。一部のスタンドアロン・アプリケーションは、変更されたバージョンのSummit ADFスキーマと連携します。スキーマの変更を必要とするスタンドアロン・アプリケーションの場合、JDeveloper内で実行する必要があるSQLスクリプトがアプリケーション・プロジェクトに含まれています。スタンドアロン・アプリケーションを一通り実行したら、スクリプトを使用してスキーマの変更を元に戻すことができます。

  4. 「アプリケーション」ウィンドウで、プロジェクト・ノードを開きテスト・クライアント(.java)ファイル・ノードを見つけます。テスト・クライアントは、「アプリケーション・ソース」ノードの下にあるパッケージ内に追加されている場合があります。それ以外の場合は、「リソース」ノードにテスト・クライアントはあります。

    たとえば、図2-18 は、inMemoryOperationsノードを開き、Javaファイル・ノードTestClientRowMatch.javaを選択した例を示しています。

    図2-18 「アプリケーション」ウィンドウで選択されたテスト・クライアント

    この図は周囲のテキストで説明しています
  5. テスト・クライアントを右クリックし、「実行」を選択します。

    スタンドアロン・アプリケーションに用意されているテスト・クライアントの名前と場所は、「Summit ADFスタンドアロン・サンプル・アプリケーションの概要」の表を参照してください。

    実行可能ファイルの初回実行時に統合WebLogic Serverで新規ドメインを起動すると「デフォルト・ドメインの作成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。

  6. JDeveloperの「ログ」ウィンドウでテスト・クライアントの出力を検証します。

    予期される結果の詳細は、参照ドキュメントを参照してください。

2.4.1.2 テスト・クライアントなしのスタンドアロン・アプリケーションの実行

スタンドアロン・アプリケーションで、プログラム的にADFビジネス・コンポーネントAPIを実行するテスト・クライアントが提供されない場合は、Oracle ADFモデル・テスターと呼ばれる対話式テスト・ツールを使用します。

始める前に:

個々のSummit ADFスタンドアロン・サンプル・アプリケーションについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスタンドアロン・サンプル・アプリケーションの概要」を参照してください。

また、Oracle ADFモデル・テスターについて理解しておくと役立つ場合があります。詳細は、「Oracle ADFモデル・テスターを使用したビュー・オブジェクト・インスタンスのテスト」を参照してください。

次のタスクを完了する必要があります。

Oracle ADFモデル・テスターでスタンドアロン・アプリケーションを実行するには:

  1. JDeveloperでアプリケーションを開きます。

    1. メイン・メニューで「ファイル」「開く」を選択します。

    2. SummitADF_ExamplesディレクトリのZIPファイルを開いた場所へ移動し、SummitADF_Examples.jwsアプリケーション・ワークスペース・ファイルを選択して「開く」をクリックします。

  2. スタンドアロン・アプリケーションのデータベース接続を作成します。詳細は、「Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法」を参照してください。

  3. JDeveloperでSQLスクリプトが必要なスタンドアロン・サンプルに対してSQLスクリプトを実行します。一部のスタンドアロン・アプリケーションは、変更されたバージョンのSummit ADFスキーマと連携します。スキーマの変更を必要とするスタンドアロン・アプリケーションの場合、JDeveloper内で実行する必要があるSQLスクリプトがアプリケーション・プロジェクトに含まれています。スタンドアロン・アプリケーションを一通り実行したら、スクリプトを使用してスキーマの変更を元に戻すことができます。

  4. 「アプリケーション」ウィンドウで、プロジェクト・ノードを開きApplication Sourcesノードの下でパッケージ内のアプリケーション・モジュールを見つけます。

    たとえば、図2-19 は、controlpostorderプロジェクトを開いてアプリケーション・モジュールAppModuleを選択し、ノードのツールチップが表示された例を示しています。

    図2-19 「アプリケーション」ウィンドウで選択されたアプリケーション・モジュール・ノード

    この図は周囲のテキストで説明しています
  5. アプリケーション・モジュール・ノードを右クリックし、「実行」を選択します。

    実行可能なアプリケーション・モジュールの名前は、「Summit ADFスタンドアロン・サンプル・アプリケーションの概要」の表を参照してください。

    実行可能ファイルの初回実行時に統合WebLogic Serverで新規ドメインを起動すると「デフォルト・ドメインの作成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。

  6. Oracle ADFモデル・テスターを使用して、スタンドアロン・アプリケーションのビュー・インスタンスを操作します。

    アプリケーションの詳細は、参照ドキュメントを参照してください。テスターを使用してデータ・モデルを操作する方法の詳細は、「Oracle ADFモデル・テスターを使用したビュー・オブジェクト・インスタンスのテスト」を参照してください。

2.4.2 Summit ADFスタンドアロン・サンプル・アプリケーションの概要

SummitADF_Examplesアプリケーション・ワークスペースの2つのスタンドアロン・アプリケーションは、テスト・クライアントを使用して、プログラム的にADFビジネス・コンポーネント・フレームワークに関連する概念を示します。その他のアプリケーションは、Oracle ADFモデル・テスターで実行されたときに、フレームワークの機能を示します。

図2-20 SummitADF_Examplesアプリケーション・ワークスペースを開いた後の「アプリケーション」ウィンドウを示しています。

図2-20 SummitADF_Examplesワークスペースのスタンドアロン・アプリケーション

この図は周囲のテキストで説明しています

スタンドアロン・アプリケーションのテスト・クライアントはADFビジネス・コンポーネントAPIのメソッドの実行方法を理解するために適した出発点となることに留意してください。また、データ・モデル・プロジェクトのビジネス・コンポーネント問合せをテストするために作成するテスト・クライアントの有益なサンプルにもなります。テスト・クライアントの操作の詳細は、「ビュー・オブジェクト・インスタンスのプログラムによるテスト」を参照してください。

注意:

ADFビジネス・コンポーネントAPIは、ビジネス・コンポーネントのデフォルトの実行時動作を拡張するカスタム・クラスを生成する必要がある場合に使用できます。ADFビジネス・コンポーネント・フレームワークの詳細は、「ADFビジネス・コンポーネントのスタート・ガイド」を参照してください。

表2-4 SummitADF_Examplesアプリケーション・ワークスペース内のスタンドアロン・アプリケーションを示します。これらのアプリケーションは、このガイドの「ビジネス・サービスの構築」に含まれる章全体にわたって登場します。


表2-4 SummitADF_Examplesアプリケーション・ワークスペース内のスタンドアロン・アプリケーション

パッケージ名 実行可能クラスまたはプロジェクト・ターゲット ドキュメント

amservice

Oracle ADFモデル・テスターを使用してServiceAppModuleを実行します。

アプリケーション・モジュール・サービス・インタフェースの詳細は、「サービス対応アプリケーション・モジュールの公開」を参照してください。

appmodule

serviceノードの下でTestAM.javaを実行します。

serviceノードの下でTestCustomEntity.javaを実行します。

これらのテスト・クライアントはアプリケーション・モジュールのクライアント・インタフェースのカスタム・メソッドを実行し、JDeveloperの「ログ」ウィンドウに出力して結果を示します。

テスト・クライアントの詳細は、「アプリケーション・モジュールのクライアント・インタフェースのプログラム的な操作方法」を参照してください。

クライアント・インタフェースのメソッドの詳細は、「エンティティ・オブジェクトおよびアソシエーションのプログラム的操作」を参照してください。

buslogic

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

ビジネス・ロジック・ユニットおよびグループの詳細は、「ビジネス・ロジック・グループの定義」を参照してください。

controlpostorder

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

関連するエンティティ・オブジェクト数の変更を保存するためにDML操作に起因するポスト順序を制御する方法の詳細は、「制約違反を防ぐためのエンティティ・ポスト順序を制御する方法」を参照してください。

custommessages

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

カスタム・メッセージ・バンドルでビルドイン・エラー・コードにかわりのメッセージ文字列を提供する方法の詳細は、「ビジネス・コンポーネントのエラー・メッセージのカスタマイズ」を参照してください。

declblock

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

ビュー・オブジェクトへの挿入、更新および削除を制御するカスタム・メタデータ・プロパティの使用方法の詳細は、「挿入、更新および削除の宣言による禁止」を参照してください。

domains

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

カスタム・データ型の作成方法の詳細は、「ドメインを使用したカスタム検証済データ型の作成」を参照してください。

extend

TestClient.javaを実行します。

このクライアントはproductByName.first()メソッドの結果をProductViewRowインタフェースにキャストすることで、メソッド・コールを実行してJDeveloperの「ログ」ウィンドウに出力し、結果を表示できるようにします。

ビジネス・コンポーネントを拡張してオリジナルのカスタマイズ・バージョンを作成する方法の詳細は、「継承を使用する拡張コンポーネントの作成」を参照してください。

ビュー行アクセッサ属性を使用してコレクションを反復処理する方法の詳細は、「クライアントへのビュー行アクセッサの公開」を参照してください。

inMemoryOperations

次のテスト・クライアントを実行します。

  • TestClientFilterEntityCache.java

  • TestClientFindByViewCriteria.java

  • TestClientRowMatch.java

  • TestClientSetSortBy.java

これらのテスト・クライアントは、oracle.jboパッケージ内のインタフェースでメソッドを使用して、クライアント側からメモリー内ソート処理およびフィルタ処理機能を使用し、JDeveloperの「ログ」ウィンドウに結果を出力する方法を示します。

データベースへの不必要なトリップを避けるために、ビュー・オブジェクトを使用してメモリー内で検索とソートを実行する方法の詳細は、「行セットのメモリー内でのソート処理とフィルタ処理の実行」を参照してください。

invokingstoredprocedure

例に必要な追加のデータベース・オブジェクトを設定するには、summit_adfデータベース接続に対してExampleSQLPackage.sqlスクリプトを実行します。

TestClient.javaを実行します。

テスト・クライアントは、アプリケーション・モジュールのクライアント・インタフェースのカスタム・メソッドを実行してデータベース・ストアド・プロシージャおよびファンクションを起動し、JDeveloperの「ログ」ウィンドウに出力して結果を示します。

データベースのストアド・プロシージャとストアド・ファンクションを起動するビジネス・コンポーネント用のカスタムJavaクラスのコーディング方法の詳細は、「ストアド・プロシージャとストアド・ファンクションの呼出し」を参照してください。

multieoupdate

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

新しい行の作成をサポートするために複数の更新可能エンティティを持つビュー・オブジェクトを作成する方法の詳細は、「複数の更新可能エンティティによるビュー・オブジェクトの作成」を参照してください。

multinamedviewcriteria

MultiNamedViewCriteriaTestClient.javaを実行します。

テスト・クライアントはビュー・オブジェクト・インタフェースのカスタム・メソッドを実行し、JDeveloperの「ログ」ウィンドウに出力して結果を表示します。

プログラムによる問合せ結果のフィルタ方法の詳細は、「複数の名前付きビュー基準のプログラム的処理」を参照してください。

polymorphic

Oracle ADF Model Testerを使用してPolymorphicAppModuleを実行すると(serviceノードの下で)、アメリカの顧客(CountryId=4)のサブタイプ・ビュー・インスタンスが表示されます。サブタイプ・ビューの慣用名には、サブタイプ属性Stateが表示されます。

このサンプルは、エンティティ・ベースの多相ビュー・オブジェクトを示します。

エンティティ・オブジェクト継承階層の作成の詳細は、「ビジネス・ドメイン・レイヤーでの継承の使用」を参照し、それらのエンティティ・オブジェクトのビューの慣用名の作成の詳細は、「多相エンティティ・オブジェクトの慣用名での作業」を参照してください。

polymorphicvo

Oracle ADF Model Testerを使用してAppModuleを実行すると(serviceノードの下で)、営業部門従業員(TitleId=2)のサブタイプ・ビュー行が表示されます。サブタイプ・ビュー行には、サブタイプ属性CommissionPctが表示されます。

このサンプルは、ビュー行ベースの多相ビュー・オブジェクトを示します。

ビュー行のサブタイプの作成の詳細は、「多相ビュー行関連の作業」を参照してください。

PolymorphicVO_WSClient

(これは、polymorphicvoパッケージのクライアント・プロジェクトです。)

最初に、モデル・プロジェクトのpolymorphicvoパッケージのAppModuleServiceImpl.javaを実行し、次に、Webサービス・クライアントAppModuleServiceSoapHttpPortClient (com.oracle.xmlns.apps.hr.service.typesノードの下)を実行します。クライアント・ファイルによって、新しいsalesmanサブタイプが作成され、JDeveloperのログに出力されます。

このサンプルは、SOAP Webサービス・クライアントでの多相コレクションの操作方法を示します。

サブタイプ・ビュー・オブジェクトの操作方法の詳細は、「コンシューミング・アプリケーションでの多相コレクションへのアクセス」を参照してください。

processChange

processChangeTestClient.javaを実行します。

テスト・クライアントはビュー・オブジェクト・インタフェースのカスタム・メソッドを実行し、JDeveloperの「ログ」ウィンドウに出力して結果を表示します。

データベースの変更通知の起動方法の詳細は、「プログラム的に起動されるデータベース変更通知に関する必知事項」を参照してください。

テスト・クライアントの詳細は、「アプリケーション・モジュールのクライアント・インタフェースのプログラム的な操作方法」を参照してください。

readandwritexml

clientノードの下のTestClientReadXML.javaを実行し、次にTestClientWriteXML.javaを実行します。

問い合わせたデータからXMLを作成する方法の詳細は、「XMLの読取りと書込み」を参照してください。

rest_WS

このパッケージは、将来の使用のために予約されています。

アプリケーション・モジュールのビュー・インスタンスからのRESTful Webサービスの作成の詳細は、「アプリケーション・モジュールによるRESTful Webサービスの作成」を参照してください。

rowfinder

EmpViewで定義された行検索EmpByTitleIdをプログラム的に実行するために、TestClient.javaを実行します。行検索は、テスト・クライアント内でプログラム的に起動することも、SOAP Webサービスで公開されたサービス・データ・オブジェクト(SDO)操作のメソッドから起動することもできます。

または、EmpServiceアプリケーション・モジュール・ノードのserviceinterfaceフォルダを展開して、EmpServiceServiceImpl.javaを実行し、HTTPアナライザで行検索をテストします。HTTPアナライザで、updateEmpView1操作を選択し、TrTitleId1と入力し、次に、役職IDが1である個人に基づいて更新するための任意の名前を入力します。

ビュー・オブジェクトのキー属性を要求することなく、任意の属性を使用したレコード参照をサポートするために、ビュー・オブジェクトに行検索を定義できます。

行検索の定義とプログラム的な起動の詳細は、「行検索の使用」を参照してください。

SOAP Webサービスにおける行検索操作の使用の詳細は、「行ファインダとADF Webサービス操作に関する必知事項」を参照してください。

sdo

このパッケージにより、HRAppModuleアプリケーション・モジュールのDeptView1およびEmpView1の各ビュー・インスタンスに基づく、SOAP Webサービスで使用するためのサービス・データ・オブジェクト(SDO)が実装されます。このパッケージはEmpView1 SDOの検索操作を公開します。公開された検索操作をテストするためにクライアント・プロジェクトを実行する手順は、SDO_ClientおよびSDO_WSClientを参照してください。

アプリケーション・モジュールからSDOを作成する方法の詳細は、「アプリケーション・モジュールによるSOAP Webサービスの作成」を参照してください。

SDO_Client

SDOClientServlet.java SOAP Webサービス・サーブレットを実行します。テスト・クライアントは、モデル・プロジェクトのサービス・パッケージのSOAP Webサービスのビュー基準検索操作として実装されたfindEmpView1()メソッドを実行します。サーブレットtestFindEmps()メソッドによって、動的なビュー基準が作成され、これがfindEmpView1()に渡されることで、従業員の指定された部門でのフィルタ処理と、テスト結果の検証が行われます。これは、SDO_WSClientプロジェクトのサーブレットのバージョンです。

操作の公開の詳細は、「必須バインド変数でフィルタするカスタム検索メソッドの公開方法」を参照してください。

SDO_WSClient

HRAppModuleServiceSoapHttpPortClient.java SOAP WebサービスHTTPポート・クライアントを実行します。テスト・クライアントは、モデル・プロジェクトのサービス・パッケージのSOAP Webサービスのビュー基準検索操作として実装されたfindEmpView1()メソッドを実行します。サーブレットtestFindEmps()メソッドによって、動的なビュー基準が作成され、これがfindEmpView1()に渡されることで、従業員の指定された部門でのフィルタ処理と、テスト結果の検証が行われます。これは、SDO_ClientプロジェクトのWebサービス・クライアント・バージョンです。

ADFサービス・データ・オブジェクトの操作の公開の詳細は、「必須バインド変数でフィルタするカスタム検索メソッドの公開方法」を参照してください。

TaskFlowProducer

ビュー・コントローラ・プロジェクトのWeb Contentフォルダで、RemoteViewer.jsfページを実行します。ページには、コンシューマ・アプリケーションが使用できるリモート起動可能タスク・フローが表示されます。

リモート・タスク・フローの作成の詳細は、「リモート・リージョンをレンダリングするようにアプリケーションを構成する方法」を参照してください。

このサンプル・アプリケーションをデプロイすると、「Fusion Webアプリケーションでのリモート・リージョンの作成」で説明しているように、リモート起動可能タスク・フローを使用できるようになります。

validation

Oracle ADFモデル・テスターを使用してAppModuleを実行します。OrdersView1をクリックし、Data Orderedフィールドを編集すると、プログラムによる検証メソッドを使用した属性レベルでの検証の例を確認できます。

プログラム的なバリデータを作成する方法の詳細は、「プログラムによる検証とビジネス・ルールの実装」を参照してください。

viewobjectonrefcursor

例に必要な追加のデータベース・オブジェクトを設定するには、summit_adfデータベース接続に対してCreateRefCursorPackage.sqlスクリプトを実行します。

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

PL/SQLを使用し、カーソルを開いて問合せの結果を反復処理する方法の詳細は、「REF CURSORでのビュー・オブジェクトの作成方法」を参照してください。

viewobjects

TestClient.javaを実行します。

ビジネス・コンポーネントAPI RowIteratorインタフェースのメソッドを使用して顧客ビュー・インスタンスをプログラム的に反復処理し、JDeveloperの「ログ」ウィンドウに出力します。

コレクションの反復処理の詳細は、「行セットにおける行数計算の方法」を参照してください。

テスト・クライアントの作成方法の詳細は、「ビュー・オブジェクト・インスタンスのプログラムによるテスト」を参照してください。

TestClient2.javaを実行します。

顧客ビュー・インスタンスをプログラム的に反復処理し、ビュー・リンク・アクセッサ属性を使用してディテール・コレクションにアクセスし、JDeveloperの「ログ」ウィンドウに出力します。

ディテール・コレクションの反復処理の詳細は、「ビュー・リンク・アクセッサを使用したディテール・コレクションのアクセス方法」を参照してください。

テスト・クライアントの詳細は、「ビュー・リンク・アクセッサを使用したディテール・コレクションのアクセス方法」を参照してください。

TestClient3.javaを実行します。

外部キーの値を検索および更新してJDeveloperの「ログ」ウィンドウに出力します。

詳細は、「行の検索および外部キー値の更新の方法」を参照してください。

TestClient4.javaを実行します。

ビュー・インスタンスを検索し、新しい行を作成して、それを行セットに挿入し、JDeveloperの「ログ」ウィンドウに出力します。

詳細は、「ビュー・オブジェクト・インスタンスの新しい行の作成方法」を参照してください。

TestClient5.javaを実行します。

ビュー・インスタンスを検索し、行セットにアクセスして、行を反復処理してキーを表示し、JDeveloperの「ログ」ウィンドウに出力します。

詳細は、「行を識別する行キーの取得方法」を参照してください。

wrapplsql

Oracle ADFモデル・テスターを使用してAppModuleを実行します。

基礎となる表に対する挿入、更新および削除のアクセスをカプセル化するPL/SQL APIパッケージのメソッドを起動するために、エンティティ・オブジェクトに対するデフォルトのDML処理イベントをオーバーライドする方法の詳細は、「PL/SQLパッケージAPIに基づくエンティティ・オブジェクト」を参照してください。


2.5 SummitADF_TaskFlowsワークスペースでのサンプル・アプリケーションの実行

ADFタスク・フロー用のSummitサンプル・アプリケーションはFusion Webアプリケーションでセキュリティ、コンテキスト・イベントおよびタスク・フローを実装する方法を示します。

2.5.1 ADFタスク・フローのSummitサンプル・アプリケーションの実行方法

Summit ADFタスク・フロー・サンプル・アプリケーションを実行する最も簡単な方法は、ViewControllerプロジェクトを開き、このプロジェクト内からindex.jsfページを実行することです。

始める前に:

Summit ADFタスク・フロー・サンプル・アプリケーションが使用しているスキーマについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスキーマのインストール時の処理」を参照してください。

次のタスクを完了する必要があります。

ADFタスク・フローのSummitサンプル・アプリケーションを実行するには:

  1. JDeveloperでアプリケーションを開きます。

    1. メイン・メニューで「ファイル」「開く」を選択します。

    2. SummitADF_TaskflowsディレクトリのZIPファイルを開いた場所へ移動し、SummitADF_Taskflows.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。

      図2-21 SummitADF_Taskflows.jwsアプリケーション・ワークスペース・ファイルを開き多数のノードを開いた後の「アプリケーション」ウィンドウを示しています。ワークスペースの各タスク・フローの詳細は、「ADFタスク・フローのSummitサンプル・アプリケーションの概要」を参照してください。

      図2-21 Summit ADFタスク・フロー・アプリケーション・ワークスペース内のプロジェクト

      この図は周囲のテキストで説明しています
  2. Summit ADFタスク・フロー・サンプル・アプリケーションのデータベース接続を作成します。詳細は、「Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法」を参照してください。

  3. 「アプリケーション」ウィンドウで「ViewController」および「Webコンテンツ」ノードを開き、「index.jsf」を右クリックして「実行」を選択します。

    アプリケーションの初回実行時に統合WebLogic Serverで新規ドメインを起動すると「デフォルト・ドメインの作成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。

  4. ブラウザでindex.jsfページをレンダリングすると、表2-5 にリストされたユーザー・アカウントのいずれかを使用してログインし、アプリケーション内で従業員または顧客向けに構成されている機能を表示できます。


    表2-5 Summit ADFタスク・フロー・サンプル・アプリケーションで提供されているユーザー

    ユーザー名 パスワード アプリケーション・ロール 注意

    cmagee

    welcome1

    アプリケーションの従業員ロール

    これはSummit ADFタスク・フロー・サンプル・アプリケーションで従業員として事前登録されている唯一のユーザーです。

    214

    welcome1

    アプリケーションの顧客ロール

    これはSummit ADFタスク・フロー・サンプル・アプリケーションで顧客として事前登録されている唯一のユーザーです。顧客のユーザーID「Ojibway Retail」はユーザー名として使用されます。


2.5.2 ADFタスク・フローのSummitサンプル・アプリケーションの概要

SummitADF_Taskflowsワークスペース内のアプリケーションはFusion Webアプリケーションでセキュリティ、コンテキスト・イベントおよびタスク・フローを実装する方法を示します。

次のリストは、SummitADF_Taskflowsワークスペース内のタスク・フローのファイル名を示しています。これらのタスク・フローを表示するには、「アプリケーション」ウィンドウでViewControllerの下にある「ページ・フロー」ノードを開きます。

|   adfc-config.xml
|
\---flows
    |   customers-task-flow-definition.xml
    |   edit-customer-task-flow-definition.xml
    |   emp-reg-task-flow-definition.xml
    |   product-inventory-task-flow-definition.xml
    |   show-products-task-flow-definition.xml
    |
    \---orders
            create-edit-orders-task-flow-definition.xml
            orders-select-many-items.xml

表2-6 には、これらのタスク・フローの概要とこれらのタスク・フローを使用してセキュリティ、コンテキスト・イベント、データ・レンダリングおよびデータ入力に関する概念を示しているこのガイド内の項への参照が記載されています。

これらのタスク・フローの他に、SummitADF_TaskflowsワークスペースにはJDeveloperがアプリケーションのポリシー・ストアとアイデンティティ・ストアのすべての変更を保存するjazn-data.xmlファイルも含まれています。このファイルとその使用方法の詳細は、「ADFセキュリティ・プロセスの概要」を参照してください。


表2-6 Summit ADFタスク・フロー・サンプル・アプリケーション内のタスク・フロー

タスク・フロー名 ドキュメント

adfc-config.xml

すべてのFusion Webアプリケーションにこのファイルが含まれています。Fusion Webアプリケーションを作成するとデフォルトでJDeveloperによって作成されるバインドなしタスク・フローのソース・ファイルです。

Summit ADFタスク・フロー・サンプル・アプリケーションでは、このタスク・フローにはランタイムにエンド・ユーザーに表示されるindex.jsfページをレンダリングするインデックス・ビュー・アクティビティが含まれます。

また、このタスク・フローは認証が必要なリソースへのアクセスを希望するユーザーの認証を処理する管理対象Bean (oracle.summit.bean.LoginBean)の登録も行います。詳細は、「明示的な認証用にログイン・リンク・コンポーネントを作成してパブリックWebページに追加する方法」を参照してください。

customers-task-flow-definition.xml

このタスク・フローには認証済の顧客をその顧客がCustomer.jsffページ・フラグメント内で選択した行へナビゲートするためのルーター、ビューおよびメソッド・コール・アクティビティが含まれます。詳細は、「タスク・フロー・アクティビティの使用」を参照してください。

ADFセキュリティは、認証済の顧客のみがこのタスク・フローで構成された機能または公開されたWebページにアクセスできるようにセキュリティを確保します。詳細は、「ADFセキュリティについて」を参照してください。

edit-customer-task-flow-definition.xml

このタスク・フローは認証済ユーザーによるデータの編集を制御するADFリージョン内の多数のページ・フラグメントをレンダリングします。詳細は、「タスク・フローおよびADFリージョンのユースケースと例」を参照してください。

emp-reg-task-flow-definition.xml

Summit ADFタスク・フロー・サンプル・アプリケーションは、エンド・ユーザーがランタイムにindex.jsfページに表示された「Register as Employee」リンクをクリックしたときにADF動的リージョン内でこのタスク・フローをレンダリングします。詳細は、「ADF動的リージョンの作成」を参照してください。

他のタスク・フロー(たとえば、customers-task-flow-definition.xml)と異なり、このタスク・フローにアクセスするためにユーザーを認証する必要はありません。このため、「セキュリティ・ポリシーの定義時の処理」に説明されているとおり、このタスク・フローのセキュリティ・ポリシーでは組込みのanonymous-roleアプリケーション・ロールにview権限を付与します。

product-inventory-task-flow-definition.xml

このタスク・フローは「Inventory Control」タブに表示されるshowInventory.jsffページ・フラグメントをレンダリングします。このタブは従業員としてログインすると有効になります。アプリケーションは、エンド・ユーザーによる別のADFリージョンでのデータ選択に応答して、showInventory.jsffページ・フラグメントにどのデータを表示するかをコンテキスト・イベントを使用して決定します。

タスク・フローによるコンテキスト・イベントの使用方法の詳細は、「コンテキスト・イベントの使用方法」を参照してください。

show-products-task-flow-definition.xml

このタスク・フローは製品に関するデータを含むADF Faces tableコンポーネントをレンダリングするshowProducts.jsffページ・フラグメントをレンダリングします。ランタイムにエンド・ユーザーの製品選択によってproduct-inventory-task-flow-definition.xmlタスク・フローが使用するコンテキスト・イベントがブロードキャストされ、それによって製品の在庫を表示できるようにします。

タスク・フローによるコンテキスト・イベントの使用方法の詳細は、「コンテキスト・イベントの使用方法」を参照してください。

create-edit-orders-task-flow-definition.xml

このタスク・フローはエンド・ユーザーが注文に新しい製品を追加できるOrders.jsffページ・フラグメントをレンダリングします。また、「タスク・フロー・コール・アクティビティを使用したバインド・タスク・フローのコール方法」で説明されているとおり、別のタスク・フロー(orders-select-many-items)もコールします。

orders-select-many-items.xml

「モーダル・ダイアログ内でのバインド・タスク・フローの実行」で説明されているとおり、このタスク・フローはモーダル・ダイアログをレンダリングします。


2.6 SummitADF_DVTワークスペースでのスタンドアロン・サンプルの実行

ADF DVTコンポーネント用のSummitサンプル・アプリケーションにはADFビジネス・コンポーネントとデータ・バインディングを使用したADF DVTコンポーネントの作成と構成を示す一連のスタンドアロン・サンプル・ページが含まれています。

これらのスタンドアロン・ページへの参照は次の章の全体を通じて示されています。

2.6.1 Summit ADF DVTスタンドアロン・サンプルの概要

Summit ADF DVTサンプル・アプリケーションの各スタンドアロン・ページはSummit ADFスキーマを使用してデータバインドされたOracle ADFデータ視覚化コンポーネントの作成と構成を示します。

図2-22 SummitADF_DVTアプリケーション・ワークスペースを開いた後の「アプリケーション」ウィンドウを示しています。

図2-22 Summit ADF DVTアプリケーション・ワークスペース内の実行可能ページ

この図は周囲のテキストで説明しています

表2-7 SummitADF_DVTアプリケーション・ワークスペース内のスタンドアロン・ページを示します。各ページはそれ自身で実行可能です。


表2-7 Summit ADF DVTアプリケーション・ワークスペース内のスタンドアロン・ページ

ページ名 ページの説明 ドキュメント

bubbleChartDemo.jsf

データ・コントロールからのDVTバブル・チャートの作成を示します。

データバインドされたバブル・チャートと散布図の作成方法

comboChartDemo,jsf

データ・コントロールからのDVT複合チャートの作成を示します。

データ・コントロールを使用して面チャート、棒グラフ、複合チャート、横棒グラフまたは折れ線グラフを作成する方法

gaugeDemo.jsf

データ・コントロールからのDVTダイアル・ゲージの作成を示します。

データバインドされたゲージの作成

gaugeInTableDemo.jsf

列のいずれかにステータス・メーター・ゲージがスタンプされたデータバインドされたADF表の作成を示します。

データバインドされたADF表へのゲージの組込み

hvDemo.jsf

Summit従業員の組織図をレンダリングするデータバインドされた階層ビューアの作成を示す。

ADFデータ・コントロールを使用して階層ビューアを作成する方法

hvPanelCardVODemo.jsf

パネル・カードのいずれかの代替ビュー・オブジェクトを使用したデータバインドされた階層ビューアの作成を示す。

データバインドされたパネル・カード用に代替ビュー・オブジェクトを構成する方法

hvSearchDemo.jsf

階層ビューアの検索構成を示します。

階層ビューアでのデータバインドされた検索の作成方法

pivotTableBarDemo.jsf

データ・コントロールを使用したピボット・テーブルおよびピボット・フィルタ・バーの作成を示します。

ADFデータ・コントロールを使用したピボット・テーブルの作成方法

projectGanttDemo.jsf

データ・コントロールを使用したプロジェクト・ガント・チャートの作成を示します。

データバインドされたプロジェクト・ガント・チャートの作成方法

RUGGanttDemo.jsf

データ・コントロールを使用したリソース使用率ガント・チャートの作成を示します。

データバインドされたリソース使用率ガント・チャートの作成方法

scatterChartDemo.jsf

データ・コントロールからのDVT散布図の作成を示します。

データバインドされたバブル・チャートと散布図の作成方法

schedGanttDemo.jsf

データ・コントロールを使用したスケジュール・ガント・チャートの作成を示します。

データバインドされたスケジュール・ガント・チャートの作成方法

sunburstDemo.jsf

データ・コントロールを使用したサンバーストの作成を示します。

ADFデータ・コントロールを使用したツリーマップおよびサンバーストの作成方法

thematicMapDemo.jsf

データ・コントロールを使用したテーマ・マップの作成を示します。

ADFデータ・コントロールを使用してテーマ・マップを作成する方法

timelineDemo.jsf

データ・コントロールを使用した時系列コンポーネントの作成を示します。

ADFデータ・コントロールを使用した時系列の作成方法

treemapDemo.jsf

データ・コントロールを使用したツリーマップの作成を示します。

ADFデータ・コントロールを使用したツリーマップおよびサンバーストの作成方法


2.6.2 Summit ADF DVTサンプル・アプリケーション・ページの実行方法

Summit ADF DVTサンプル・アプリケーションJSFページを実行するには、アプリケーションを開き、View Controllerプロジェクトを開いてsample.jsfファイルのいずれかを実行します。

始める前に:

Summit ADF DVTサンプル・アプリケーションが使用しているスキーマについて理解しておくと役立つ場合があります。詳細は、「Summit ADFスキーマのインストール時の処理」を参照してください。

次のタスクを完了する必要があります。

Summit ADF DVTサンプル・アプリケーション・ページを実行するには:

  1. JDeveloperでアプリケーションを開きます。

    1. メイン・メニューで「ファイル」「開く」を選択します。

    2. SummitADF_DVTディレクトリのZIPファイルを開いた場所へ移動し、SummitADF_DVT.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。

  2. Summit ADF DVTサンプル・アプリケーションのデータベース接続を作成します。詳細は、「Oracle ADF用Summitサンプル・アプリケーションのデータベース接続の作成方法」を参照してください。

  3. 「アプリケーション」ウィンドウで、 ViewControllerおよびWeb Contentノードを開きます。

    図2-22 はSummit ADF DVTサンプル・アプリケーションのSummitADF_DVT.jwsアプリケーション・ワークスペースを開き、View ControllerおよびWeb Contentノードを開いた後の「アプリケーション」ウィンドウを示しています。アプリケーションの各ページの詳細は、表2-7を参照してください。

  4. ページを実行するには、対象の.jsfページを右クリックし、「実行」を選択します。

    アプリケーションの初回実行時に統合WebLogic Serverで新規ドメインを起動すると「デフォルト・ドメインの作成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。