Oracle Fusion Middleware Oracle SOA Suiteアプリケーションの作成および実行のためのチュートリアル 11g リリース1(11.1.1) B56240-01 |
|
戻る |
次へ |
第5章「OrderProcessor BPELプロセスの前半の作成」では、OrderProcessor
BPELプロセスを作成しました。 このプロセスのCheckIfRequiresApproval
スイッチでは、ヒューマン・タスクを使用して、「ApprovalHumanTask
」human taskアクティビティに制御を渡します。 このhuman taskアクティビティを使用すると、jstein
というマネージャが、合計金額$2,000を超える注文を承認または却下できるようになります。この章では、jstein
用のタスク・フォームを作成します。
この章の内容は次のとおりです。
タスク・フォームは、jstein
がApprovalHumanTask
ヒューマン・タスクと対話するための手段となります。タスク・フォームには、ユーザーのワークリストにタスクの内容が表示されます。 第2章で前述したように、Fusion Order Demoをデプロイして実行する際に、Oracle BPM Worklistを使用して、すべてのワークリスト・タスクを表示し、合計金額が$2,000を超える注文を承認または却下できます。
Oracle JDeveloperでOracle Application Development Framework(Oracle ADF)を使用して、タスク・フォームを作成します。Oracle ADFを使用すると、SOAコンポジットでヒューマン・タスクを表現するタスク表示フォームを設計できます。
タスク・フォームは、WebLogicFusionOrderDemo
アプリケーションの新規プロジェクトで作成するJava Server Page XML(.jspx
)ファイルです。 図9-1に、サンプル・ワークリストを示します。
ヒューマン・タスクに基づいてタスク・フォームを作成する場合、Oracle JDeveloperではタスクフロー作成中に次の処理が実行されます。
タスク・パラメータおよび結果に基づいてデータ・コントロールを作成する
ペイロードを含む初期タスク・フォームを作成する
ApprovalHumanTask
ヒューマン・タスクに基づいてタスク・フォームを作成する手順は、次のとおりです。
SOAコンポジット・アプリケーション内でOrderProcessor
BPELプロセスを開きます。
「Scope_CheckApprovalLimit」スコープまでスクロールして開きます。
シーケンスを開きます。
次の図に示すように、「ApprovalHumanTask_1」human taskアクティビティを右クリックし、「タスク・フォームの自動生成」を選択します。
「プロジェクトの作成」ダイアログが表示されます。
プロジェクト名にOrderApprovalHumanTask
と入力し、「OK」をクリックします。
「ApprovalHumanTask_TaskFlow.xml」タブにはタスク・フロー定義が表示され、「taskDetails1.jspx」タブにはペイロードを含むJSPページが表示されます。
ADF Business Componentsサービス・ランタイム・ライブラリを追加する手順は、次のとおりです。
アプリケーション・ナビゲータで、「OrderApprovalHumanTask」を右クリックして「プロジェクト・プロパティ」を選択します。
「ライブラリとクラスパス」を選択し、「ライブラリとクラスパス」ページで「ライブラリの追加」をクリックします。
「ライブラリの追加」ダイアログで、「BC4Jサービス・ランタイム」を選択して「OK」をクリックします。
「ライブラリとクラスパス」ページで「OK」をクリックします。
タスク・フォームの「コンテンツ」showDetailHeaderでStoreFrontService
サービスからの入力を提供する手順は、次のとおりです。
StoreFrontService
サービスのデータ・コントロールを追加します。
アプリケーション・ナビゲータで、「OrderApprovalHumanTask」プロジェクトを右クリックして「新規」を選択します。
「新規ギャラリ」ダイアログで「すべてのテクノロジ」タブをクリックします。
「カテゴリ」ツリーで、「ビジネス層」、「データ・コントロール」の順に選択します。
「Webサービス・データ・コントロール」を選択して「OK」をクリックします。
「Webサービス・データ・コントロールの作成 - ステップ1/5」ページが表示されます。
「名前」フィールドにStoreFrontService
と入力します。
「URL」フィールドで「参照」をクリックし、MY_FOD_HOME
\CompositeServices\OrderBookingComposite\services\oracle\fodemo\storefront\store\service\common\serviceinterface
にあるStoreFrontService.wsdl
を選択します。
様々な面で、このプロセスはSOAコンポジット・エディタでサービスへの参照を作成するプロセスに似ています。
「Webサービス・データ・コントロールの作成 - ステップ1/5」ページで「次へ」をクリックします。
「Webサービス・データ・コントロールの作成 - ステップ2/5」ページで、「選択可能」リストから「getOrderInfoVOSDO」操作を選択し、「追加」ボタンをクリックします。 「次へ」をクリックしてウィザードの次のページに進みます。
「Webサービス・データ・コントロールの作成 - ステップ3/5」ページで、デフォルトを受け入れて「終了」をクリックします。
アプリケーション・ナビゲータの「データ・コントロール」パネルに「StoreFrontService」データ・コントロールが表示されます。
アプリケーション・ナビゲータの「データ・コントロール」パネルで、「StoreFrontService」→「getOrderInfoVOSDO」→「RETURN」→「result」の順に開き、フォームに組み込めるデータ・コントロールを表示します。
taskDetails1.jpsxページで、「CONTENTS」の「showDetailHeader」を選択し、メニューから「このコンテナの設計」を選択します。
「CONTENTS」の「showDetailHeader」を選択したまま、メニューからShow Detail Headerの公開を選択します。
「CONTENTS」ヘッダーは、注文IDが含まれることを示しています。
「orderID」入力ラベルを含む「panelFormLayout」を選択し、「Enter」をクリックします。
次の図は、panelgroupLayoutが選択されている状態を示しています。
「Enter」をクリックすると、新しいラベルが表示されます。
StoreFrontService
サービスからタスク・フォームにパラメータを追加します。
アプリケーション・ナビゲータの「データ・コントロール」パネルで、「結果」アイコンを空の入力フィールドにドラッグします。
次の図に示すように、「作成」メニューから「フォーム」を選択し、「ADF読取り専用フォーム」を選択します。
「ApprovalHumanTask_ApprovalHumanTask」データ・コントロールが選択された状態で、「アクションの編集」ダイアログが表示されます。
「フォーム・フィールドの編集」ダイアログで、次を除くすべてのフィールドを選択して「削除」アイコンをクリックします。
- OrderStatusCode
- OrderTotal
- ShipToName
- ShipToPhoneNumber
- Address1
- Address2
- City
- PostalCode
- StateProvince
- CountyId
「フォーム・フィールドの編集」ダイアログは次の図のようになります。
「OK」をクリックします。
「StoreFrontService」データ・コレクションが選択された状態で「アクションの編集」ダイアログが表示されます。
「パラメータ」セクションの「値」フィールドで、「EL式ビルダーの表示」を選択します。
「変数」ダイアログが表示されます。
「ADFバインディング」→「bindings」の順に開き、「orderId」を選択し、「OK」を選択します。
「アクションの編集」ダイアログで、「OK」をクリックします。
「CONTENTS」ヘッダーに選択した入力パラメータが表示されます。
「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。
OrderApprovalHumanTask
フォームをデプロイする手順は、次のとおりです。
アプリケーション・ナビゲータで、「OrderApprovalHumanTask」を右クリックし、「デプロイ」→「OrderApprovalHumanTask」→「デプロイ先」→「MyAppServerConnection」の順に選択します。
「SOAデプロイメントと構成ダイアログ」が表示されます。
デフォルト設定を受け入れて「OK」をクリックします。
「認証リクエスト」ダイアログのプロンプトに対して、「Username
」フィールドにweblogic
と入力し、「Password
」フィールドにパスワードを入力します。
「SOA - ログ」に、一連の検証に続いて次のように表示されます。
BUILD SUCCESSFUL
Total time: nn seconds