詳細表示
Oracle JDeveloperで作業する場合、アプリケーション内のプロジェクトとして作業を整理します。 Oracle JDeveloperには、アプリケーションおよびプロジェクトの作成に利用できるいくつかのテンプレートが提供されています。 テンプレートは、さまざまな種類のアプリケーションを開発するうえで必要となる基本的なテクノロジーに基づいて事前設定されており、ニーズに適したテンプレートを選択することで作業環境を構築できます。 その後で、設定を行って、使用する予定のその他のテクノロジーを追加できます。
最初の項では、Fusionテクノロジーを使用して新規アプリケーションを作成し、データベースにアクセスする再利用可能なビジネス・コンポーネントを構築します。 アプリケーションおよびモデル・コンポーネントを作成するには、以下のステップを実行します。
アプリケーション・ナビゲータで、「New Application」をクリックします。 または、メニュー・オプションの「File」→「New」を選択して、新規アプリケーションを作成します。

-
New Galleryで、「Fusion Web Application (ADF)」オプションを選択します。 このオプションを選択すると、データ・バインドされたOracle ADF Webアプリケーションが作成されます。 アプリケーションは2つのプロジェクトで構成されます。1つはデータ・モデル(Oracle ADF Business Components)用で、もう1つはビュー・コントローラ・コンポーネント(Oracle ADF FacesおよびOracle ADFタスク・フロー)用です。

-
Create Fusion Web Applicationダイアログ・ボックスで、Application NameをTaskFlowと指定します。 新しいアプリケーション名を入力すると、それに合わせてディレクトリが変更されます。 他の場所にファイルを作成したい場合は、パスのC:\JDeveloper\myworkの部分を変更できます。
Application Package Prefixフィールドの値をdemoに設定します。 Application Templateで「Fusion Web Application (ADF)」テンプレートを選択して、「Finish」をクリックします。

Overviewペインに、Fusion Web Application開発の手引きとして参照できるChecklistが表示されます。
Fusion Webアプリケーションを作成するときは、Checklistがデフォルトで表示されます。
-
アプリケーション・ナビゲータに2つの新しいプロジェクトが表示されます。 デフォルトのネーミング規則により、プロジェクトの1つはModel、もう1つはViewControllerという名前になります。

-
CheckList Overviewを使用してモデル・コンポーネントの作成を開始します。 「Connect to a Database」ステップをクリックします。
Initialize Business Components Projectダイアログを使用して、このデータ・モデル・プロジェクトのビジネス・コンポーネントを操作するときに使用する設計時アプリケーション・リソース接続を選択します。または、既存のIDEレベルの接続をコピーして、新しいアプリケーション・リソース接続を作成します。
詳細表示 
-
ステップが開き、このタスクの実行に必要な前提条件などの役立つ情報が表示されます。 「Create a Database Connection」ボタンをクリックします。

-
作成する新規接続のプロパティを次のように指定します。
データベースの正しいホスト、ポートおよびSIDが参照されるように、Oracle JDBC Settingsを適切に入力します。 「Test Connection」ボタンをクリックして、成功したことを確認します。
確認したら、「OK」ボタンをクリックします。プロパティ 値 Connection Name HRConn Username hr Password hr 
-
Checklistペインで、Connect to a Databaseステップのステータスを「Done」に設定します。

-
「Build Business Services」ステップをクリックして開き、「Go to Sub steps」ボタンをクリックします。

-
サブタスク・リストで「Create Entity Objects and Associations」サブタスクをクリックします。

次に、「Create Entity Objects and Associations」ボタンをクリックします。

-
Select Project for Actionダイアログで「Model」プロジェクトを選択します。
「OK」をクリックします。
-
Initialize Business Components ProjectダイアログでHRConn接続を選択します。 「OK」をクリックします。

-
Entity Objectsページで「Query」ボタンをクリックし、データ・ディクショナリを調べて利用可能な表を表示します。

-
Availableリストから「EMPLOYEES」表を選択し、右矢印「
」をクリックしてSelectedリストに移動します。 このステップにより、選択した表に基づいて、更新可能なエンティティ・オブジェクトが作成されます。
「Next」をクリックして続行します。
-
Updatable View Objectsダイアログで、Employees(HR.EMPLOYEES)をSelectedリストに移動します。 このステップにより、以前に作成したエンティティ・オブジェクトで問合せを実行するための適合するビュー・オブジェクトが作成されます。
「Next」をクリックして続行します。
-
Read Only View Objectsダイアログでは、「Next」をクリックして続行します。
ビュー・オブジェクトは、SQL問合せをカプセル化して問合せ結果の操作を簡素化するOracle Application Development Framework(Oracle ADF)コンポーネントです。
詳細表示 -
Application Moduleダイアログで、「Finish」をクリックして、Modelプロジェクトのビジネス・コンポーネントを作成します。
アプリケーション・モジュールは、エンドユーザーのタスクに関連する論理的な作業単位で使用されるビジネス・サービス・メソッドとUI認識型データ・モデルをカプセル化するOracle ADF Business Componentsコンポーネントです。
詳細表示 
-
Checklistで、Create Entity Objects and Associationsステップのステータスを「Done」に設定します。 「Close Step 3」ボタンをクリックします。
注: ステップ3.2、3.3 および3.4も完了しているため、これらのステップのステータスもDoneに設定できますが、これらは上のレベルで設定します。
-
Build Business Servicesステップのステータスを「Done」に設定します。

-
モデル・プロジェクトでの作業が実行されます。 Modelプロジェクトを展開すると、アプリケーション・ナビゲータは次のように表示されます。

-
Oracle JDeveloperメニュー・バーの「
」Save Allアイコンをクリックするか、メニューから「File」→「Save All」を選択します。 次は、ViewControllerプロジェクトに関する作業を実行します。
TaskFlowアプリケーションをOracle JDeveloperにロードしたら、ビューとリターンを含むバインド・タスク・フロー・ダイアグラムを作成します。 次のステップを実行します。
-
アプリケーション・ナビゲータで「ViewController」ノードを右クリックし、コンテキスト・メニューから「New」を選択します。
Oracle ADFバインド・タスク・フローは、アプリケーションの再利用可能な部分をカプセル化するときに使用します。
詳細表示

-
New Galleryで、「Web Tier」→「JSF/Facelets」ノードをクリックし、「ADF Task Flow」を選択します。

-
Create Task Flowダイアログで、ファイル名としてemp-update-flowと入力します。 次のチェック・ボックスを選択します。
「OK」をクリックします。プロパティ 値 Create as Bounded Task Flow チェックを入れる Create with Page Fragments チェックを入れる Create Train チェックを入れる 
-
空の新規タスク・フロー・ダイアグラムが表示され、アプリケーション・ナビゲータに新しいエントリが作成されます。

-
コンポーネント・パレットで「
」Viewコンポーネントを選択し、ダイアグラム上にドラッグ・アンド・ドロップします。

-
デフォルト名をintroに変更します。


-
ダイアグラム上のintroビューの隣に、新規の
ビューを作成します。
新規ビューの名前をsearchに変更します。
-
ダイアグラム上に3つ目の
ビューを作成します。 
ビュー名をUpdateに変更します。 ダイアグラムは下のイメージのようになります。

-
すべての変更を保存します。
introページは、このタスク・フローのエントリ・ポイントです。ここからは、ページ内にトレインを作成する方法を説明します。 次のステップを実行します。
-
emp-update-flowダイアグラムでintroビュー・コンポーネントをダブルクリックしてページを作成します。
Create New JSF Page Fragmentダイアログで「OK」をクリックし、デフォルト値を受け入れます。
-
ページ設計ペインが開きます。 コンポーネント・パレットのADF Faces Common Componentsグループから「
」Trainコンポーネントを選択して、ページ設計ペイン上にドロップします。
トレインは関連するアクティビティの進行状況を表すもので、エンドユーザーがタスクを完了するときのガイドとなります。
詳細表示 
Bind Trainダイアログで、デフォルト値のまま「OK」をクリックします。

-
「
」Train Button Barコンポーネントを選択し、Trainコンポーネントの下にドロップします。

Bind trainButtonBarダイアログで、デフォルト値のまま「OK」をクリックします。

-
コンポーネント・パレットのADF Faces General Componentsグループから「
」Output Textコンポーネントを選択し、トレイン・ボタン・バーの下にドロップします。

プロパティ・インスペクタがまだ開いていない場合は、「View」→「Property Inspector」の順に選択するか[Ctrl] + [Shift] + [I]キーを同時に押して開き、ValueフィールドにWelcome to the Employee updaterと入力します。

ページは次のようになります。

-
すべての作業内容を保存し、「emp-update-flow」タブをクリックしてタスク・フロー・ダイアグラムを再表示します。

-
「search」ビュー・コンポーネントをダブルクリックして、検索ページを作成します。

-
Create New JSF Page Fragmentダイアログで、デフォルト値のまま「OK」をクリックします。

-
ページ設計ペインが開きます。 コンポーネント・パレットのADF Faces Common Componentsグループから「
」Trainコンポーネントを選択し、ページ設計ペイン上にドロップします。

Bind Trainダイアログで、デフォルト値のまま「OK」をクリックします。

-
「
」Train Button Barコンポーネントを選択し、Trainコンポーネントの下にドロップします。

Bind trainButtonBarダイアログで、デフォルト値のまま「OK」をクリックします。

-
すべての作業内容を保存し、「emp-update-flow」タブをクリックしてタスク・フロー・ダイアグラムを再表示します。

-
「update」ビュー・コンポーネントをダブルクリックして、更新ページを作成します。

-
Create New JSF Page Fragmentダイアログで、デフォルト値のまま「OK」をクリックします。

-
ページ設計ペインが開きます。 コンポーネント・パレットのADF Faces Common Componentsグループから「
」Trainコンポーネントを選択し、ページ設計ペイン上にドロップします。

Bind Trainダイアログで、デフォルト値のまま「OK」をクリックします。

-
「
」Train Button Barコンポーネントを選択し、Trainコンポーネントの下にドロップします。

Bind trainButtonBarダイアログで、デフォルト値のまま「OK」をクリックします。

-
Save All「
」アイコンをクリックしてアプリケーションを保存します。
検索ページと更新ページは、データ・コントロール・コンポーネントとバインドする必要があります。 検索ページでは任意の列を条件にして従業員を問い合せ、更新ページでは従業員の給与を表示および更新します。 これらの操作を実行できるようにするために、次のステップを実行します。
-
「search」タブをクリックして、ページを再表示します。

-
アプリケーション・ナビゲータでData Controlsアコーディオンを開き、「AppModuleDataControl」→「 EmployeesView1」→「Named Criteria」の順に開いて「All Queriable Attributes」をページ上にドラッグ・アンド・ドロップします。
データ・コントロールは基本的に、ソースから取得したデータをOracle ADF Fusion Web Applicationのユーザー・インタフェースで使用できるように橋渡しをするものです。
詳細表示

ポップアップ・メニューから「Create」→「Quick Query」の順に選択し、「ADF Quick Query with Table」オプションを選択します。
-
Edit Table Columnsダイアログで、「Single Row」オプションと「Enable Sorting」オプションを選択します。
「OK」をクリックします。
-
ページは次のように表示されます。

-
「update」タブをクリックしてページを開きます。

-
Data Controlsペインで「AppModuleDataControl」→「EmployeesView1」の順に選択し、更新ページへドラッグ・アンド・ドロップします。

-
ポップアップ・メニューから「Create」→「Form」の順に選択し、「ADF Form」オプションを選択します。
Data Controlsパネルからオブジェクトをフォームとしてドロップしても、1つの属性をドロップしたときと同じ処理が行われます。ただし、
詳細表示

-
Edit Form Fieldsで、最後の3行(CommissionPct、ManagerID、DepartmentId)を選択し、「
」Deleteボタンをクリックしてフィールドを除外します。 「Include Submit Button」オプションを選択し、「OK」をクリックします。 
-
コンポーネント・パレットで「
」Buttonアイコンを選択し、Submitボタンの隣にドラッグ・アンド・ドロップします。 
-
プロパティ・インスペクタで、ボタンのTextフィールドにCancelと入力します。

-
ページは次のように表示されます。

-
「
」Save Allアイコンをクリックしてアプリケーションを保存します。
トランザクションは、リターン・アクティビティを使用するか操作アクションにバインドされたボタンを使用して、終了させることができます。 可能な場合はタスク・フロー・リターン・アクティビティを使用します。 タスク・フロー・リターン・アクティビティを使用すると、Oracle ADFタスク・フローのビューで使用されたすべてのデータがコミットされます。 また、アプリケーションでコミットおよびロールバックが行われる場所が分かりやすくなるため、メンテナンスが容易になります。 トランザクション・コントロール用のリターン・アクティビティを実装するには、次のステップを実行します。
-
「emp-update-flow」タブをクリックして、タスク・フロー・ダイアグラムを再表示します。

-
「Overview」タブをクリックしてから「Behavior」タブを選択します。

-
Transactionグループで、リストから「Always Begin New Transaction」プロパティを設定します。
こうすると、個々の従業員の更新は、粒度が単一行のトランザクションと見なされます。

-
ダイアグラムに戻り、「
」Task Flow Returnコンポーネントを選択し、updateビューの下にドロップします。 
コンポーネントの名前をcommitに変更します。

-
再度、「
」Task Flow Returnコンポーネントを選択し、updateビューの下にドロップします。 コンポーネントの名前をrollbackに変更します。 . 
-
コンポーネント・パレットから「
」Control Flow Caseコンポーネントを選択し、「update」ビューをクリックして「commit」リターンへドラッグ・アンド・ドロップします。 
コンポーネントの名前をcommitに変更します。

-
コンポーネント・パレットから「
」Control Flow Caseコンポーネントを選択し、「update」ビューをクリックして「rollback」リターンへドラッグ・アンド・ドロップします。 続いて、コンポーネントの名前をrollbackに変更します。 
-
タスク・フロー・ダイアグラムは次のように表示されます。

-
「commit」リターン・コンポーネントを選択し、プロパティ・インスペクタのBehaviorタブで、End Transactionフィールドの値リストから「commit」を選択します。


-
「rollback」リターンを選択して同じ操作を繰り返し、End Transactionのリストから「rollback」を選択します。

-
「
」Save Allアイコンをクリックしてアプリケーションを保存します。 -
「update」タブをクリックして更新ページの設計ビューを開き、「Submit」ボタンを選択します。

プロパティ・インスペクタのActionフィールドで、リストから「commit」を選択します。

-
「Cancel」ボタンを選択します。

プロパティ・インスペクタのActionフィールドで、リストから「rollback」を選択します。

-
「
」Save Allアイコンをクリックしてアプリケーションを保存します。
アプリケーションへは、ログイン・プロセスを経由しなければアクセスできないようにする必要があります。 ログイン・ページ、ルーター、エラー・ページ、および以前に作成したタスク・フローを作成します。 このタスク・フローを作成するには、以下のステップを実行します。
詳細表示 -
アプリケーション・ナビゲータで「ViewController」ノードを右クリックし、コンテキスト・メニューから「New」を選択します。

-
New Galleryで、「Web Tier」→「JSF」ノードをクリックし、「ADF Task Flow」を選択します。 「OK」をクリックします。

-
Create Task Flowダイアログで、ファイル名としてsecurity-flowと入力します。 「Create as Bounded Task Flow」を選択して、「Create with Page Fragments」チェック・ボックスを選択します。
「OK」をクリックします。
-
空の新規タスク・フロー・ダイアグラムが表示され、アプリケーション・ナビゲータに新しいエントリが作成されます。

-
コンポーネント・パレットで「
」Viewコンポーネントを選択し、ダイアグラム上にドラッグ・アンド・ドロップします。 
ビュー名をloginに変更します。

-
「
」Routerコンポーネントを選択してloginビューの隣にドロップします。
ルーター・アクティビティを使用すると、EL式に指定されたロジックに基づいてアクティビティのルーティングを宣言的に制御できます。
詳細表示

-
アプリケーション・ナビゲータから「emp-update-flow」を選択し、routerの下のダイアグラムにドラッグ・アンド・ドロップします。

-
コンポーネント・パレットで「
」Viewアイコンを選択し、ダイアグラム上にドラッグ・アンド・ドロップします。 
ビューの名前をerrorに変更します。

-
「
」Control Flow Caseアイコンを選択し、「login」ビューをクリックしてフローをrouterへドラッグ・アンド・ドロップします。 
-
前の操作を繰り返して、routerからerrorビューへ「
」Control Flow Caseを引きます。 
フローの名前をbadに変更します。

-
前の操作を繰り返して、routerからemp-update-flowビューへ「
」Control Flow Caseを引きます。
名前をgoodに変更します。
-
前の操作を繰り返して、errorからloginビューへ「
」Control Flow Caseを引きます。
フロー名をloginに変更します。 ダイアグラムは次のように表示されます。
-
2つ目のタスク・フローが完成します。 「
」Save Allアイコンをクリックしてアプリケーションを保存します。
パスワード・フィールドのあるログイン・ページを作成し、パスワード値用のバッキングBeanを作成します。 これにより、ルーターはパスワードに応じてerrorページまたはemp-updateフローに制御を移します。 ページを作成してルーター・ルールを実装するには、以下のステップを実行します。
-
ダイアグラムで「login」ビュー・アイコンをダブルクリックし、ページを作成します。 Create New JSF Page Fragmentダイアログで、デフォルト値のまま「OK」をクリックします。

-
コンポーネント・パレットから「Input Text」アイコンをドラッグし、loginページにドロップします。

Labelとしてpasswordを入力します。

-
AdvancedタブのBindingフィールドで、ドロップダウン・リストから「Edit」を選択します。

Edit Propertyダイアログで「New」ボタンをクリックして、パスワード値を保持するマネージドBeanを作成します。

マネージドBeanは、さまざまな構成ファイルを使用してアプリケーションに登録するJavaクラスです。
詳細表示
Create Managed Beanダイアログに次の値を入力します。
プロパティ 値 Bean Name backing_login Class Name backing_login Package backing Extends java.lang.Object Scope request Generate Class If It Does Not Exist (チェックを入れる) 
「OK」をクリックします。
-
Edit Propertiesに戻り、Propertyフィールドの横にある「New」ボタンをクリックします。

Create Propertyダイアログで、Property Nameとしてpasswordを入力します。

-
プロパティ・インスペクタには、Advancedノードの入力テキストコンポーネントが次のように表示されます。

実際のパスワード・フィールドでは、入力されたパスワード値を非表示にするために、AdvancedノードのVisibleプロパティをfalseに設定します。 -
「
」Buttonコンポーネントをパスワード・フィールドの下にドラッグ・アンド・ドロップします。

Textプロパティを「login」に変更します。

-
「security-flow」タブをクリックしてタスク・フロー・ダイアグラムを開き、errorページからloginページへのControl Flowを追加し、名前をloginとします。
次に、ルーターを選択します。
-
ルーターのプロパティ・インスペクタで、Default Outcomeとしてドロップダウン・リストから「bad」を選択します。
Casesセクションの「
」Addボタンをクリックして条件を作成します。 
-
Expressionフィールドで、リストから「Expression Builder」オプションを選択します。

「ADF Managed Beans」→「backing_login」→「password」の順にノードを開いて「value」変数を選択し、「'=='」オペランドを選択して'oracle'と入力します。

「OK」をクリックします。
この例では、パスワードのハード・コード値としてoracleをコーディングしてあります。
-
プロパティ・インスペクタに戻り、Outcomeとして「good」を選択します。こうして、入力されたパスワードがoracleと等しい場合は'good'フローを経由してemp-updateフローにナビゲートされ、等しくない場合はerrorページにナビゲートされるようにします。

-
次に、マネージド・プロパティ値を操作するパラメータを作成する必要があります。 security-flowフロー・ダイアグラムで、「Overview」タブ→「Parameters」タブの順にクリックします。
コール先のOracle ADFバインド・タスク・フローでは、入力パラメータを受け取ることができ、終了時にはコール元に戻り値を渡すことができます。
詳細表示

-
Input Parameter Definitionsの「
」Addボタンをクリックします。 
-
下の表の値をパラメータに設定し、すべての作業内容を保存します。
プロパティ 値 Name username Class java.lang.String Value (自動設定) Required (チェックを入れる) 
-
「login.jsff」タブをクリックしてページを開き、「Output Text」コンポーネントをpassword入力テキストの上にドラッグ・アンド・ドロップします。

-
プロパティ・インスペクタで、Valueフィールドのリストから「Expression Builder」オプションを選択します。
JSFでは、ELと呼ばれる簡単な式言語を使用して、表示または変更する情報をバインドします。
詳細表示

-
Expression BuilderでExpressionフィールドに値が入っていないことを確認し、「ADF Managed Beans」→「pageFlowScope」の順に開き、「username」を選択します。
「OK」をクリックします。
-
「security-flow」タブをクリックしてタスク・フロー・ダイアグラムを開き、「error」ビューをダブルクリックしてページを作成します。

Create New JSF Page Fragmentダイアログで「OK」をクリックし、デフォルト値を受け入れます。

-
コンポーネント・パレットから「
」Output Textをドラッグし、ページ上にドロップします。 
プロパティ・インスペクタで、ValueフィールドにError, wrong passwordと入力します。

-
Designで[Enter]を押して新しい行を追加し、「
」Buttonコンポーネントをドラッグしてerrorテキストの下にドロップします。 
プロパティ・インスペクタで、TextフィールドをRetryに変更し、Actionのリストから「login」を選択します。

-
「
」Save Allアイコンをクリックしてアプリケーションを保存します。
このタスク・フロー使用するJSFページを作成するには、以下のステップを実行します。
-
アプリケーション・ナビゲータで「ViewController」ノードを右クリックし、コンテキスト・メニューから「New」を選択します。

-
New Galleryで、Categoriesから「Web Tier」→「JSF/Facelets」を選択し、Itemsから「Page」を選択します。
「OK」をクリックします。
-
Create JSF Pageダイアログで、File Nameにmasterと入力し、「Page Template」オプションにチェックを入れ、「Oracle Three Column Layout」を選択します。
「OK」をクリックします。
-
スクロールして、表示されたページをエディタで確認します。

-
コンポーネント・パレットから「
」Output Textコンポーネントをドラッグし、startファセットにドロップします。

プロパティ・インスペクタで、ValueフィールドをWelcomeに変更します。

-
「ViewController」→「Web Content」→「WEB-INF」の順にノードを開き、「security-flow.xml」をドラッグしてFacet centerにドロップします。
メニューから「Region」を選択します。
JSFページまたはページ・フラグメント(.jsff)にバインド・タスク・フローをレンダリングするには、Oracle ADFリージョンを使用します。
詳細表示

Edit Task Flow Bindingで、Valueフィールドに#{'Scott'}と入力します。

-
現在のマスター・ページは次のように表示されます。

-
「
」Save Allアイコンをクリックしてアプリケーションを保存します。
これで、タスク・フローはリージョンとしてマスター・ページに統合され、実行できる状態になりました。 次のステップを実行します。
-
masterページのエディタで右クリックし、コンテキスト・メニューから「Run」を選択します。

-
ブラウザにページがロードされ、username変数(Scott)が表示され、パスワードの入力待ち状態になります。

-
誤ったパスワード値(oracle以外の値)を入力してみます。

続いて「login」ボタンをクリックします。 ルーターによってerrorページにナビゲートされます。 -
「Retry」ボタンをクリックして正しいパスワードでログインします。

-
loginページに戻り、パスワード値としてoracleを入力します。

次に、「login」をクリックします。
-
トレインが表示された新しいページが開きます。

-
新しいページで、「Next」ボタンまたはトレインの2つ目のボタンをクリックします。

-
トレインの2つ目のステップ(検索ページ)で「LastName」を選択します。
検索フィールドにA%と入力し、Aで始まる従業員名をすべて取得します。

「search」ボタンをクリックします。 -
返されたリストで任意の従業員を1人選択し、「Next」ボタンをクリックします。
新しい条件の入力準備が整うまでは、Searchパネルは閉じていても構いません。

-
選択した従業員のEditページでSalaryを任意の値に変更し、「Submit」をクリックします。

-
自動的にloginページに戻ります。

-
Oracle JDeveloperに切り替えてDatabase Navigatorを開きます(表示されていない場合は、「View」→「Database 」→「Database Navigator」の順に選択します)。

-
「TaskFlow」→「HRConn」→「Tables」の順にノードを開き、「Employees」表をダブルクリックして開きます。

-
「Data」タブをクリックして従業員の値を表示します。

「Sort」ボタンをクリックします。

-
Filterフィールドを使用するか、Sort操作を使用すると、求めている従業員の情報をさらに簡単に取得できます。 「Sort」ボタンをクリックし、Sort ColumnsダイアログでLAST_NAMEをSelected Columnsペインに移動します。
「OK」をクリックします。
-
Salaryを更新した従業員を検索し、新しい値で更新がコミットされていることを確認します。

-
この最後のプロセスを繰り返して、Cancel(ロールバック)アクションをテストしても構いません。
これで、このチュートリアルは完了です。
- モデル・コンポーネントの作成
- バインド・タスク・フロー・ダイアグラムの作成
- タスク・フロー・ページの構築
- タスク・フロー・ページへのデータ・コントロールのバインド
- タスク・フローへのトランザクション・コントロールの設定
- 2つ目のタスク・フローの定義
- タスク・フロー・コンポーネントとルーター・ルールの定義
- JSFページの作成とリージョンとしてのタスク・フローのページへのバインド
- Oracle® Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド
- Oracle® Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド

