ファクト

ファクトとは、特定のビジネス・データを備えたオブジェクトです。ルーティング・スリップの割当て先がタスクの結果を設定するたびに、タスクを次の割当て先に自動的にルーティングするかわりに、タスク・サービスが次のステップを実行します。

  • ファクトをデシジョン・サービスにアサートします。

  • 拡張ルーティング・ルールセットを実行します。

ルールでは、アサートされたファクトの値をテストし、TaskActionファクト・タイプに値を設定することで、ルーティングの動作を指定できます。

表29-11は、タスク・サービスによりアサートされたファクト・タイプを示しています。

表29-11 タスク・サービスによりアサートされたファクト・タイプ

ファクト・タイプ 説明

Task

このファクトには、ワークフロー・タスク・インスタンスの現在の状態が含まれます。すべてのタスク属性がタスクに対してテストされます。タスク・ファクトには現在のタスク・ペイロードも含まれます。このファクトを使用すると、ペイロード値およびタスク属性値との照合テストを構築できます。

PreviousOutcome

このファクトには、前回のタスクの結果と、結果を設定した割当て先が記述されます。このファクトには、次の属性が含まれます。

  • actualParticipant(実際の参加者): タスクの結果を設定した参加者の名前(jsteinなど)。

  • logicalParticipant(論理上の参加者): タスクの結果を設定する責任があるルーティング・スリップ参加者の論理名またはラベル(assignee1など)。

  • outcome(結果): 設定された結果(approve、rejectなど)。

  • level(レベル): 前の参加者が管理チェーンの一部の場合、この属性にはそのレベルが記録されます(1は、チェーンの第1レベルを示します)。他の参加者タイプの場合、値は-1です。

  • totalNumberOfApprovals(承認の総数): 現在のタスクの結果を設定したユーザーの総数。

TaskAction

このファクトは、書込みルールのテストを意図したものではありません。かわりに、このファクトはルールセットによって更新され、タスクのルーティング方法を示すためにタスク・サービスに返されます。ルールでTaskActionファクトを直接更新することはできません。かわりに、「アクション・タイプ」に記載されているRL関数の1つをコールします。これらの関数によって、TaskActionファクトの更新が適切な値で処理されます。

ワークフロー・ルーティング・ルールのみで使用できるファクト・タイプと、ワークフロー参加者ルールのみで使用できるファクト・タイプがあります。表29-12に、それぞれのタイプを使用できるルールを示します。

表29-12 ファクト・タイプの使用

ファクト・タイプ ルーティング・ルールでの使用 参加者ルールでの使用

Task

はい

はい

PreviousOutcome

はい

いいえ

TaskAction

はい

いいえ

Lists

いいえ

はい

RoutingSlipObjectFactory

いいえ

はい

ResourceListType

いいえ

はい

ManagementChainListType

いいえ

はい

ResourceType

いいえ

はい

ParameterType

いいえ

はい

AutoActionType

いいえ

はい

ResponseType

いいえ

はい