ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suiteアプリケーションの作成および実行のためのチュートリアル
11g リリース1(11.1.1)
B56240-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

9 ApprovalHumanTaskヒューマン・タスクに対するタスク表示フォームの作成

第5章「OrderProcessor BPELプロセスの前半の作成」では、OrderProcessor BPELプロセスを作成しました。 このプロセスのCheckIfRequiresApprovalスイッチでは、ヒューマン・タスクを使用して、「ApprovalHumanTask」human taskアクティビティに制御を渡します。 このhuman taskアクティビティを使用すると、jsteinというマネージャが、合計金額$2,000を超える注文を承認または却下できるようになります。この章では、jstein用のタスク・フォームを作成します。

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

9.1 タスク・フォームの概要

タスク・フォームは、jsteinApprovalHumanTaskヒューマン・タスクと対話するための手段となります。タスク・フォームには、ユーザーのワークリストにタスクの内容が表示されます。 第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に、サンプル・ワークリストを示します。

図9-1 Oracle BPM Worklistのタスク・フォーム

図9-1の説明は次にあります。
「図9-1 Oracle BPM Worklistのタスク・フォーム」の説明

9.2 タスク1: ApprovalHumanTaskヒューマン・タスク用の新規タスク・フォームの作成

ヒューマン・タスクに基づいてタスク・フォームを作成する場合、Oracle JDeveloperではタスクフロー作成中に次の処理が実行されます。

ApprovalHumanTaskヒューマン・タスクに基づいてタスク・フォームを作成する手順は、次のとおりです。

  1. SOAコンポジット・アプリケーション内でOrderProcessor BPELプロセスを開きます。

  2. 「Scope_CheckApprovalLimit」スコープまでスクロールして開きます。

  3. シーケンスを開きます。

  4. 次の図に示すように、「ApprovalHumanTask_1」human taskアクティビティを右クリックし、「タスク・フォームの自動生成」を選択します。

    autogentask.gifの説明は次にあります。
    図版autogentask.gifの説明

    「プロジェクトの作成」ダイアログが表示されます。

  5. プロジェクト名にOrderApprovalHumanTaskと入力し、「OK」をクリックします。

    「ApprovalHumanTask_TaskFlow.xml」タブにはタスク・フロー定義が表示され、「taskDetails1.jspx」タブにはペイロードを含むJSPページが表示されます。

    taskform.gifの説明は次にあります。
    図版taskform.gifの説明

9.3 タスク2: プロジェクトへのADF Business Componentsサービス・ランタイム・ライブラリの追加

ADF Business Componentsサービス・ランタイム・ライブラリを追加する手順は、次のとおりです。

  1. アプリケーション・ナビゲータで、「OrderApprovalHumanTask」を右クリックして「プロジェクト・プロパティ」を選択します。

  2. 「ライブラリとクラスパス」を選択し、「ライブラリとクラスパス」ページで「ライブラリの追加」をクリックします。

  3. 「ライブラリの追加」ダイアログで、「BC4Jサービス・ランタイム」を選択して「OK」をクリックします。

  4. 「ライブラリとクラスパス」ページで「OK」をクリックします。

9.4 タスク3: タスク・フォームのコンテンツの作成

タスク・フォームの「コンテンツ」showDetailHeaderでStoreFrontServiceサービスからの入力を提供する手順は、次のとおりです。

  1. StoreFrontServiceサービスのデータ・コントロールを追加します。

    1. アプリケーション・ナビゲータで、「OrderApprovalHumanTask」プロジェクトを右クリックして「新規」を選択します。

    2. 「新規ギャラリ」ダイアログで「すべてのテクノロジ」タブをクリックします。

    3. 「カテゴリ」ツリーで、「ビジネス層」「データ・コントロール」の順に選択します。

    4. 「Webサービス・データ・コントロール」を選択して「OK」をクリックします。

      「Webサービス・データ・コントロールの作成 - ステップ1/5」ページが表示されます。

    5. 「名前」フィールドにStoreFrontServiceと入力します。

    6. 「URL」フィールドで「参照」をクリックし、MY_FOD_HOME\CompositeServices\OrderBookingComposite\services\oracle\fodemo\storefront\store\service\common\serviceinterfaceにあるStoreFrontService.wsdlを選択します。

      様々な面で、このプロセスはSOAコンポジット・エディタでサービスへの参照を作成するプロセスに似ています。

    7. 「Webサービス・データ・コントロールの作成 - ステップ1/5」ページで「次へ」をクリックします。

    8. 「Webサービス・データ・コントロールの作成 - ステップ2/5」ページで、「選択可能」リストから「getOrderInfoVOSDO」操作を選択し、「追加」ボタンをクリックします。 「次へ」をクリックしてウィザードの次のページに進みます。

    9. 「Webサービス・データ・コントロールの作成 - ステップ3/5」ページで、デフォルトを受け入れて「終了」をクリックします。

      アプリケーション・ナビゲータの「データ・コントロール」パネルに「StoreFrontService」データ・コントロールが表示されます。

    10. アプリケーション・ナビゲータの「データ・コントロール」パネルで、「StoreFrontService」「getOrderInfoVOSDO」「RETURN」「result」の順に開き、フォームに組み込めるデータ・コントロールを表示します。

      datacontrol2.gifの説明は次にあります。
      図版datacontrol2.gifの説明

  2. taskDetails1.jpsxページで、「CONTENTS」の「showDetailHeader」を選択し、メニューから「このコンテナの設計」を選択します。

  3. 「CONTENTS」の「showDetailHeader」を選択したまま、メニューからShow Detail Headerの公開を選択します。

    disclose.gifの説明は次にあります。
    図版disclose.gifの説明

    「CONTENTS」ヘッダーは、注文IDが含まれることを示しています。

    disclose2.gifの説明は次にあります。
    図版disclose2.gifの説明

  4. 「orderID」入力ラベルを含む「panelFormLayout」を選択し、「Enter」をクリックします。

    次の図は、panelgroupLayoutが選択されている状態を示しています。

    contents.gifの説明は次にあります。
    図版contents.gifの説明

    「Enter」をクリックすると、新しいラベルが表示されます。

    contents2.gifの説明は次にあります。
    図版contents2.gifの説明

  5. StoreFrontServiceサービスからタスク・フォームにパラメータを追加します。

    1. アプリケーション・ナビゲータの「データ・コントロール」パネルで、「結果」アイコンを空の入力フィールドにドラッグします。

    2. 次の図に示すように、「作成」メニューから「フォーム」を選択し、「ADF読取り専用フォーム」を選択します。

      returndetails.gifの説明は次にあります。
      図版returndetails.gifの説明

      「ApprovalHumanTask_ApprovalHumanTask」データ・コントロールが選択された状態で、「アクションの編集」ダイアログが表示されます。

    3. 「フォーム・フィールドの編集」ダイアログで、次を除くすべてのフィールドを選択して「削除」アイコンをクリックします。

      - OrderStatusCode

      - OrderTotal

      - ShipToName

      - ShipToPhoneNumber

      - Address1

      - Address2

      - City

      - PostalCode

      - StateProvince

      - CountyId

      「フォーム・フィールドの編集」ダイアログは次の図のようになります。

      editform.gifの説明は次にあります。
      図版editform.gifの説明

    4. 「OK」をクリックします。

      「StoreFrontService」データ・コレクションが選択された状態で「アクションの編集」ダイアログが表示されます。

    5. 「パラメータ」セクションの「値」フィールドで、「EL式ビルダーの表示」を選択します。

      「変数」ダイアログが表示されます。

    6. 「ADFバインディング」「bindings」の順に開き、「orderId」を選択し、「OK」を選択します。

      adfbindings.gifの説明は次にあります。
      図版adfbindings.gifの説明

    7. 「アクションの編集」ダイアログで、「OK」をクリックします。

      「CONTENTS」ヘッダーに選択した入力パラメータが表示されます。

      contents3.gifの説明は次にあります。
      図版contents3.gifの説明

  6. 「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。

9.5 タスク4: OrderApprovalHumanTaskタスク・フォームのデプロイ

OrderApprovalHumanTaskフォームをデプロイする手順は、次のとおりです。

  1. アプリケーション・ナビゲータで、「OrderApprovalHumanTask」を右クリックし、「デプロイ」「OrderApprovalHumanTask」→「デプロイ先」→「MyAppServerConnection」の順に選択します。

    「SOAデプロイメントと構成ダイアログ」が表示されます。

  2. デフォルト設定を受け入れて「OK」をクリックします。

  3. 「認証リクエスト」ダイアログのプロンプトに対して、「Username」フィールドにweblogicと入力し、「Password」フィールドにパスワードを入力します。

    「SOA - ログ」に、一連の検証に続いて次のように表示されます。

    BUILD SUCCESSFUL
    Total time: nn seconds