ヘッダーをスキップ
Oracle SOA Suite開発者ガイド
10g(10.1.3.1.0)
B31839-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

7.12 ヒューマン・ワークフロー・タスクの作成

ヒューマン・ワークフロー・タスクを使用すると、エンドツーエンドのプロセス・フロー内で、人的な相互作用とシステムやサービスの接続性とを組み合せることができます。図7-29に示すように、ヒューマン・ワークフローは他のWebサービスと同様に、WSDLを介してBPELプロセスにリンクされます。プロセスは、タスクをユーザーまたはロールに割り当て、レスポンスを待機します。ユーザーは、Oracle BPELワークリスト・アプリケーション(ワークリスト・アプリケーション)を使用してタスクを操作します。

図7-29 Oracle BPEL Process Managerにおけるヒューマン・ワークフロー

ワークフロー・サービスの概念図
「図7-29 Oracle BPEL Process Managerにおけるヒューマン・ワークフロー」の説明

ワークフロー・サービスの機能は、次のとおりです。

7.12.1 ヒューマン・ワークフロー・タスクの作成方法

human taskアクティビティとヒューマン・タスク・エディタを使用して、ヒューマン・ワークフロー・タスクを作成します。ヒューマン・タスク・エディタに入力した内容は、human_task_name.taskファイルに保存されます。

ヒューマン・ワークフロー・タスクを作成する手順は、次のとおりです。

  1. 「Human Task」アクティビティをBPELプロセスにドラッグ・アンド・ドロップします。

  2. 「タスク定義の作成」アイコン(図7-30を参照)をクリックします。

    図7-30 タスク定義の作成

    図7-30の説明は次にあります。
    「図7-30 タスク定義の作成」の説明

  3. ヒューマン・タスク名を入力し、「OK」をクリックします。

  4. ヒューマン・タスク・エディタを使用して、タスクを構成します。

    1. タイトルを入力します。

    2. 優先度を選択します。

    3. 懐中電灯アイコンを使用して検索し、結果を選択します。

    4. タスク所有者の名前を入力するか、懐中電灯アイコンまたは「式ビルダー」アイコンを使用してタスク所有者を指定します。

  5. 図7-31に示すように、ヒューマン・タスク・エディタの「パラメータ」セクションで、パラメータを指定します。

    図7-31 ヒューマン・タスクの作成: パラメータ

    図7-31の説明は次にあります。
    「図7-31 ヒューマン・タスクの作成: パラメータ」の説明

    1. ウィンドウの右側にある「+」アイコンをクリックします。

    2. 「パラメータの追加」ダイアログで、「要素」をクリックし、次に懐中電灯アイコンをクリックします。

    3. 「タイプの選択」ウィンドウで、「プロジェクトのスキーマ・ファイル」ノードおよび「XSDファイル」ノードを開き、必要なパラメータを検索します。

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

  6. 図7-32に示すように、ヒューマン・タスク・エディタの「割当ておよびルーティング・ポリシー」セクションで、参加者情報を指定します。

    図7-32 ヒューマン・タスクの作成: 割当ておよびルーティング・ポリシー

    図7-32の説明は次にあります。
    「図7-32 ヒューマン・タスクの作成: 割当ておよびルーティング・ポリシー」の説明

    1. ウィンドウの右側にある「+」アイコンをクリックします。

    2. 「参加者タイプの追加」ダイアログで、「単一の承認者」「グループ投票」「管理チェーン」「単一の承認者のリスト」「FYI割当て先」および「外部ルーティング・サービス」から選択します。

    3. 参加者タイプのラベル(「承認マネージャ」など)を入力します。

    4. タスクを操作する必要があるユーザーまたはグループを指定します。

    5. 条件を満たす場合はスキップする参加者を指定します。

    6. 「詳細」セクションを開き、タスクの期間を制限したり、参加者による他の参加者の招待を許可します。

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

    8. (オプション)「全参加者による他の参加者の招待を許可」または「条件付き中途完了の有効化」を選択します。

  7. 図7-33に示すように、「有効期限およびエスカレーション・ポリシー」セクションで、「期限切れなし」「期限切れまでの時間」「期限更新までの時間」または「エスカレートまでの時間」から選択し、適切なパラメータを指定します。

    図7-33 ヒューマン・タスクの作成: 有効期限およびエスカレーション・ポリシー

    図7-33の説明は次にあります。
    「図7-33 ヒューマン・タスクの作成: 有効期限およびエスカレーション・ポリシー」の説明

  8. 図7-34に示すように、「通知設定」セクションで、ユーザーにタスクを割り当てる方法、またはタスク・ステータスが変化したことをユーザーに通知する方法を指定します。

    図7-34 ヒューマン・タスクの作成: 通知設定

    図7-34の説明は次にあります。
    「図7-34 ヒューマン・タスクの作成: 通知設定」の説明

    1. いずれかのタスク・ステータス・タイプ(「割当て」「完了」「エラー」「期限切れ」「情報のリクエスト」「結果の更新」「一時停止」または「取消」)を選択します。

      「割当て」タスク・ステータスは、順序リストでユーザーまたは新規ユーザーに割り当てられたタスクに対して、または期限更新、委任、再割当てまたはエスカレートされたタスクに対して使用します。あるいはタスクの情報が発行された場合に使用します。

    2. いずれかの通知メッセージ受信者(「割当て先」「起案者」(タスクの作成者)、「承認者」または「所有者」)を選択します。

    3. 「編集」アイコンをクリックし、デフォルトの通知メッセージ・テキストを変更します。

      このメッセージは、通知(電子メール、ボイス、FAX、ポケットベルまたはSMS)を作成すると、選択した通知チャネルに適用されます。電子メールおよびFAXメッセージには、このメッセージに定義したワークリスト・タスク詳細も挿入できます。

  9. 図7-35に示すように、「詳細設定」セクションで、カスタム・エスカレーション・ルール、添付用のカスタム・スタイル・シート、多言語設定、カスタム・タスク・アクションとエラー・メッセージ、コールバック・クラスなどの詳細設定を指定します。

    図7-35 ヒューマン・タスクの作成: 詳細設定

    図7-35の説明は次にあります。
    「図7-35 ヒューマン・タスクの作成: 詳細設定」の説明

詳細は、『Oracle BPEL Process Manager開発者ガイド』の次の項目に関する説明を参照してください。

  • セキュアな通知の送信

  • アクション可能な電子メールの送信

  • インバウンドおよびアウトバウンド添付の送信

  • 詳細設定の指定

7.12.2 ヒューマン・ワークフロー・タスク作成時の処理内容

ヒューマン・タスク・エディタで指定したヒューマン・タスク設定は、メタデータ・タスク構成ファイルに格納されます。この.taskファイルは、アプリケーション・ナビゲータのBPELプロジェクトの「インテグレーション・コンテンツ」ディレクトリの下に表示されます(図7-36を参照)。

図7-36 ヒューマン・タスク.taskファイル

図7-36の説明は次にあります。
「図7-36 ヒューマン・タスク.taskファイル」の説明

図7-37に示すように、SOA Order Bookingアプリケーションでは、ヒューマン・ワークフロー・タスク(ApproveOrder)を作成すると、ApproveOrder.taskファイルが生成されます。「ApproveOrder」タスクは、「requiresApproval」switchアクティビティの一部です。このワークフローによって、マネージャは、「Gold」ステータスの顧客による$1,000以上の注文を承認または却下できます。

図7-37 ApproveOrderヒューマン・ワークフロー

図7-37の説明は次にあります。
「図7-37 ApproveOrderヒューマン・ワークフロー」の説明

7.12.3 ヒューマン・ワークフロー・タスクに対する入出力パラメータの割当て方法

式ビルダーを使用して、各フィールドをBPELプロセス変数にマップします。

入出力パラメータを割り当てる手順は、次のとおりです。

  1. 以前に作成したhuman taskアクティビティをダブルクリックします。

  2. 「ヒューマン・タスクの追加」ダイアログを使用して、BPELプロセスへのヒューマン・ワークフロー・タスクの関連付けを完成します。

    1. タスク・タイトルを手動で入力するか、式ビルダーを使用してタイトルを動的に作成します。

      これは必須フィールドです。この入力によって、ヒューマン・タスク・エディタの「タイトル」フィールドに入力したタスク・タイトルが上書きされます。このタイトルは、ワークリスト・アプリケーションに表示されます。

    2. タスクの起案者を手動で入力するか、式ビルダーを使用します。

      起案者は、ワークリスト・アプリケーションを使用して、作成したタスクを表示したり、リクエストの承認または却下などのアクションを実行できます。起案者が指定されていない場合は、「Human Task」ダイアログの「詳細」タブで指定したタスク所有者にデフォルト設定されます。タスク所有者も指定されていない場合、起案者は「bpeladmin」にデフォルト設定されます。

    3. 「優先度」リストから「1」(最高)から「5」の優先度値を選択します。

      これはユーザーが参照するためのフィールドで、実行時にこのタスクの優先度が高くなるわけではありません。

    4. 「BPEL変数」列の懐中電灯アイコンをクリックし、タスク・パラメータをBPEL変数にマップします。

      入力データを保持するタスク・パラメータのみをマップする必要があります。ワークリスト・アプリケーションから渡される出力データについては、対応する変数をマップする必要はありません。

    5. 「変数」ナビゲーション・ツリーを開き、適切なタスク変数を選択します。

    6. 図7-38に示すように、「Human Task」ダイアログで「適用」をクリックします。

      図7-38 「Human Task」ダイアログ

      図7-38の説明は次にあります。
      「図7-38 「Human Task」ダイアログ」の説明

  3. 「Human Task」ダイアログの「詳細」タブを使用して、スコープ名、グローバル・タスク変数名、タスク所有者、識別キーおよびその他の詳細設定を指定します(オプション)。

次の詳細設定については、『Oracle BPEL Process Manager開発者ガイド』を参照してください。

  • スコープ名およびグローバル・タスク変数名の指定

  • タスク所有者の指定

  • 識別キー(ユーザー定義のタスクID)の指定

  • 他のヒューマン・ワークフロー・タスクのタスク履歴の挿入

  • BPELコールバックでのタスクおよびルーティングのカスタマイズの許可

7.12.4 タスク表示フォームの生成方法

タスク表示フォームは、タスク・ペイロードをワークリスト・アプリケーションに表示する方法を定義します。タスク表示フォームはテンプレートを使用して生成されます。Oracle JDeveloperには、3種類のテンプレートと2種類のデフォルトJSPがあります。

3種類のテンプレートは、次のとおりです。

  • 3つのリージョンのJSP: ヘッダー、本文およびフッターの各リージョンで構成されます。これらのリージョンは、カスタムJSP、カスタムXSL、デフォルトのJSPまたは自動生成されたJSPを使用して表示できます。自動生成のJSPには本文リージョンが表示されます。

  • 2つのリージョンのJSP: ヘッダーおよびフッターの各リージョンで構成されます。

  • 1つのリージョンのJSP: 本文リージョンで構成されます。

2種類のデフォルトJSPは、次のとおりです。

  • ヘッダーJSP: タスク番号、優先度、タイトルなどのタスク属性を表示します。

  • フッターJSP: 添付、コメントなどのタスク属性を表示します。

詳細は、『Oracle BPEL Process Manager開発者ガイド』の次の項目に関する説明を参照してください。

  • カスタム・タスク表示フォームの生成

  • ADFデータ・コントロールでのタスク表示フォームの生成

  • カスタムJSPフォームの作成

単純なタスク表示フォームを生成する手順は、次のとおりです。

  1. タスク表示フォームを必要とするヒューマン・ワークフロー・タスク(たとえば、SOA Order Bookingアプリケーションの「ApproveOrder」タスク)のフォルダを右クリックします。

  2. 「単純タスク・フォームの自動生成」を選択します。

    3つのリージョンのテンプレートで単純タスク・フォームが生成されます。ヘッダー・リージョンはHeader1.jspファイルを使用して表示されます。フッター・リージョンはFooter1.jspファイルを使用して表示されます。本文リージョンはペイロードに基づいてpayload-body.jspファイルを使用して表示されます。

  3. タブの「X」をクリックしてpayload-body.jspを閉じます。

7.12.5 タスク表示フォーム生成時の処理内容

タスク表示フォームを生成すると、.tformファイルが作成されます。このファイルには、テンプレートのURIおよびリージョン情報が格納されます。ワークフロー・タスク表示フォームは、deployForm antターゲットを使用してデプロイされます。このターゲットは、BPELプロセスをデプロイする際に実行されます。ターゲットによってEARファイルが生成されます。このEARファイルには、生成されたデフォルトJSPまたはカスタムJSPすべてが格納されます。生成されたEARファイルは、Oracle BPEL Process Managerアプリケーションの子としてデプロイされます。

例7-14に、SOA Order BookingアプリケーションのApproveOrder_Display.tformファイルのソース・コードを示します。

例7-14 タスク表示フォームApproveOrder_Display.tformのソース・コード

<?xml version = '1.0' encoding = 'UTF-8'?>
<taskDisplay targetNamespace="http://xmlns.companyABC.com/workflow/orderTaskDisplay"
 generateInternationlizedJSP="false" xmlns:po="http://xmlns.oracle.com/bpel/workflowApproveOrder"
 xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
 xmlns="http://xmlns.oracle.com/bpel/workflow/taskDisplay">
   <taskDefinitionId>${domain_id}_${process_id}_${process_revision}_ApproveOrder</taskDefinitionId>
   <applicationName>worklist</applicationName>
   <templateName>ThreeRegionJSP</templateName>
   <template>${http_url}/${domain_id}/${process_id}/${process_revision}/
     ApproveOrder/ApproveOrder.jsp</template>
   <regions>
      <defaultJSP regionName="Header">
         <jspURI>Header1.jsp</jspURI>
      </defaultJSP>
      <autoGeneratedJSP regionName="Body" editable="true">
         <jspURI>payload-body.jsp</jspURI>
         <messageAttribute editable="false">PurchaseOrder</messageAttribute>
      </autoGeneratedJSP>
      <defaultJSP regionName="Footer">
         <jspURI>Footer1.jsp</jspURI>
      </defaultJSP>
   </regions>
</taskDisplay>

7.12.6 ワークリスト・アプリケーションへのログイン方法

ワークリスト・アプリケーションでは、ブラウザ・インタフェースを使用して、割り当てられたヒューマン・ワークフロー・タスクをユーザーが操作できるようにします。Internet Explorer 6.0またはMozilla Firefox 1.0.4を使用して、ワークフロー・アプリケーションにアクセスします。

ワークリスト・アプリケーションの詳細は、『Oracle BPEL Process Manager開発者ガイド』を参照してください。

ワークリスト・アプリケーションにログインする手順は、次のとおりです。

  1. Webブラウザを開きます。

  2. 次のURLに移動します。

    http://hostname:portnumber/integration/worklistapp/Login
    
    
    • hostnameには、Oracle BPEL Process Managerがインストールされているホストの名前を指定します。

    • インストール時に使用されたportnumber(通常は8888)は、次のディレクトリにあるbpelsetupinfo.txtに記載されています。

      SOA_Oracle_Home\install\
      
      

    または、「スタート」「すべてのプログラム」「Oracle - Oracle - soademo」「Oracle BPEL Process Manager」「Worklist Application」の順に選択することもできます。

  3. ユーザー名とパスワードを入力し、「ログイン」をクリックします。

    jcooperwelcome1を使用してログインできます。

7.12.7 実行時の処理内容

「ApproveOrder」プロセスがSOA Order Bookingアプリケーションの一部として実行されている場合、プロセスは、レスポンスを待機(つまり、注文に対するマネージャの承認を待機)している開始済アクティビティとして、Oracle BPEL Controlに表示されます。マネージャは、ワークリスト・アプリケーションを使用してリクエストを承認または却下します。ログイン後、マネージャはタスクのリストを参照し、タスク・タイトル(Approve Order)をクリックし、タスクを申告して承認または却下します。第7.12.4項「タスク表示フォームの生成方法」および図7-39に記載されているように、タスク詳細は、タスク表示フォームを使用して表示されます。

図7-39 「Approve Order」タスクのワークリスト・アプリケーション

図7-39の説明は次にあります。
「図7-39 「Approve Order」タスクのワークリスト・アプリケーション」の説明

マネージャが注文を承認すると、メッセージがBPELフローに返信されます。マネージャが注文を却下すると、プロセスによって注文が取り消されます。