ヘッダーをスキップ
Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド
11gリリース1 (11.1.1.7.0)
B52028-05
  目次へ移動
目次

前
 
次
 

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

この章では、Fusion Webアプリケーション・テクノロジ・スタックを使用して、Webショッピング・ストアフロントに必要なトランザクションベースのWebアプリケーションを作成する例を示すために、サンプルとして構築されたFusion Order Demo (FOD)アプリケーションのStoreFrontモジュールを実行する方法について説明します。Fusion Order Demoアプリケーションを実装するスキーマと機能に関する説明も記載されています。このデモ・アプリケーションは、要点やコード・サンプルを説明する例として、このガイド全体を通して使用されます。

各コンポーネントとそれらのソース・コードについて深く考察する前に、Fusion Order Demoアプリケーションをインストールしてその機能に慣れておくことをお薦めします。

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

2.1 Oracle Fusion Order Demoの概要

このサンプル・アプリケーションでは、オンライン・ショッピング用のWebアプリケーションを通して電子デバイスが販売されています。顧客は、Webサイトにアクセスして登録し、製品の注文が可能です。顧客の登録と注文を実行するために、現時点では単一のアプリケーションのみが実装されています。将来のリリースでは、複数のアプリケーションが連携する予定です。実行時のアプリケーションの動作の詳細は、2.5項「Fusion Order Demoアプリケーションの考察」を参照してください。

デモの表示と実行には、Oracle JDeveloper 11gをインストールする必要があります。このデモには、アプリケーションをダウンロードする必要があります。これらのタスクを完了する手順は、この章で説明します。詳細は、2.2項「Fusion Order Demoアプリケーションの設定」を参照してください。

アプリケーションをインストールして実行すると、Oracle JDeveloperを使用してコードを表示できます。既存の顧客としてログインして注文を行うと、実行時にアプリケーションを表示できます。

2.2 Fusion Order Demoアプリケーションの設定

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

環境を準備してFusion Order Demoアプリケーションを実行するには、次を実行する必要があります。

  1. Oracle JDeveloper 11gをインストールし、インストールの前提条件を満たします。Fusion Order Demoアプリケーションには、既存のOracleデータベースが必要です。詳細は、2.2.1項「アプリケーション・リソースのダウンロード方法」を参照してください。

  2. Oracle Technology NetworkからFusion Order Demoアプリケーションをインストールします。詳細は、2.2.2項「Fusion Order Demoスキーマのインストール方法」を参照してください。

  3. Mozilla FireFoxバージョン2.0以上またはInternet Explorerバージョン7.0以上をインストールします。

  4. 画面解像度1024×768以上をサポートするモニターでアプリケーションを実行します。詳細は、2.3項「Fusion Order DemoアプリケーションStoreFrontモジュールの実行」を参照してください。

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

Fusion Order Demoアプリケーションには、既存のOracleデータベースが必要です。Oracle JDeveloper 11gを使用して、Fusion Order Demoアプリケーションを実行します。

Fusion Order Demoアプリケーションをインストールする前に、次の手順に従います。

  • Oracle JDeveloperをインストールします。アプリケーションのプロジェクトを表示して、JDeveloper統合サーバーでアプリケーションを実行するには、Oracle JDeveloper 11g Studio Editionが必要です。Oracle JDeveloperは、次の場所からダウンロードできます:

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

    注意:

    11gをダウンロードしてインストールし、その製品がJava EditionではなくStudio Editionであることを確認してください。これらの詳細をOracle JDeveloperで確認するには、「ヘルプ」「バージョン情報」メニュー・オプションの順に選択します。


  • Fusion Order DemoアプリケーションZIPファイル(FusionOrderDemo_R1PSx.zip)をダウンロードします。このZIPファイルは次の場所からダウンロードできます:

    http://www.oracle.com/technetwork/developer-tools/jdev/learnmore/fod1111-407812.html
    
  • Oracleデータベースをインストールします。Fusion Order Demoアプリケーションには、そのデータ用のデータベースが必要です。

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

    http://www.oracle.com/technetwork/index.html
    

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

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

2.2.2 Fusion Order Demoスキーマのインストール方法

Fusion Order Demoアプリケーションは、Oracle Technology Network (OTN)のWebサイトからダウンロードできます。

FODスキーマをデータベースにダウンロードしてインストールするには:

  1. http://www.oracle.com/technetwork/developer-tools/jdev/learnmore/fod1111-407812.htmlに移動し、ZIPファイルをローカル・ディレクトリにダウンロードします。

  2. Oracle JDeveloper 11gを起動し、メイン・メニューから「ファイル」「開く」を選択します。

  3. 「開く」ダイアログで、手順1でZIPファイルを抽出した場所を参照し、infrastructureディレクトリからInfrastructure.jwsを選択します。「開く」をクリックします。

  4. アプリケーション・ナビゲータで、MasterBuildScript「リソース」を展開し、build.propertiesをダブルクリックします。

  5. 表2-1に示すように、各自の環境に合せてエディタでプロパティを変更します。

    表2-1 Fusion Order Demoアプリケーションのインストールに必要なプロパティ

    プロパティ 説明

    jdeveloper.home

    Oracle JDeveloper 11gをインストールしたルート・ディレクトリ。例:

    C:/JDeveloper/11/jdeveloper

    jdbc.urlBase

    データベースのベースJDBC URL(書式はjdbc:oracle:thin:@<yourhostname>)。例:

    jdbc:oracle:thin:@localhost

    jdbc.port

    データベースのポート。例:

    1521

    jdbc.sid

    データベースのSID。例:

    ORCLまたはXE

    db.adminUser

    データベースの管理ユーザー。例:

    system

    db.demoUser.tablespace

    FODユーザーがインストールされる表領域名。例:

    USERS


  6. JDeveloperのメイン・メニューから、「ファイル」→「すべて保存」の順に選択します。

  7. 「アプリケーション・ナビゲータ」で、「リソース」ノードの「build.xml」を右クリックし、「Antターゲットの実行」→「buildAll」の順に選択します。

  8. 「プロパティの入力」ダイアログに、データベース・システム・ユーザーのパスワードを入力し、「続行」をクリックします。

    パスワードを入力すると、Antビルド・スクリプトによってFODユーザーが作成され、FODスキーマの表に移入されます。「Apache Ant - ログ」ウィンドウに、一連のSQLスクリプトが表示され、最終的に次のようになります。

    buildAll:

    BUILD SUCCESSFUL
    Total time: nn minutes nn seconds

    デモ・スキーマおよびスクリプトの詳細は、MasterBuildScriptプロジェクトのREADME.txtファイルを参照してください。

2.2.3 Fusion Order Demoスキーマの概要

図2-1は、Fusion Order Demoアプリケーションのスキーマの概要を示しています。ダイアグラム内の青色の図形は、中核となる4つの表を表しています。それ以外の表とビューは黄色の図形で示されていますが、その一部はダイアグラムの簡略化のために複数の表を表しています。一部の表は順序を使用しますが、ここでは中核の表によって使用されるもののみを示しています。

図2-1 Fusion Order Demoアプリケーション・スキーマのダイアグラム

FODアプリケーション・スキーマのダイアグラム

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

  • PERSONS: この表には、システムと対話するすべてのユーザー(顧客、スタッフ、サプライヤ)が格納されます。各ユーザーの姓と名、電子メール・アドレス、住所、各ユーザーのタイプ・コードが格納されます。各ユーザーは、IDによって一意に識別されます。他のIDにより、住所情報を含む(顧客の場合はメンバーシップ情報を含む)表に外部キーを提供します。

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

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

  • PRODUCTS_BASE: この表には、店舗で入手可能なすべての商品が格納されます。製品ごとに、名前とコストが記録されます。すべての製品は、順序の割り当てられたIDによって一意に識別されます。製品の画像とその説明は別々の表に格納され、それぞれが製品IDを参照します。ATTRIBUTEx列は、将来の使用のために予約されており、(通常Oracle E-Business Suiteスキーマに必要とされる)宣言的フィールドを持ちます。

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

  • PERSON_SEQ: 各新規ユーザーのIDを移入します。

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

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

  • PRODUCTS_SEQ: 各製品のIDを移入します。

PL/SQLパッケージUSER_CONTEXT_PKGには、プロシージャset_app_user_lang()が含まれており、これはアプリケーション・モジュールの内部から、ユーザーごとのデータベースの状態を設定するための簡単な例を示すために使用されます。

SHIPPING_OPTIONSビューは将来の使用のために予約されており、Fusion Order Demoでは現在使用されていません。

Fusion Order Demoの変更履歴の追跡をサポートするため、図2-2に示すように、各表には履歴に関する列CREATED_BYCREATION_DATELAST_UPDATED_BYLAST_UPDATED_DATEおよびOBJECT_VERSION_IDが含まれています。

図2-2 FODスキーマ内の表の履歴に関する列

FODスキーマ内の表の履歴に関連する列

2.2.3.1 Fusion Order Demoスキーマの翻訳のサポート

Fusion Order Demoのローカライズをサポートするために、AVAILABLE_LANGUAGES表には利用可能なすべての言語が一覧表示されます。この表では、現在のユーザーの言語に対応する1つの列のみ、DEFAULT_FLAGYに設定されます。

翻訳は、ベース表PRODUCTS_BASE (PRODUCT_TRANSLATIONS)PRODUCT_CATEGORIES_BASE (CATEGORY_TRANSLATIONS)SHIPPING_OPTIONS_BASE (SHIPPING_OPTION_TRANSLATIONS)MEMBERSHIPS_BASE (MEMBERSHIP_TRANSLATIONS)およびDISCOUNTS_BASE (DISCOUNT_TRANSLATIONS)に存在します。

図2-3に示したShipping Optionsグループを例に取ると、各製品が言語ごとに1つの列を持つように、SHIPPING_OPTION_TRANSLATIONSにはデータが完全に移入されます。列LANGUAGEには、翻訳言語IDが保持されます。エントリ自体が翻訳されていない場合には、列SOURCE_LANGUAGEに現在のエントリの言語が保持されます。値が翻訳されると、SOURCE_LANGUAGELANGUAGEに同じ値が保持されます。PL/SQLパッケージUSER_CONTEXT_PKGでは、カスタムUSERENV('CLIENT_INFO')変数を作成し、SHIPPING_OPTION_TRANSLATIONSからSHIPPING_OPTIONS_BASE表のデータとSHIPPING_OPTIONSビューに正しい翻訳を取り込むために使用する実行時ロケールを指定します。各注文には、1セットのShipping Optionsが関連付けられます。

図2-3 Fusion Order DemoスキーマのShipping Options Grouping

FODアプリケーションのグループのダイアグラム

2.2.3.2 Fusion Order Demoスキーマの参照表

コード参照表であるLOOKUP_CODES表には、Fusion Order Demoアプリケーション全体で使用されるコードが含まれています。たとえば、PERSONS表には、列person_type_codemarital_status_codeおよびgenderが含まれています。これらのコードは、LOOKUP_CODES表に対応する行を持ち、lookup_type列が識別されます。外部キーは、これらの行に対しては定義されていませんが、特定の参照タイプのLOOKUP_CODES値をユーザー・インタフェース・コンポーネントに移入することにより、ユーザー・インタフェースで提供されます。たとえば、ユーザー・インタフェースに新しい登録(ユーザー)を作成する場合、person_type_codeに対して使用できる値は、lookup_type=person_type_codeであるlookup_codeの値からドロップダウン・リストに移入されます。

LOOKUP_CODES表は、ユーザー・インタフェースのローカライズもサポートしています。この表では、コードおよび言語を組み合せたキー(実行時ロケールまたはプリファレンスから取得)を使用してコードの意味が決定されます。各コードは、2.2.3.1項「Fusion Order Demoスキーマの翻訳のサポート」で説明されているように、サポートされている言語ごとにエントリを持ちます。

図2-4に示した住所を例として使用すると、PERSONSは、交差表ADDRESS_USAGESを使用して複数の住所情報に対応します。また、ADDRESS_USAGESLOOKUP_CODESを使用してOWNER_TYPE_CODEおよびUSAGE_TYPE_CODEの両方の情報を格納し、MEANINGを返します(図2-5の表抽出を参照)。ADDRESSESは、COUNTRY_CODESに直接アクセスし、ADDRESSESに格納されているCOUNTRY_IDに関連するCOUNTRY_NAMEを参照して使用します。PERSONS表もADDRESSESを直接参照し、PRIMARY_ADDRESS_IDを直接格納します。

図2-4 Fusion Order DemoスキーマのLOOKUP_CODESの使用

FODスキーマの参照表

適切な翻訳は、実行時ロケール/プリファレンスとともに、LOOKUP_CODESおよびCOUNTRY_CODES両方のLANGUAGE列を使用することによって適用されます。

図2-5 Fusion Order DemoスキーマのLOOKUP_CODESサンプル・データ

FODスキーマのLookupコード・データ

参照表DEMO_OPTIONSでは、オンにされているFusion Order Demoアプリケーション内の様々なオプションが定義されます。また、電子メール・アドレスや電話番号などの一般的な構成情報がキャッシュされ、このデモ・シナリオで(たとえば電子メール・アドレスが架空のものの場合などに)オーバーライドとして使用されます。この表は将来使用するために予約されています。

2.3 Fusion Order DemoアプリケーションStoreFrontモジュールの設定

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

StoreFrontUIプロジェクトでhome.jspxページを実行し、JDeveloperでFusion Order DemoのStoreFrontモジュールを実行します。StoreFrontUIプロジェクトでは、ビュー・テクノロジとしてJavaServer Faces (JSF)を使用し、StoreFrontServiceプロジェクトのADFビジネス・コンポーネントと対話するためにADFモデル・レイヤーを使用します。Fusion Order Demoアプリケーションおよびその実装の詳細は、2.5項「Fusion Order Demoアプリケーションの考察」を参照してください。

StoreFrontモジュールを使用して発注した注文を処理するために、Fusion Order Demoアプリケーションの2つ目のモジュールを使用できます。たとえば、WebLogic Fusion Order Demoモジュールでは、様々な内部アプリケーションと外部アプリケーション(顧客サービス・アプリケーション、与信検証システム、および内部ベンダーと外部ベンダーの両方)が使用されます。これらの複合サービスは、他の開発者ガイドの対象となる内容であるため、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』では説明されません。Oracle SOA Suiteの機能を示すために使用されるWebLogic Fusion Order Demoモジュールの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

JDeveloperでは、WebLogic Fusion Order Demoモジュールを実行できません。このアプリケーションのストアフロント部と複合サービス部を統合するには、Fusion Order DemoアプリケーションをSOA対応のOracle WebLogic Serverにデプロイする必要があります。SOA WebアプリケーションをOracle WebLogic Serverにデプロイする方法は、OTNのFusion Order Demoホームページ(http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html)を参照してください。

Fusion Order Demoアプリケーションは、JDeveloperでFusion Order DemoのStoreFrontモジュールのみを開き、StoreFrontUIプロジェクトでhome.jspxページを実行すると非常に簡単に実行できます。

Fusion Order DemoアプリケーションのStoreFrontモジュールを実行するには:

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

    1. JDeveloperのメイン・メニューから、「ファイル」→「開く」を選択します。

    2. ZIPファイルを抽出した場所に移動し、StoreFrontModuleディレクトリからStoreFrontModule.jwsアプリケーション・ワークスペースを選択します。「開く」をクリックします。

      図2-6に、アプリケーション・ワークスペースのファイルを開いた状態の「アプリケーション・ナビゲータ」を示します。ワークスペースの各プロジェクトの詳細は、2.5項「Fusion Order Demoアプリケーションの考察」を参照してください。

      図2-6 Oracle JDeveloperのFusion Order Demoプロジェクト

      FODデモ・アプリケーション・プロジェクトのフォルダ
  2. アプリケーション・ナビゲータで、「アプリケーション・リソース」アコーディオン・タイトルをクリックし、パネルを展開します。

  3. 「アプリケーション・リソース」パネルで、「接続」「データベース」ノードを展開します。

  4. FOD接続を右クリックし、「プロパティ」を選択します。

  5. 「データベース接続の編集」ダイアログで、表2-2のように各自の環境に合せて接続情報を変更します。

    表2-2 Fusion Order Demoアプリケーションの実行に必要な接続プロパティ

    プロパティ 説明

    ホスト名

    データベースのホスト名。例:

    localhost

    JDBCポート

    データベースのポート。例:

    1521

    SID

    データベースのSID。例:

    ORCLまたはXE


    ユーザー名とパスワード(fod/fusion)は変更しないでください。これらはそのままにしておきます。「OK」をクリックします。

  6. アプリケーション・ナビゲータで、StoreFrontServiceを右クリックして「再ビルド」を選択します。

  7. 「アプリケーション・ナビゲータ」で、「StoreFrontUI」を右クリックして「実行」を選択します。

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

    StoreFrontUIプロジェクト内のhome.jspxページがデフォルトの実行ターゲットになります。デフォルトのターゲットを実行すると、JDeveloperによってブラウザが起動され、Fusion Order Demoアプリケーションのホームページが表示されます。

ホーム・ページが表示されたら、匿名ユーザーとしてWebサイトを参照したり、ログインして発注したりできます(まず顧客としの登録が必要になる場合があります)。Fusion Order Demoアプリケーションには、Oracle Application Development Framework (Oracle ADF)リソースへのアクセスを管理するためのOracle ADFセキュリティが実装されているため、認証されたユーザーのみがカート内の注文を表示できます。表2-3に、Fusion Order Demoアプリケーションにログインできるfod-usersロールを持つメンバーとして承認されているユーザーを示します。


注意:

Fusion Order Demoアプリケーションには、事前定義済のユーザー・データが付属しています。このアプリケーションのスキーマでは、顧客、サプライヤ、スタッフを含む様々なタイプのユーザーが定義されています。すべてのユーザーは、fod-usersロールを持つメンバーであり、ログインする権限を持ちます。ただし、ユーザー・タイプがCUST(顧客)なのはngreenbeのみです。他のユーザーとしてログインする場合は、発注する前に顧客として登録する必要があります。これらの他のユーザーは、Fusion Order Demoアプリケーションの他のモジュールのロールをサポートするために作成されました。


表2-3 Fusion Order Demoアプリケーションの事前登録済ユーザー

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

ngreenbe

welcome1

fod-users

カートへの品目の追加、チェックアウト、注文情報の表示を行えます。Fusion Order DemoのStoreFrontモジュールで顧客として事前登録されている唯一のユーザーです。

sking

welcome1

fod-users、fod-admin

カートに品目を追加できますが、チェックアウトと注文情報の表示を行うには、顧客として登録する必要があります。このユーザーは、Fusion Order DemoのMasterPriceListモジュールで、管理権限(fod-admin)も持ちます。

ahunold

welcome1

fod-users、fod-manager

カートに品目を追加できますが、チェックアウトと注文情報の表示を行うには、顧客として登録する必要があります。このユーザーは、Fusion Order DemoのMasterPriceListモジュールで、読取り専用権限(fod-manager)も持ちます。

pbrown / fdaviet

welcome1

fod-users

カートに品目を追加できますが、チェックアウトと注文情報の表示を行うには、顧客として登録する必要があります。これらのユーザーは、Fusion Order Demoの将来のバージョンの他のロールをサポートするために追加されている場合があります。


2.4 Fusion Order Demoスタンドアロン・アプリケーションの実行

Fusion Order Demoアプリケーションには、StoreFrontモジュールで確認できないOracle ADF機能を検証できるように、一連のサンプル・アプリケーションが含まれています。これらのサンプル・アプリケーションの総称をスタンドアロン・アプリケーションと言います。スタンドアロンのサンプル・アプリケーションは、それぞれ複数のプロジェクトで構成される5つのアプリケーション・ワークスペースに表示され、デモZIPファイルを抽出したStandaloneExamplesディレクトリに格納されています。

ほぼすべてのスタンドアロン・アプリケーションは、ADFビジネス・コンポーネントとデータ・モデル・プロジェクトの概念を示します。これらのスタンドアロン・アプリケーションへの参照は、この開発者ガイドの第II部「ビジネス・サービスの構築」および第VI部「高度なトピック」に含まれる章全体にわたって登場します。このガイドを読み進めるうちに、概念をさらに詳しく検証するために、対応するスタンドアロン・アプリケーションを実行する必要が生じる場合があります。各アプリケーション・ワークスペースの概要とドキュメンテーションのリンクは、2.4.2項から2.4.5項に記載されている表を参照してください。

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

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

次に示すスタンドアロン・アプリケーション実行方法の一般的な手順を覚えるようにしてください。最初の手順では、提供されるテスト・クライアントからアプリケーションを実行する方法を説明します。次に、データ・モデル・プロジェクトのADFアプリケーション・モジュールでビジネス・コンポーネント・ブラウザを起動する方法を説明します。その後、2.4.2項から2.4.5項で説明されている各スタンドアロン・アプリケーションの詳細を確認してください。

作業を始める前に、次のようにします。

  • データベース・ナビゲータで、2.3項「Fusion Order DemoアプリケーションStoreFrontモジュールの実行」で説明されているように、ご使用の環境の接続情報に合せてFODデータベース接続の接続情報を変更します。

  • 一部のスタンドアロン・アプリケーションは、変更されたバージョンのFODスキーマと連携します。スキーマの変更を必要とするスタンドアロン・アプリケーションの場合、JDeveloper内で実行する必要があるSQLスクリプトがアプリケーション・プロジェクトに含まれています。

    スタンドアロン・アプリケーションの検証が終了したら、このスクリプトを使用してスキーマの変更を取り消すことができます。

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

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

    1. JDeveloperのメイン・メニューから、「ファイル」→「開く」を選択します。

    2. DemoのZIPファイルを抽出した場所に移動し、StandaloneExamplesディレクトリを開いたら、該当のスタンドアロン・アプリケーション・ディレクトリを開き、フォルダからアプリケーション・ワークスペース(.jws)を選択します。「開く」をクリックします。

  2. 「アプリケーション・ナビゲータ」でプロジェクト・フォルダを展開し、テスト・クライアント(.java)・ファイルを特定します。テスト・クライアントは、Application Sourcesフォルダにあるパッケージ内に追加されている場合があります。それ以外の場合は、Resourcesフォルダ内にあります。

    たとえば、図2-7は、ApplicationModulesプロジェクトを展開し、Javaファイル・ノードTestClientCustomInterface.javaを選択した例を示しています。

    図2-7 「アプリケーション・ナビゲータ」で選択されたテスト・クライアント

    「アプリケーション・ナビゲータ」で選択されたテスト・クライアント
  3. テスト・クライアントを右クリックし、「実行」を選択します。

    スタンドアロン・アプリケーションで提供されているテスト・クライアントの名前と場所の詳細は、2.4.2項から2.4.5項の表を参照してください。

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

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

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

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

でスタンドアロン・アプリケーションを実行するには:

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

    1. JDeveloperのメイン・メニューから、「ファイル」→「開く」を選択します。

    2. DemoのZIPファイルを抽出した場所に移動し、StandaloneExamplesディレクトリを開いたら、該当のスタンドアロン・アプリケーション・ディレクトリを開き、フォルダからアプリケーション・ワークスペース(.jws)を選択します。「開く」をクリックします。

  2. 「アプリケーション・ナビゲータ」でプロジェクト・フォルダを展開し、Application Sourcesフォルダのパッケージ内のアプリケーション・モジュールを特定します。

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

    図2-8 「アプリケーション・ナビゲータ」で選択されたアプリケーション・モジュール・ノード

    「アプリケーション・ナビゲータ」で選択されたAM
  3. アプリケーション・モジュール・ノードを右クリックし、「実行」を選択します。

    実行可能なアプリケーション・モジュール名は、2.4.2項から2.4.5項の表を参照してください。

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

  4. ビジネス・コンポーネント・ブラウザを使用して、スタンドアロン・アプリケーションのビュー・インスタンスを操作します。

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

2.4.2 DevGuideExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーション

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

図2-9に、DevGuideExamplesアプリケーション・ワークスペースを開いた状態の「アプリケーション・ナビゲータ」を示します。

図2-9 DevGuideExamplesアプリケーション・ワークスペースの実行可能アプリケーション

DevGuideExamplesプロジェクト・フォルダ

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


注意:

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


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

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

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

ApplicationModule

Application Sourcesフォルダの devguide.examples.clientパッケージ内のTestClientCustomInterface.javaを実行します。

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

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

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

ConditionalDelete

Application SourcesフォルダのAppModuleでビジネス・コンポーネント・ブラウザを起動します。

条件によってエンティティ行の削除を防止する生成済エンティティ・クラスのメソッドをオーバーライドします。ビジネス・コンポーネント・ブラウザで、「現在の行の削除」をクリックし、例外文を確認します。次に「新規行の挿入」をクリックし、新しい行を挿入します。

エンティティ実装クラス・ファイルで作成するremove()メソッドのオーバーライドの詳細は、8.12項「エンティティ行削除の条件付き禁止」を参照してください。

QueryingDataWithView
Objects

ResourcesフォルダのTestClient.javaを実行します。

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

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

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

ResourcesフォルダのTestClient2.javaを実行します。

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

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

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

ResourcesフォルダのTestClient3.javaを実行します。

強く型付けされたPersonsRowインタフェースを使用してPersonListビュー・インスタンスをプログラム的に反復処理し、JDeveloperの「ログ」ウィンドウに出力します。

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

ResourcesフォルダのTestClientBindVars.javaを実行します。

バインド変数を使用してPersonListビュー・インスタンスにプログラム的にWHERE句を設定し、コレクションをフィルタし、JDeveloperの「ログ」ウィンドウに出力します。

バインド変数設定の詳細は、5.10.6項「実行時に既存バインド変数値を設定する方法」を参照してください。

テスト・クライアントの詳細は、5.10.5項「実行時に名前付きバインド変数を含むWHERE句を追加する方法」を参照してください。

ResourcesフォルダのTestClientViewCriteria.javaを実行します。

PersonListビュー・インスタンスにプログラム的にビュー基準を設定して、コレクションをフィルタし、JDeveloperの「ログ」ウィンドウに出力します。

ADFビジネス・コンポーネントのビュー基準APIの詳細は、5.11.9項「ビュー基準APIについて」を参照してください。

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


2.4.3 AdvancedExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーション

AdvancedExamplesアプリケーション・ワークスペースで作成されたスタンドアロン・アプリケーションは、ADFビジネス・コンポーネント・フレームワーク全体に適用される高度な概念を示します。

図2-10に、AdvancedExamplesアプリケーション・ワークスペースを開いた状態の「アプリケーション・ナビゲータ」を示します。

図2-10 AdvancedExamplesアプリケーション・ワークスペースの実行可能アプリケーション

AdvancedExamplesプロジェクト・フォルダ

表2-5に、AdvancedExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーションの説明を示します。このアプリケーション・ワークスペースの例は、第37章「ビジネス・コンポーネントの高度な手法」で説明されています。

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

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

BaseProject

Application SourcesフォルダのTestClient.javaを実行します。

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

CustomizedErrorMessages

Application SourcesフォルダのaddProductsTableConstraint.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

Application SourcesフォルダのProductModuleでビジネス・コンポーネント・ブラウザを起動します。

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

ExtendAndSubstitute

実行できません。

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

ビジネス・コンポーネントを置き換える方法の詳細は、37.9項「提供されるアプリケーションでの拡張コンポーネントの置換え」を参照してください。

FrameworkExtensions

実行できません。

独自に生成したADFビジネス・コンポーネント・クラスの変更に使用できるテンプレート・クラス・ファイルを提供します。

フレームワーク拡張の詳細は、37.1項「ADFビジネス・コンポーネント・フレームワークの拡張」を参照してください。

ProgrammaticallySet
Properties

Application SourcesフォルダのTestClient.javaを実行します。

ビジネス・コンポーネントに関するカスタム宣言情報をフレームワーク拡張クラスの汎用コードに伝える方法の詳細は、37.2項「拡張クラスによるフレームワークの動作のカスタマイズ」を参照してください。

StoredProcedure
Invocation

Application SourcesフォルダのExampleSQLPackage.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

Application SourcesフォルダのTestClient.javaを実行します。

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


2.4.4 AdvancedEntityExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーション

AdvancedEntityExamplesアプリケーション・ワークスペースで作成されたスタンドアロン・アプリケーションは、ADFビジネス・コンポーネント・エンティティ・オブジェクトに適用される高度な概念を示します。

図2-11に、AdvancedEntityExamplesアプリケーション・ワークスペースを開いた状態の「アプリケーション・ナビゲータ」を示します。

図2-11 AdvancedEntityExamplesアプリケーション・ワークスペースの実行可能アプリケーション

AdvancedEntityExamplesプロジェクト・フォルダ

表2-6に、AdvancedEntityExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーションの説明を示します。このアプリケーション・ワークスペースの例は、第38章「エンティティ・オブジェクトの高度な手法」で説明されています。

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

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

ControllingPostingOrder

Application SourcesフォルダのProductsModuleでビジネス・コンポーネント・ブラウザを起動します。

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

EntityWrappingPLSQLPackage

Application SourcesフォルダのCreateProductsXXX.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

Application SourcesフォルダのProductsModuleでビジネス・コンポーネント・ブラウザを起動します。

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

InheritanceAndPolymorphic
Queries

Application SourcesフォルダのAlterPersonsTable.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

ResourcesフォルダのTestEntityPolymorphism.javaを実行します。ResourcesフォルダのTestViewRowPolymorphism.javaも実行します。

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

SimpleDomains

Application SourcesフォルダのCreateObjectType.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

Application SourcesフォルダのPersonModuleでビジネス・コンポーネント・ブラウザを起動します。

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


2.4.5 AdvancedViewObjectExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーション

AdvancedViewObjectExamplesアプリケーション・ワークスペースで作成されたスタンドアロン・アプリケーションは、ADFビジネス・コンポーネント・ビュー・オブジェクトに適用される高度な概念を示します。

図2-12に、AdvancedViewObjectExamplesアプリケーション・ワークスペースを開いた状態の「アプリケーション・ナビゲータ」を示します。

図2-12 AdvancedViewObjectExamplesアプリケーション・ワークスペースの実行可能アプリケーション

AdvancedViewObjectExamplesプロジェクト・フォルダ

表2-4に、AdvancedViewObjectExamplesアプリケーション・ワークスペースのスタンドアロン・アプリケーションの説明を示します。このアプリケーション・ワークスペースの例は、第39章「ビュー・オブジェクトの高度な手法」で説明されています。

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

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

DeclarativeBlock
Operations

Application SourcesフォルダのAppModuleでビジネス・コンポーネント・ブラウザを起動します。

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

InMemoryOperations

Application SourcesフォルダのAppModuleでビジネス・コンポーネント・ブラウザを起動します。

oracle.jboパッケージのインタフェースのメソッドを使用して、クライアント側からメモリー内でソートおよびフィルタ機能を使用する方法を示します。

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

MultipleMasters

Application SourcesフォルダのAppModuleでビジネス・コンポーネント・ブラウザを起動します。

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

MultipleViewCriterias

Application SourcesフォルダのTestClientMultipleViewCriteria.javaを実行します。

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

ReadingAndWritingXML

ResourcesフォルダのTestClientReadXML.javaを実行します。次に、ResourcesフォルダのTestClientWriteXML.javaを実行します。

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

ViewObjectOnRefCursor

Application SourcesフォルダのCreateRefCursorPackage.sqlスクリプトをFOD接続に対して実行し、プロジェクトに必要な追加データベース・オブジェクトを設定します。

Application SourcesフォルダのOrdersModuleでビジネス・コンポーネント・ブラウザを起動します。

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


2.5 Fusion Order Demoアプリケーションの考察

Oracle JDeveloperでプロジェクトを開くと、各プロジェクト内のアーティファクトの確認を開始できます。Fusion Order Demoアプリケーションの開発環境は、StoreFrontServiceStoreFrontUIの2つのプロジェクトに分けられています。

StoreFrontServiceプロジェクトには、Webアプリケーションに製品データを表示できるようにするクラスが格納されます。図2-13は、StoreFrontServiceプロジェクトおよびその関連ディレクトリを示しています。

図2-13 StoreFrontServiceプロジェクト

StoreFrontServiceデータ・モデル・プロジェクト

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

StoreFrontUIプロジェクトには、バッキングBean、デプロイメント・ファイル、JSPXファイルなど、Webインタフェース用のファイルが格納されます。図2-14は、StoreFrontUIプロジェクトおよび関連するディレクトリを示しています。

図2-14 StoreFrontUIプロジェクト

StoreFrontUIユーザー・インタフェース・プロジェクト

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

2.5.1 匿名での参照

Fusion Order Demoアプリケーションを起動するには、StoreFrontUIプロジェクトのhome.jspxページを実行します。デフォルトのターゲットのhome.jspxページを使用したアプリケーションの実行の詳細は、2.3項「Fusion Order DemoアプリケーションStoreFrontモジュールの実行」を参照してください。

店舗サイトに入ると、サイトを匿名で参照できます。このページを使用して、アカウントにログインせずに製品のカタログを参照できます。最初のビューには、サイトがお薦めする注目の商品が表示され、ここからすべての品目のカタログにアクセスできます。各製品は、製品名とともにイメージとして表示されます。ページ・リージョンは、サイトが提供する他の注目商品と製品カタログの領域に分割されています。

図2-15は、ホームページを示しています。

図2-15 複数のリージョンで構成されたホームページ

FODホームページ

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、データバインドされたWebページの作成方法を説明する項は次のとおりです。

  • Webページの構造の提供

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

  • Webページでの情報の表示

    データ・バインディングをサポートするために、ホームページのタブ付きリージョンの注目商品の項目では、式言語(EL)式を使用して、宣言的なADFページ定義ファイルのADFデータ・コントロールの使用を参照します。ページ定義ファイルは、データバインドされたADF Facesコンポーネントを「データ・コントロール」パネルを使用してドラッグ・アンド・ドロップするとJDeveloperよって作成され、Webページまたはページ・フラグメントごとに一意です。ADFデータ・コントロールの使用により、データベースへの問合せが可能になり、PRODUCT_IMAGES表からイメージを表示するために使用されるADF Facesイメージ・コンポーネントなど、データバインドされたADF FacesコンポーネントをJSFランタイムを使用して最終的にレンダリングできます。ADFページ定義ファイルを参照するデータバインドされたWebページの作成の詳細は、22.1項「データバインドされた基本的なページの作成の概要」を参照してください。

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

    ホームページは、ADF無制限タスク・フローによってサポートされます。一般的に、Fusion Webアプリケーションでは、ADFコントローラのこの機能を利用してアプリケーションへのエントリ・ポイントを定義します。ホームページ全体およびそのページ・フラグメントの無制限タスク・フローでは、ホームページ、注文ページおよびユーザー登録のページを表示するためのビュー・アクティビティを記述し、チェックアウト・プロセスを管理するためのタスク・フロー参照を定義します。JDeveloperでは、コンポーネント・パレットからビジュアル設計要素をドラッグ・アンド・ドロップしてタスク・フローを作成できます。無制限タスク・フローを作成すると、各要素によってアプリケーションのアクティビティ間で制御を渡す方法を識別できます。ビュー・アクティビティはWebページまたはページ・フラグメントに関連付ける必要があるため、JDeveloperでは、Webページまたはフラグメント用のファイルをタスク・フロー・ダイアグラムから直接作成することもできます。タスク・フローの作成プロセスでは、宣言的な定義がADFタスク・フローの構成ファイルに追加されます。生成されるダイアグラムにより、アプリケーションのページおよび参照タスク・フローのビジュアル制御フロー・マップを操作できます。ADF無制限タスク・フローを使用してアプリケーションのエントリ・ポイントを指定する方法の詳細は、14.1項「ADFタスク・フローの概要」を参照してください。

2.5.1.1 製品の詳細の表示

製品の詳細情報を表示するには、ホームページの任意の製品の製品名のリンクをクリックします。製品情報は、折りたたみ可能なノードでカテゴリ別に並べて表示されます。

図2-16は、製品について表示できる詳細ダイアログを示しています。

図2-16 ホームページ - 製品詳細のポップアップ

FODの製品詳細ダイアログ

ホームページの「統計」サブタブを選択すると、顧客による注目商品の注文数をグラフで表示することもできます。数量を簡単に比較できるように、グラフでは注文数の多い順に製品が並べられます。

図2-17は、注目商品の現在の注文状況の詳細を表示する棒グラフを示しています。

図2-17 ホームページ - 注目商品の統計

FODの製品の統計表示

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、製品詳細の参照をサポートするために使用されるコンポーネントの開発方法を説明する項は次のとおりです。

  • データ表示アクションのトリガー

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

  • グラフィカル形式でのデータの表示

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

2.5.1.2 製品カタログの参照

参照を開始するには、ホームページの「ショッピングの開始」タブをクリックします。このアクションにより、注目商品の詳細の表示に使用されるページのリージョンが製品のカテゴリ・ツリーを表示するリージョンに変更されます。ツリーのブランチ・ノードを閉じたり展開することで、製品カタログを構成する様々な製品カテゴリを表示できます。ツリーには、カテゴリ名のアルファベット順で製品カテゴリが表示されます。特定のカテゴリの製品をすべて表示するには、ツリーのカテゴリ・ノード(ElectronicsMediaオフィスなど)をクリックします。サイトで製品情報のリージョンをリフレッシュすると、データベースに格納されている順で製品のリストが表示され、商品の画像と説明も表示されます。

図2-18は、Electronicsのカテゴリのすべての製品が表示されたホームページを示しています。

図2-18 ホームページ - 製品カテゴリ表示

FODの製品カテゴリ表示

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、表とフォームを使用してマスター/ディテール関係にあるオブジェクトを表示する方法を説明する項は次のとおりです。

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

    「データ・コントロール」パネルを使用して、マスター/ディテール・データを表示するページを作成できます。「データ・コントロール」パネルに表示される、マスター/ディテール関係にあるオブジェクトの階層には、ADFアプリケーション・モジュールのデータ・モデルでの定義が反映されており、ディテール・オブジェクトがマスター・オブジェクトの子となります。そのために必要な操作は、コレクションをページにドロップして、使用するコンポーネントのタイプを選択することのみです。たとえば、Fusion Order Demoアプリケーションのhome.jspxページでは、af:treeコンポーネントに製品カテゴリのマスター・リストが表示され、af:tableコンポーネントに製品のディテール・リストが表示されます。データ・モデルの詳細は、3.4項「UI対応データ・モデルの概要」を参照してください。マスター/ディテール関係にあるデータを表示する様々なタイプのページの詳細は、24.1項「マスター/ディテール・データの表示の概要」を参照してください。

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

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

2.5.1.3 製品の検索

製品カタログを検索するには、複数の方法があります。アコーディオン・パネルの 「検索」タブの選択アイコン(+記号)をクリックするか、メイン・リージョンの「取引の検索」タブをクリックすると開始できます。これらのいずれかをクリックすると、ホームページに両方のリージョンが同時に表示され、検索基準を入力して検索結果を表示できます。製品名や製品の説明など、すべての製品に共通の属性に対して簡易キーワード検索を実行するには、アコーディオン・パネルの 「検索」タブを使用します。ドロップダウン・リストから属性を選択して検索する場合、パネルには、検索基準を指定できる適切な入力コンポーネントを使用した検索フィールドが表示されます。たとえば、デフォルトの検索可能属性のProductIdの場合は、数値であることが予期されるため、検索フィールドでは製品IDを返すためのスピンボックス(ADF FacesコンポーネントinputNumberSpinBox)を使用します。

図2-19は、IDが7の製品で戻される検索結果が表示されたホームページを示しています。

図2-19 ホームページ - 検索表示

FODの製品検索表示

簡易検索を入力するかわりに、拡張検索機能を使用し、検索可能フィールドの組合せに基づいて、選択した製品の検索基準を定義して保存することができます。「拡張」リンクをクリックすると、「拡張検索」ダイアログが開きます。開発者が定義した「名前で製品を検索」などの保存済検索は、「保存済の検索」ドロップダウン・リストに表示されます。

図2-20は、簡易検索基準の「名前」が表示された「拡張検索」ダイアログを示しています。この検索基準は、保存済の検索の「名前で製品を検索」で定義しています。

図2-20 ホームページ - 「拡張検索」ダイアログ

FODの「拡張検索」ダイアログ

「拡張検索」ダイアログで使用可能な開発者定義の保存済の検索に加えて、セッション中に有効な保存済検索をエンド・ユーザーが作成することもできます。「拡張検索」ダイアログに製品の検索基準を入力し、「保存」ボタンをクリックすると、「保存済の検索の作成」ダイアログが表示されます。

図2-21は、「拡張検索」ダイアログに入力した検索基準の保存方法を指定するために使用する「保存済の検索の作成」ダイアログを示しています。たとえば、検索名をTreo product name searchにすると、この検索名は「拡張検索」ダイアログの「保存済の検索」ドロップダウン・リストに表示されます。

図2-21 ホームページ - 「拡張検索」ダイアログ - 保存済の検索オプション

FODの保存済の検索ダイアログ

保存済の検索は、パーソナライズ機能(「拡張検索」ダイアログの「保存済の検索のパーソナライズ」ドロップダウン・リスト)を選択して管理することもできます。

図2-22は、「保存済の検索」ドロップダウン・リストに検索基準の「名前で製品を検索」が表示されるように、「検索リストに表示」を有効にした「保存済の検索のパーソナライズ」ダイアログを示しています。これはユーザー定義の保存済基準ではないため、パーソナライズ・オプションは無効になっています。

図2-22 ホームページ - 「拡張検索」ダイアログ - パーソナライズ・オプション

FODの「保存済の検索のパーソナライズ」ダイアログ

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、問合せの定義および問合せ検索フォームの作成方法を説明する項は次のとおりです。

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

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

  • クイック検索フォームの作成

    クイック問合せ検索フォームには、関連するデータ・コレクションから利用可能な検索可能属性のドロップダウン・リストとともに検索基準フィールドが1つ含まれます。デフォルトでは、関連するビュー・オブジェクトのすべての属性が検索可能属性となります。ビュー・オブジェクトで属性の「表示」コントロール・ヒントを「非表示」に設定すると、属性を除外できます。ユーザーは、選択された属性または表示されるすべての属性に対して検索を実行できます。検索基準フィールド・タイプは対応する属性タイプに自動的に一致します。詳細は、27.1.2項「クイック問合せ検索フォーム」を参照してください。

  • 検索フォームの作成

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

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

    通常は、問合せ検索パネルとともに結果表またはツリー表をドロップします。JDeveloperは自動的に結果表またはツリー表を問合せパネルと関連付けます。問合せパネルのみをドロップし、独立した結果コンポーネントが必要な場合は、問合せコンポーネントのresultComponentId属性を結果コンポーネントの相対表現に設定できます。たとえば、Fusion Order Demoアプリケーションでは、home.jspxページにID searchTを持つaf:tableが表示され、「拡張検索」ダイアログの結果IDにこのIDが割り当てられます。詳細は、27.2.2項「問合せ検索フォームを作成した後で結果コンポーネントを追加する方法」を参照してください。

2.5.2 ログイン・プロセス

店舗サイトのセキュアなリソースにアクセスするまで、製品カタログの参照とショッピング・カートの更新は匿名ユーザーとして自由に行うことができます。ただし、ホームページの上部に表示されている注文リンクまたは「チェックアウト」リンクをクリックすると、サイトを実行しているWebコンテナによってログイン資格証明を入力するように求められます。リンク先のページを表示するリクエストをサイトが完了する前に、有効なユーザー名とパスワードを入力する必要があります。


注意:

新規顧客の登録プロセスはFusion Order Demoアプリケーションでサポートされますが、ユーザーはセキュリティ実装に追加されません。このため、表2-3に示している事前定義済の顧客のユーザー名とパスワードを使用してログインする必要があります。


図2-23は、注文の詳細または店舗での購入品目を表示する前に表示されるログイン・ページ・フラグメントを示しています。デモでは、「ユーザー名」「パスワード」ngreenbewelcome1をそれぞれ入力し、顧客としてログインします。

図2-23 ログイン・リージョン

FODのログイン・ページ

「ログイン」ボタンをクリックすると、入力内容とアイデンティティ・ストアに格納されている資格証明情報がWebコンテナによって照合されます。(登録済のユーザー名とパスワードを入力したため)Webコンテナによって認証できた場合は、選択したリンクで指定されたWebページにリダイレクトされ、認証できなかった場合は、アカウントを作成するか、認証されていないユーザーとして参照を続行するかを選択するように求められます。

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、Oracle ADFリソースを保護するために、これらのリソースへのアクセスの際にログインを必須にする方法を説明する項は次のとおりです。

  • Oracle ADFリソースを保護するためのきめ細かいセキュリティ設定

    ADFセキュリティは、Java Authentication and Authorization Service (JAAS)に基づくセキュリティ実装を提供するフレームワークです。JAASのOracle ADF実装は、ロールに基づいています。JDeveloperでは、これらのロールを定義して各ロールに基づいて権限を付与し、Oracle ADFリソースのセキュリティをきめ細かく設定します。JDeveloperでは、ADFバインド・タスク・フロー、またはADFページ定義に関連付けられている個々のWebページに対して、ポリシー・ストアを宣言的に定義できます。Oracle ADFリソースの保護の詳細は、30.5項「ADFセキュリティ・ポリシーの定義」を参照してください。

  • 動的ユーザー認証のトリガー

    ADFセキュリティを使用する場合、まだ認証されていないユーザーがanonymous-roleロールに付与されていないページにアクセスしようとすると、認証が自動的にトリガーされます。ログインに成功すると、リクエストしたページの表示アクセス権を認証済ユーザーが持っているかどうかを確認するためのチェックが別に実行されます。詳細は、30.3.5項「ADF認証について」を参照してください。

  • Webページ内での権限チェックの実行

    実行時には、ADFリソースに対して定義したセキュリティ・ポリシーが標準のJAAS権限認証を使用して施行され、ユーザーのアクセス権が決定されます。アプリケーションで必要とされる場合、式言語(EL)を使用してWebページ内でランタイム権限チェックを実行し、ユーザーに対して表示する必要がないコンポーネントを非表示にできます。たとえば、Fusion Order DemoアプリケーションのmyOrders.jpxページでは、式と値userGrantedPermissionを使用してユーザーの権限をテストしてから、アカウント番号を表示します。詳細は、30.11.1項「ADFセキュリティでの式言語(EL)の使用」を参照してください。

2.5.3 注文プロセス

注文プロセスを開始するには、製品カタログを参照します。製品の横にある「追加」をクリックすると、サイトのショッピング・カート・リージョンが更新され、品目が表示されます。

図2-24は、単一品目を追加したカートの合計を示しています。合計には、カートに表示される品目の小計が表示されます。

図2-24 ホームページ - ショッピング・カートの合計

FODのショッピング・カートの合計

カート内の品目を確認したら、ホームページ上部の「チェックアウト」リンクをクリックすると注文を完了できます。チェックアウトして注文を完了するには、2.5.2項「ログイン・プロセス」で説明されているように、認証ユーザーになる必要があります。

ログインすると、登録時に使用したユーザー名前や住所などの注文の詳細が記載されたチェックアウト・ページが表示されます。注文は、実行時に生成され、注文に割り当てられる注文情報番号で識別されます。注文の合計リージョンには、新しい注文に含まれる注文品目が表示されます。このリージョンは、ホームページのカートの合計と似ていますが、配送料が追加され、注文に適用される割引額が差し引かれて合計購入金額が算出される点が異なります。

図2-25は、4点の品目を合計した注文のチェックアウト・ページを示しています。

図2-25 チェックアウト・ページ - 注文詳細フォーム

FODの注文詳細表示

チェックアウト・ページでは、注文情報の詳細をカスタマイズできます。たとえば、注文の支払い方法の情報を表示して編集するには、支払いオプション・コード・フィールドの横の「編集」アイコンをクリックします。

図2-26は、支払いオプション・コード・フィールドの詳細ダイアログを示しています。

図2-26 チェックアウト・ページ - 支払いオプションの詳細ダイアログ

FODの支払い詳細ダイアログ

支払いオプション・ダイアログの多くのフィールドには、情報入力のためのユーザー・インタフェース・ヒントが表示されます。

図2-27は、「有効期限」フィールドに対してフォーマット・マスク(mm-yy)で定義されている日付入力の例(01/15)を示しています。

図2-27 チェックアウト・ページ - 支払いオプションの詳細ダイアログ - 日付フォーマット・マスク

FODの支払い方法の詳細(日付マスク)

カード・タイプ・フィールドには、ドロップダウン・リストが表示され、クレジット・カード・タイプの有効な値リストから選択できます。

図2-28は、カード・タイプのフィールドの値リストを示しています。

図2-28 チェックアウト・ページ - 支払いオプションの詳細ダイアログ - 値リスト(LOV)選択リスト

FODの支払いオプション(LOV選択リスト)

支払いオプション・ダイアログを閉じて、チェックアウト・ページの「注文の送信」ボタンをクリックすると、注文書が作成され、プロセス・フローに送信されます。

StoreFrontモジュールを使用して発注したら、2つ目のFusion Order Demoアプリケーション・モジュールを使用して注文を処理できます。Oracle SOA Suiteの機能を示すために使用されるWebLogic Fusion Order Demoモジュールの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。Fusion Order Demoアプリケーションのこの部分の実行の詳細は、2.3項「Fusion Order DemoアプリケーションStoreFrontモジュールの実行」を参照してください。

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、注文のチェックアウト・プロセスなどで使用されるフォームを開発する方法を説明する項は次のとおりです。

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

    ユーザーが入力した値を取得する基本フォームを作成する場合、JDeveloperでは、属性を個別にドロップする必要はなく、オブジェクトのすべての属性を入力フォームとして一度にドロップできます。値を表示するフォーム、ユーザーが値を編集できるフォームおよび値を収集するフォームを作成できます。たとえば、Fusion Order Demoアプリケーションでは、チェックアウト・ページorderSummary.jspxの1つのフォームにはユーザー情報が表示され、もう1つのフォームにはユーザーの注文の出荷情報が収集されます。詳細は、22.6項「入力フォームの作成」を参照してください。

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

    フォーマット・マスクにより、ユーザーは必要なフォーマットに属性値を指定できます。このタスクを容易にするために、ADFビジネス・コンポーネントでは、データ・モデル・プロジェクトの属性に対してコントロール・ヒントと呼ばれる宣言的サポートを提供します。たとえば、Fusion Order Demoアプリケーションでは、ユーザーのクレジット・カード有効期限の割当てに使用されるCustomerPaymentOptionVOビュー・オブジェクトの属性は、フォーマット・マスク・ヒントとともに構成され、Payment Optionsページ・フラグメントpaymentOptionsDetails.jsffで施行されます。入力フォーム・コンポーネントのフォーマット・マスク定義の詳細は、5.13項「ビュー・オブジェクトのコントロール・ヒントの定義」を参照してください。

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

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

  • 一時的なセッション情報の追跡

    基礎となる表内の列に属性がマップされるデータ・モデル・プロジェクトを作成する場合、ADFビュー・オブジェクトには、(JavaやGroovy式などを使用して)計算された値を表示する一時属性や値ホルダーである一時属性を組み込むことができます。たとえば、Fusion Order Demoアプリケーションでは、注文の合計ページorderSummary.jspxに、OrderVOビュー・オブジェクトで定義された式によって計算されたInvoiceTotal属性の値が表示されます。一時属性をデータ・モデル・プロジェクトで定義する方法の詳細は、4.14項「エンティティ・オブジェクトへの一時属性および計算属性の追加」を参照してください。

2.5.4 顧客の登録プロセス

サイトでは、チェックアウト・ページを表示する前に認証ユーザーになるように求められます。新規顧客が注文プロセスを完了できるように、サイトで顧客登録の方法をガイドする必要があります。開始するには、ホームページの登録用リンクをクリックし、顧客として登録をクリックします。

顧客の登録は、各ステップに専用の画面に従って進めます。各ステップの進行状況を表すために、登録ページには「基本情報」「住所」「支払いオプション」および「確認」のラベルが付いた一連のトレイン・ストップが表示されます。顧客登録の各プロセスを移動するには、トレイン・ストップをクリックするか、「次へ」ボタンをクリックします。

図2-29は、顧客の登録プロセスの最初の画面を示しています。「基本情報」トレイン・ストップは、選択されて有効になっており、現在のストップを示しています。次のトレイン・ストップ・アイコンの「住所」は有効になっていますが強調表示されておらず、「支払いオプション」および「確認」のトレイン・ストップ・アイコンは無効でグレー表示されています。これらのトレイン・ストップは、フローの順序に従ってアクティビティを完了する必要があることを示しています。

図2-29 顧客登録ページ - 基本情報フォーム

FODの顧客登録フォーム

「基本情報」フォームに情報を入力する前に、「住所」トレイン・ストップをクリックします。ページには、次のステップに進む前に指定のフィールドに値を入力する必要があることを示すエラー・ダイアログが表示されます。

図2-30は、「基本情報」フォームでユーザー名と電子メール・アドレスを入力する必要がある旨のメッセージが表示されたエラー・ダイアログを示しています。

図2-30 顧客登録ページ - 検証エラーがポップアップした基本情報フォーム

FODの検証エラーがポップアップした基本情報フォーム

「OK」をクリックして、エラー・ダイアログを閉じます。ユーザー名と電子メール・アドレスを入力します。フォームに入力した電子メール・アドレスを確認します。

「次へ」をクリックし、次のタスクに進みます。住所画面が表示され、データベースに新しい住所レコードを作成するアイコン・ボタン(既存の顧客の場合は、既存の住所レコードを更新するアイコン・ボタン)を選択できます。

図2-31は、住所ラベル列のみがあり、行情報のない住所画面を示しています。ここでは新規顧客として情報を入力するので、現時点で住所レコードは存在していないため、これらの列の下に行は表示されません。

図2-31 顧客登録ページ - 住所入力タスク

FODの顧客登録の住所作成タスク

「新規」をクリックします。登録ページが変更されて住所入力フォームが表示されますが、現在のトレイン・ストップは「住所」のままです。

図2-32は、空の住所入力フォームを示しています。

図2-32 顧客登録ページ - 住所入力フォーム

FODの顧客登録の住所入力フォーム

アスタリスク記号(*)の付いたフィールドに、指定された住所情報を入力します。アスタリスク記号は、値の入力が必須であることを示しています。国情報もデータベースで必要になるため、ドロップダウン・リストから選択する必要があります。「保存して戻る」をクリックすると、新しい住所レコードがデータベースに作成されます。

図2-33は、新しい住所レコードの行情報が表示された住所画面を示しています。

図2-33 顧客登録ページ - 住所レコード入力の完了

FODの顧客登録の住所レコード

これで、Fusion Order Demoアプリケーションのツアーを終了します。

実装の詳細の検索場所

『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』で、登録プロセスで使用されるADF Facesトレイン・コンポーネントなどの複雑なコンポーネントの使用方法を説明する項は次のとおりです。

  • バインドされたタスク・フローを使用したアクティビティのグループ化

    すべてのFusion Webアプリケーションには、無制限タスク・フローが組み込まれており、アプリケーションへのエントリ・ポイントが含まれます。このため、アプリケーションでは、無制限タスク・フロー内のアクティビティからバインド・タスク・フローをコールできます。たとえば、Fusion Order Demoアプリケーションでは、バインド・タスク・フローcheckout-task-flowがチェックアウト・プロセスのフローを制御し、登録プロセスのフローを制御する別のバインド・タスク・フローcustomer-registration-task-flowをコールします。バインド・タスク・フローの詳細は、14.1項「ADFタスク・フローの概要」を参照してください。

  • バインド・タスク・フローと関連付けるトレイン・コンポーネントを使用した関連アクティビティの進行の表示

    ADFバインド・タスク・フローで選択するアクティビティに基づいてトレイン・ストップを構成してから、JSFページにaf:trainコンポーネントを追加します。たとえば、Fusion Order Demoアプリケーションでは、バインド・タスク・フローcustomer-registration-task-flowでページ・フラグメントbasicInformation.jsffdefineAddresses.jsffpaymentOptions.jsffおよびreviewCustomerInfo.jsffの4つのトレイン・ストップを定義します。ページregister.jspxにはフラグメントが表示され、各ページ・フラグメントには4つのストップを定義するアクティビティにバインドされたトレイン・コンポーネントが表示されます。バインド・タスク・フローとトレイン・ストップ定義のためのその使用方法の詳細は、18.10.3項「トレインの作成方法」を参照してください。

  • 入力フォームで値入力を必須にする方法

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