割当てサービスによるタスク参加者の動的割当て

ヒューマン・ワークフロー参加者は、ルーティング・スリップで宣言的に指定されます。ルーティング・スリップでは、参加者およびヒューマン・ワークフローへの参加方法(管理チェーン階層、承認者のシリアル・リストなど)を指定することでヒューマン・ワークフローの進行方法を決定します。

ヒューマン・タスク・エディタでは様々な組込みパターンを使用して、ルーティング・スリップを宣言的に作成できます。さらに、ビジネス・ルールに基づいた拡張ルーティングを使用して、より複雑にルーティングできます。ただし、カスタム・ロジックを使用してより高度なルーティングを作成するには、カスタム割当てサービスを実装してルーティングします。

このような動的割当てをサポートするために、割当てサービスが使用されます。割当てサービスは、タスク割当て先の決定を担当します。独自の割当てサービスを実装し、その実装をプラグイン接続して特定のヒューマン・ワークフローで使用することもできます。

割当てサービスにより、ヒューマン・ワークフローの次のタスク割当て詳細が決定されます。

  • タスク開始時の割当て。

  • タスク再開始時の割当て。

  • ユーザーがタスクの結果を更新するときの割当て。タスクの結果が更新された場合、そのタスクは他のユーザーにルーティングするか完了にできます。

  • タスク情報のリクエスト元の割当て先。

  • タスクでOracle BPM Worklistからの再承認をサポートしている場合、ユーザーは再承認のための情報をリクエストできます。

  • 再承認がサポートされている場合にタスクを再承認するユーザー。

ヒューマン・ワークフロー・サービスでは、特定のタスクについて割当てサービスが識別されて起動され、タスク割当てが決定されます。

たとえば、単純割当てサービスの繰返しは次のとおりです。

  1. クライアントが、割当てサービスによりルーティングが決定される経費承認タスクを開始します。

  2. 割当てサービスが、タスク割当て先をjcooperであると決定します。

  3. jcooperがタスクを承認すると、割当てサービスがタスクをjsteinに割り当てます。また、割当てサービスはタスク作成者であるjlondonに必ず通知を送信するように指定します。

  4. jsteinがタスクを承認し、割当てサービスは他にタスクの割当て先ユーザーがいないことを示します。