ヒューマン・タスクについて

ヒューマン・タスクとは、サービスや他の人間と対話する人間に関与するコンポーネントです。

対話は、人または自動化サービスのいずれかによって開始することができます。人によって開始されるサービスは、自動化インプリメンテーション、または別の人によって提供されるサービスのいずれかです。自動化サービスによって起動されるヒューマン・タスクは、簡単に自動化インプリメンテーションと置き換えることができます。また、その逆も可能です。

タスクを使用して、例外の手動処理や承認などの、人間による対話が必要なビジネス・プロセスのスタッフ・アクティビティーをインプリメントすることができます。それ以外の例外処理では、障害や障害ハンドラー、または補正を使用して、Web Services Business Process Execution Language (WS-BPEL、略称 BPEL) によるネイティブのモデル化が行われます。

誰がタスクと対話できるかは、サポートされるいずれかのスタッフ・ディレクトリーを使用して決定することができます。作業項目は、タスクを表示するかタスクと対話する理由のあるユーザーのために作成されます。

Business Process Choreographer は、以下のタイプのスタッフ・ディレクトリーをサポートします。

ヒューマン・タスクの種類

ヒューマン・タスクの種類には以下のものがあります。
参加タスク
Web サービスと人との対話をサポートします。これにより、人がサービスをインプリメントできます。例えば、ビジネス・プロセス内のヒューマン・タスク・アクティビティーを参加タスクとすることができます。
参加タスクの対話のグラフィック
管理用タスク
管理用タスクは参加タスクと似ていますが、管理用タスクはさまざまな処理中に発生する技術的な問題を解決するために管理者が使用する点が異なります。 現在、ビジネス・プロセスにのみ管理タスクを使用できます。
親タスク
人とコンピューターとの対話をサポートします。これにより、人がグラフィカル・ユーザー・インターフェースを使用してサービスを作成し、始動することができます。例えば、ユーザーがビジネス・プロセスを開始し、そのプロセスに親タスクを使用してイベントを送信することができます。
親タスクの対話のグラフィック
純粋なヒューマン・タスク
人と人との対話をサポートします。これにより、構造化され制御された方法で、個人が他の個人と作業を共用できます。 純粋なヒューマン・タスクはビジネス・プロセスまたは他の Web サービスとは対話しません。
純粋なヒューマン・タスク内の対話のグラフィック

ヒューマン・タスクとビジネス・プロセスの関係

ヒューマン・タスクは、以下のいずれかの方法でビジネス・プロセスと関連付けることができます。
インライン・タスク
インライン・タスクは、ビジネス・プロセスの一部として定義されます。 これは Service Component Architecture (SCA) コンポーネントとして表示されませんが、コンテキスト・データをプロセスと共用できます。
スタンドアロン・タスク
スタンドアロン・タスクは、人との対話をサービスとしてインプリメントしたり (参加タスク)、グラフィカル・ユーザー・インターフェースによる人とサービスとの対話を活用したり (親タスク)、人と人との構造化されたコラボレーションをサポートしたりする (純粋なヒューマン・タスク)、SCA コンポーネントです。タスク・コンポーネントは、ビジネス・プロセスなどのその他のサービスと結合できます。
以下の表は、これらの 2 つのインプリメンテーション・タイプの違いを示しています。
インライン・タスク スタンドアロン・タスク
ビジネス・プロセスの一部。 ビジネス・プロセスから独立。このインプリメンテーションは、ビジネス・プロセスを含まないシナリオでも使用できます。
タスクのライフ・サイクルは、通常、プロセスによって制御されます。 ライフ・サイクルはプロセスから独立しています。
参加タスクは、プロセス内のヒューマン・タスク・アクティビティーです。 参加タスクは、プロセス内の invoke アクティビティーです。
インライン・タスクは、プロセス・コンテキスト・データ (例えば、変数、スタッフ割り当て、またはカスタム・プロパティー) にアクセスできます。 スタンドアロン・タスクはプロセス・コンテキスト・データにアクセスできません。
参加タスクおよび親タスクのタスク記述、表示名、および資料は 1 つの言語のみサポートします。 参加タスクおよび親タスクのタスク記述、表示名、および資料は複数の言語をサポートします。
インライン・タスクは SCA コンポーネントとして表示されないため、再利用できません (関連付けできません)。 スタンドアロン・タスクは再利用可能です。 参加タスクおよび親タスクは SCA コンポーネントとして表示されます (関連付けできます)。
サポートされるタスクの種類: 参加タスク、親タスク、および管理タスク。 サポートされるタスクの種類: 参加タスク、親タスク、および純粋なヒューマン・タスク。

サブタスク

サブタスクは、親タスクから分割される追加の作業単位です。 サブタスク・モデルは、テンプレートから選択するか、実行時に定義することができます。 入力データは、サブタスクを作成または開始する個人によって提供されます。 親タスクは、すべてのサブタスクが終了するまで待機します。 親タスクの所有者または編集者は、サブタスク出力データを統合してから、親タスクを完了します。

サブタスクが指定された時間内に完了できない場合、親タスクをエスカレーションできます。 エスカレーションは、親タスクがまだサブタスクの完了を待っていることを示します。

サブタスクの対象は、純粋なヒューマン・タスクまたは親タスクです。

後続のタスク

後続のタスクは、既存のタスクを完了するために作成されるタスクです。 後続のタスク・モデルは、テンプレートから選択するか、実行時に定義することができます。 入力データは、後続のタスクを作成または開始する個人によって提供されます。 後続のタスクの出力および障害メッセージ・タイプは、前のタスクのタイプと同じでなければなりません。 前のタスクは処理進行状態になり、それを呼び出したサービスまたは個人に対して完了を報告しません。

後続のタスクが終了すると、その出力または障害データを、元のタスクを呼び出したサービスまたは個人に報告します。 前のタスクのエスカレーションは、実行およびエスカレーションを続行します。 後続のタスクには、独自のエスカレーションがあります。

後続のタスクの対象は、純粋なヒューマン・タスクのみです。

エスカレーション

エスカレーションとは、指定した期間内にタスクが正常に完了しない場合に実行されるアクションの過程のことです。例えば、タスクが要求されない場合、または定義した制限時間内に完了しない場合を考えてみましょう。この場合、タスク用に 1 つまたは複数のエスカレーションを指定できます。これらのエスカレーションを並行して開始したり、一連のエスカレーションとして開始することができます。

エスカレーションは、関連タスクがそのライフ・サイクルの一定の状態に到達すると初期化されます。 タスクの状態は定義期間後に検査され、その状態がモデル化された期待値を満足しない場合は、エスカレーション・アクションが起動されます。以下のエスカレーション・アクションがサポートされます。
  • ユーザーのセット用に作業項目を作成する
  • 指定された受信者に E メールを送信する
  • 登録済みコンシューマーに通知イベントを送信する

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。