ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド
11g リリース1(11.1.1.5.0)
B61409-03
  目次へ移動
目次

前
 
次
 

14 ヒューマン・タスクの使用

この章では、ヒューマン・タスクを使用してBPMNユーザー・タスクを実装する方法を説明します。SOAヒューマン・タスク・エディタを使用して作成された既存のヒューマン・タスク・コンポーネントを使用するか、Oracle BPM Studio付属の簡易インタフェースを使用して新規のヒューマン・タスクを作成できます。

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

ヒューマン・タスクの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

14.1 BPMのヒューマン・タスクの概要

ユーザー・タスクを実装する際、ヒューマン・タスクを定義する必要があります。既存のヒューマン・タスクを使用するか、新しいヒューマン・タスクを定義できます。

プロジェクトにヒューマン・タスクが含まれている場合、ビジネス・カタログのHumanTasks事前定義済モジュールに自動的に表示されます。

新規のヒューマン・タスクをプロジェクトに追加するには、次の方法があります。

ビジネス・カタログでヒューマン・タスク・コンポーネントをダブルクリックすると、Oracle BPM StudioによりSOAヒューマン・タスク・エディタが開かれます。このエディタを使用してヒューマン・タスクを編集できます。

図14-1は、営業見積サンプルのヒューマン・タスク・コンポーネントを示しています。

Oracle SOA Suiteを使用したヒューマン・タスクの定義方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

図14-1 ビジネス・カタログ内のヒューマン・タスク・コンポーネント

図14-1の説明が続きます
「図15-3 図14-1 ビジネス・カタログ内のヒューマン・タスク・コンポーネント」の説明

実行時に、トークンがユーザー・タスクに到達すると、制御がBPMNプロセスからOracle Human Workflowに渡されます。両方ともOracle BPMランタイムの一部ですが、ヒューマン・タスクが完了するまで、制御はBPMNプロセスに戻されません。

ワークフローが完了すると、制御はBPMNプロセスに渡され、必要なデータ・オブジェクトがユーザー・タスクに戻されて、トークンはプロセスの次のシーケンス・フローに移動します。

ただし、ヒューマン・タスクはBPMNプロセスから独立しています。ユーザー・タスクの実行中にBPMNプロセスを終了した場合でも、関連するヒューマン・タスクの実行は独立して続行されます。詳細は、23.1.1項「SOAコンポジットとSOAコンポーネント間の関係の理解」を参照してください。

ヒューマン・タスクが完了する前にプロセス・インスタンスがユーザー・タスクを離れても、そのヒューマン・タスクの実行は続行され、このタスクへのアクセスは依然として可能です。これは、ヒューマン・タスクがBPMNプロセスから独立しているためです。プロセス・インスタンスが対応するユーザー・タスクを離れた後に、ヒューマン・タスクに変更を行った場合、その変更は監査証跡には現れません。


注意:

BPMでヒューマン・タスクを定義すると、コールバックが暗黙的に定義されます。

14.1.1 一般的な設計ワークフロー

Oracle BPMでのヒューマン・タスクの作業には、2つの方法があります。

  • SOAヒューマン・タスク・エディタを使用したヒューマン・タスクの作成

  • Oracle BPM付属の簡易インタフェースを使用したヒューマン・タスクの作成

作業方法は、作業の計画内容、チーム内の開発者間の作業の分担方法、および開発するヒューマン・タスクの複雑さを考慮して決定します。


注意:

Oracle BPM Suiteを使用してヒューマン・タスクを作成する場合、enableAutoClaimプロパティはデフォルトでtrueに設定されます。

SOAヒューマン・タスク・エディタを使用してヒューマン・タスクを作成する場合の手順には次のものが含まれます。

  • SOAヒューマン・タスクを使用したヒューマン・タスクの作成

  • SOA Suiteを使用した対応するタスクフローの作成

  • ユーザー・タスクを使用するBPMNプロセスの作成

  • 定義済ヒューマン・タスクを使用したBPMNプロセスのユーザー・タスクの実装

Oracle BPMヒューマン・タスク・エディタを使用してヒューマン・タスクを作成する場合の手順には次のものが含まれます。

  • BPMNプロセスの作成

  • ユーザー・タスクの追加。ユーザー・タスク実装プロパティ・ダイアログからヒューマン・タスクを作成します。

  • SOA Suiteを使用した対応するタスクフローの作成

14.2 既存のヒューマン・タスクのユーザー・タスクへの割当て

SOAヒューマン・タスク・エディタを使用してヒューマン・タスクを作成し、そのヒューマン・タスクをユーザー・タスクの実装に割り当てられます。

また、BPMプロセスのデータ・オブジェクトがヒューマン・タスクの入力および出力引数にどのようにマッピングされるかを定義する必要があります。これには、データ・アソシエーションまたは変換を使用できます。データ・アソシエーションおよび変換の詳細は、第8章「プロセス設計の情報の扱い」を参照してください。

14.2.1 既存のヒューマン・タスクのユーザー・タスクへの割当ての手順

ユーザー・タスクを実装するには、別のユーザー・タスク用に作成した既存のヒューマン・タスクを使用するか、またはSOAヒューマン・タスク・エディタを使用します。

既存のヒューマン・タスクをユーザー・タスクに割り当てるには:

  1. BPMNプロセスを開きます。

  2. ユーザー・タスクを右クリックします。

  3. 「プロパティ」を選択します。

    「プロパティ - ユーザー・タスク」ダイアログが表示されます。

  4. 「実装」タブをクリックします。

  5. 「ヒューマン・タスク」フィールドの隣の「参照」ボタンをクリックします。

    「ヒューマン・タスクの参照」ダイアログが表示されます。

  6. リストからヒューマン・タスクを選択します。

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

    「ヒューマン・タスクの参照」ダイアログが閉じ、「ヒューマン・タスク」フィールドに選択したヒューマン・タスクが表示されます。

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

14.2.2 既存のヒューマン・タスクのユーザー・タスクへの割当て時に行われる処理

ユーザー・タスクの実装に、既存のヒューマン・タスクが使用されます。

SOAコンポジットは、BPMNプロセスとヒューマン・タスクの間にワイヤを追加し、その関係を表示します。

BPMNサービス・エンジンがユーザー・タスクの実装を実行する際、ユーザー・タスクのデータ・アソシエーションに定義されているパラメータを使用してヒューマン・ワークフロー・サービスを起動します。ヒューマン・ワークフロー・サービスがヒューマン・タスクの実行を完了すると、定義済のデータ・アソシエーションを使用して結果をBPMNサービス・エンジンに渡します。

14.2.3 プロセス・ペイロードをヒューマン・タスク・ペイロードに関連付ける方法

プロセス・ペイロードをヒューマン・タスク・ペイロードに関連付けるには、BPMNプロセスでヒューマン・タスク、ユーザー・タスク・イベントおよび開始イベントを構成し、ペイロードxsdファイルに基づいてビジネス・オブジェクトを作成する必要があります。

プロセス・ペイロードをヒューマン・タスク・ペイロードに関連付けるには:

  1. 「外部スキーマに基づく」オプションを使用してビジネス・オブジェクトを作成します。

    1. モジュールを右クリックします。

    2. 「新規」「ビジネス・オブジェクト」の順に選択します。

    3. 「外部スキーマに基づく」を選択します。

    4. 「参照」ボタンをクリックします。

    5. 「プロジェクトにコピー」を選択します。

    6. 「リソースの参照」をクリックします。

      「タイプ・チューザ」ダイアログが開きます。

    7. ペイロードxsdファイルからビジネス・オブジェクトのタイプを選択します。

  2. BPMNプロセスで開始イベントを編集します。

  3. そのタイプとして作成したビジネス・オブジェクトを使用して、カスタム引数を定義します。

  4. そのタイプとして作成したビジネス・オブジェクトを使用して、プロセスにプロセス・データ・オブジェクトを追加します。

  5. カスタム引数とデータ・オブジェクトの間のデータ・アソシエーションを定義します。

  6. ヒューマン・タスク・エディタで、「データ」タブをクリックします。

  7. 「追加」ボタンのリストから「その他のペイロードの追加」を選択します。

  8. 「タイプ・チューザ」ダイアログのペイロード要素を選択します。

  9. プロセス・エディタでユーザー・タスクを右クリックし、「プロパティ」を選択します。

  10. プロセス・データ・オブジェクトとタスク・ペイロードの間のデータ・アソシエーションを定義します。

14.3 Oracle BPM Studioによるヒューマン・タスクの作成

Oracle BPM Studioを使用して単純なヒューマン・タスクを作成できます。Oracle BPM Studio付属の簡易インタフェースには、Oracle BPMに関連のあるフィールドのみが表示され、ヒューマン・タスク・エディタの複雑さを軽減しています。簡易エディタを使用してヒューマン・タスクを作成した後、必要であれば、SOAヒューマン・タスク・エディタを使用してヒューマン・タスクを編集できます。

Oracle BPM Studio付属の簡易ヒューマン・タスク・エディタでは、次のプロパティを定義できます。

拡張ユーザー・タスク・プロパティでは、次のプロパティを定義できます。

14.3.1 Oracle BPM Studioによるヒューマン・タスクの作成手順

Oracle BPM Studioのユーザー・タスク・プロパティ・ダイアログでヒューマン・タスクを作成できます。

Oracle BPM Studioでヒューマン・タスクを作成するには:

  1. BPMNプロセスを編集します。

  2. ユーザー・タスクを右クリックします。

  3. 「プロパティ」を選択します。

    「プロパティ - ユーザー・タスク」ダイアログが表示されます。

  4. 「実装」タブをクリックします。

  5. 「ヒューマン・タスク」フィールドの隣の「追加」ボタンをクリックします。

    「ヒューマン・タスクの作成」ダイアログが表示されます。

  6. 「名前」フィールドで、ヒューマン・タスクを識別するための名前を入力します。

  7. 「優先度」リストから優先度を選択します。

  8. 承認管理パターンを使用する場合、「パターン」リストから選択する必要があります。

  9. 「タイトル」フィールドに、表示するWorkListのタイトルを入力します。

  10. オプションで、次の設定を構成できます。

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

    「ヒューマン・タスクの作成」ダイアログが閉じ、ユーザー・タスク・プロパティ・ダイアログの「ヒューマン・タスク」フィールドに作成したヒューマン・タスクが表示されます。

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

    ユーザー・タスク・プロパティが閉じ、ユーザー・タスクについて構成した実装が保存されます。

14.3.2 ヒューマン・タスクの結果の構成方法

Oracle BPM Studioでヒューマン・タスクを作成すると、ヒューマン・タスクの結果を構成できます。構成した結果値は、Oracle Worklistでヒューマン・タスクの選択可能なアクションとして表示されます。

ヒューマン・タスクの結果を構成するには:

  1. 「ヒューマン・タスクの作成」ダイアログで、「結果」フィールドの隣の「参照」ボタンをクリックします。

    「結果」ダイアログが表示されます。

  2. 1つ以上の結果を選択するか、新しいカスタム結果を追加するために「追加」ボタンをクリックします。

  3. オプションで、「コメントが必要な結果」をクリックし、コメントが必要な結果を選択します。

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

    「結果」ダイアログが閉じ、「ヒューマン・タスクの作成」ダイアログの「結果」フィールドに選択した結果が表示されます。

14.3.3 ヒューマン・タスクへのパラメータの追加方法

ヒューマン・タスク・ペイロードを作成するために、ヒューマン・タスクに複数のパラメータを追加できます。Oracle BPM Studioでは、これらのパラメータを使用して、ヒューマン・タスクを使用するユーザー・タスクのデータ・アソシエーションを作成します。

ヒューマン・タスクにパラメータを追加するには:

  1. 「ヒューマン・タスクの作成」ダイアログで、「パラメータ」表の「追加」ボタンをクリックします。

    「データ・オブジェクト」ダイアログが表示されます。

  2. 「データ・オブジェクト」ダイアログからデータ・オブジェクトを選択し、「パラメータ」表にドロップします。

    選択したデータ・オブジェクトが「パラメータ」表に表示されます。

  3. 「データ・オブジェクト」ダイアログを閉じます。

  4. オプションで、「パラメータ」表の「編集可能」列を選択し、パラメータを編集可能としてマークできます。

14.3.4 ヒューマン・タスクの結果ターゲットの構成方法

ヒューマン・タスクを作成する際、結果ターゲットを定義する必要があります。結果ターゲットは、ヒューマン・タスクの結果をBPMプロジェクトの文字列データ・オブジェクトにマッピングします。

ヒューマン・タスクの結果ターゲットを構成するには

  1. 「ヒューマン・タスクの作成」ダイアログで、「結果ターゲット」フィールドの隣の「追加」ボタンをクリックします。

    「データ・オブジェクト」ダイアログが表示されます。

  2. 「データ・オブジェクト」ダイアログから文字列データ・オブジェクトを選択し、「結果ターゲット」フィールドにドロップします。

    選択したデータ・オブジェクトが「結果ターゲット」フィールドに表示されます。

  3. 「データ・オブジェクト」ダイアログを閉じます。

14.3.5 Oracle BPM Studioによるヒューマン・タスクの作成時に行われる処理

ヒューマン・タスクは、ビジネス・カタログのHumanTasks事前定義済モジュールに自動的に表示されます。このヒューマン・タスクを使用して、編集中のユーザー・タスク、またはBPMプロジェクトの他のユーザー・タスクを実装できます。

SOAヒューマン・タスク・エディタを使用して、作成したヒューマン・タスクを編集し、実装の詳細を構成できます。

14.4 SOAヒューマン・タスク・エディタを使用したヒューマン・タスクの作成

SOAヒューマン・タスク・エディタを使用して複雑なヒューマン・タスクを作成および編集できます。Oracle SOA Suiteを使用してヒューマン・タスクを作成する方法は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「ヒューマン・タスクの設計」を参照してください。

14.4.1 通知の受信者の電子メール・アドレスを指定する方法

BPM SuiteのインストールでSOAヒューマン・タスク・エディタを使用する場合、通知の受信者の電子メール・アドレスを指定できます。

通知の受信者の電子メール・アドレスを指定するには:

  1. ヒューマン・タスク・エディタを開きます。

  2. 「通知」タブをクリックします。

  3. 「受信者」リストをダブルクリックします。

    「受信者」リストは編集可能なリストで、それをダブルクリックすると、テキスト・フィールドになります。

  4. 受信者の電子メール・アドレスを入力します。

    必要に応じて、「受信者」テキスト・フィールドの横にあるボタンを使用して、アプリケーション・サーバーで電子メール・アドレスを調べるか、XPathを使用して電子メール・アドレスを指定することができます。


注意:

電子メール・アドレスを使用して指定受信者に通知を送信する場合、通知サービスは割当て先のユーザー・コンテキストを使用して通知に含めるタスク情報を取得します。

14.5 Oracle BPM Studioからのヒューマン・タスクの編集

Oracle BPM簡易エディタまたはSOAヒューマン・タスク・エディタを使用してヒューマン・タスクを編集できます。通常は、複雑なヒューマン・タスクにSOAヒューマン・タスク・エディタを使用します。

14.5.1 Oracle BPM簡易エディタを使用してヒューマン・タスクを編集する方法

Oracle BPM簡易エディタを使用してヒューマン・タスクを編集するには:

  1. ヒューマン・タスクで実装されたユーザー・タスクを含むBPMNプロセスを開きます。

  2. ユーザー・タスクを右クリックします。

  3. 「プロパティ」を選択します。

    ユーザー・タスクのプロパティ・ダイアログ・ボックスが表示されます。

  4. 「実装」タブをクリックします。

  5. 「ヒューマン・タスク属性」および「拡張」セクションでプロパティを変更します。

14.5.2 SOAヒューマン・タスク・エディタを使用してヒューマン・タスクを編集する方法

SOAヒューマン・タスク・エディタを使用してヒューマン・タスクを作成するには:

  1. ヒューマン・タスクで実装されたユーザー・タスクを含むBPMNプロセスを開きます。

  2. ユーザー・タスクを右クリックします。

  3. 「ヒューマン・タスクを開く」を選択します。

    SOAヒューマン・タスク・エディタが表示されます。

  4. ヒューマン・タスクを変更します。

14.6 Oracle BPMでのヒューマン・タスク・パターンの使用

ヒューマン・タスク・パターンを使用すると、ヒューマン・タスクの作成に事前定義済のフローを使用できます。これらの事前定義済のパターンには、すべてのビジネス・プロセスに共通の標準プロセス・フローが含まれています。

Oracle BPMでは、次のヒューマン・タスク・パターンをサポートしています。

パターンを使用するヒューマン・タスクを追加するには、コンポーネント・パレットの対話型アクティビティ・セクションで特定のユーザー・タスクを選択するか、または一般的なユーザー・タスクを追加し、ヒューマン・タスクの作成時に、使用するパターンを選択できます。

ヒューマン・タスク・パターンの詳細は、第26章「承認管理の使用」を参照してください。