プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Process Management Studioでのビジネス・プロセスの開発
12c (12.1.3)
E56238-06
目次へ移動
目次

前
次

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

この章では、ビジネス・カタログでのヒューマン・タスクの表示および処理方法について説明します。また、更新タスクを使用したユーザー・タスクの更新方法についても説明します。

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

ヒューマン・タスクの作成、編集および構成方法の詳細は、「Oracle BPMでのヒューマン・タスクの設計」を参照してください。

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

ヒューマン・タスクは、エンド・ユーザーによって実行される対話型手順であり、ユーザー・タスクの実装に使用されます。ヒューマン・タスクには、エスカレーション、通知およびリマインダを定義するペイロード(ヒューマン・タスクに関連付けられたデータ)、フォームおよびポリシーが含まれています。

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

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

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

  • Oracle BPM Studio付属の簡易インタフェースの使用

  • SOA新規ギャラリから

  • SOAコンポジット・エディタから

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

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

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

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

ヒューマン・タスクの参加者は、BPMNプロセスのスイムレーンを使用するか、プロセス・データに基づいた評価および式によって動的に定義できます。ヒューマン・タスクに使用されるワークフロー・パターンによって、参加者の数が定義されます。ワークフロー・パターンの詳細は、「Oracle BPMでのヒューマン・タスク・パターンの使用」を参照してください。

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

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

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

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

注意:

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

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

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

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

  • 複合: 様々なルーティング・パターン(各パターンは異なるステージが表す)を結合します。

  • FYI: プロセスがこのタスクの完了を待たずにプロセス・フロー内の次のタスクを実行することを、参加者に通知します。

  • グループ

  • 開始者: エンド・ユーザーがフォームに入力したときにプロセスが開始されます。

  • 管理: 割当て先は管理チェーンに基づいて連続した順序で作業を実行します。

  • ユーザー: 1人の割当て先が作業を実行します。

  • パラレル: 複数の割当て先が平衡して作業を実行します。

  • 手動: これらは、BPMランタイムによって管理されない、人間によって実行されるタスクです。

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

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

11.3 更新タスクを使用したユーザー・タスクの更新

更新タスクを使用すると、プロセス内の特定のユーザー・タスクの特定のプロパティを更新できます。特定のユーザー・タスク、すべてのユーザー・タスクを更新するか、またはユーザー・タスクのIDを動的に生成し、式を使用して更新するかを選択できます。更新タスクにタスクIDまたはコンテキストを指定する必要はありません。

ユーザー・タスクを使用すると、プロセスのステータスまたはプロセス・インスタンスが使用する様々なパスに基づいて更新操作を実行できます。更新タスクを使用すると、ビジネス・プロセスの更新シーケンスをモデリングできるため、プロセス・フローが理解しやすくなります。

更新できるのは、アクティブなユーザー・タスクのみです。完了済のユーザー・タスクや、まだ開始されていないユーザー・タスクは、更新タスクを使用して更新することはできません。

11.3.1 更新タスク操作

更新タスクを使用すると、ユーザー・タスクの実装に使用されるヒューマン・タスクのいくつかのプロパティ値を変更できます。様々な操作に含まれるプロパティの詳細は、「Oracle BPM Studioによるヒューマン・タスクの作成」を参照してください。

更新タスクがサポートする操作は次のとおりです。

  • 結果の更新: 指定されたユーザー・タスクの実装に使用されるヒューマン・タスクの結果を更新します。式を使用して新しい結果を指定する必要があります。式の記述には、リテラル、シンプルな式またはXPath式の使用を選択できます。

  • 優先順位の更新: 指定されたユーザー・タスクの実装に使用されるヒューマン・タスクの優先度を更新します。式を使用して新しい優先度を指定する必要があります。式の記述には、リテラル、シンプルな式またはXPath式の使用を選択できます。

  • 取消: 他の割当て先に対して表示されるタスク・リストからタスクを取り消します。

  • 一時停止: タスクを一時停止します。

  • 再開: タスクを再開します。

  • エスカレート: 指定のユーザー・タスクを実装するヒューマン・タスクで指定されたエスカレーション階層またはエスカレーション・コールバックを使用して、タスクをエスカレートします。

  • 再割当て: 指定されたユーザー・タスクの実装に使用されるヒューマン・タスクを新規ユーザーに再割当てします。式を使用して新規ユーザーを指定する必要があります。式の記述には、リテラル、シンプルな式またはXPath式の使用を選択できます。

  • 一時停止タイマー: 指定されたユーザー・タスクを実装するヒューマン・タスクで実行されているタイマーを一時停止します。タイマーが一時停止されると、ヒューマン・タスクに定義された有効期限ポリシーが一時停止されます。

11.3.2 更新タスクを使用したユーザー・タスクの更新方法

更新タスクを使用して、ビジネス・プロセスからユーザー・タスクの様々なパラメータを更新できます。

更新タスクを使用してユーザー・タスクを更新するには:

  1. ユーザー・タスクが含まれるビジネス・プロセスを開きます。
  2. 更新タスクを追加します。
  3. 更新タスクを構成します。

11.3.3 更新タスクの構成方法

更新タスクを構成すると、指定したユーザー・タスクで様々な操作を実行できます。

更新タスクを構成するには:

  1. 更新タスクを右クリックします。
  2. 「プロパティ」を選択します。
  3. 「実装」タブをクリックします。
  4. ターゲット・リストから、ターゲット・ユーザー・タスクの指定方法を選択します。

    使用可能なオプションは次のとおりです。

    • 特定のユーザー・タスクの選択: このリストにはプロセスのユーザー・タスクが表示されるため、この更新タスクを使用してそれらのいずれかを選択して更新できます。

    • すべてのユーザー・タスク: このオプションを使用すると、プロセス内のすべてのユーザー・タスクを更新できます。

    • タスクID: このオプションを使用すると、式を使用してユーザー・タスクを識別するタスクIDを指定できます。このオプションを選択すると、「タスクID」フィールドが表示されます。

  5. 「操作」リストから、操作を選択します。

    使用可能な操作の詳細は、「更新タスク操作」を参照してください。