ワークフローレポートのサポートとして、計時イベントをログに記録するようにワークフローを変更できます (「ワークフローレポート」)。標準監査イベントではイベントが発生したことのみをログしますが、タイミング監査イベントではイベントの開始時刻と停止時刻を記録して、時間計算の実行を可能にします。計時イベントデータに加えて、標準監査イベントでログに記録される情報の大部分が格納されます。詳細については、「タイミング監査イベントで格納される情報」を参照してください。
タイミング監査イベントをログに記録するには、監査を行うワークフロータイプごとに、ワークフローの監査を有効にする必要があります。
タスクテンプレートを使用して管理者インタフェースで設定できるワークフローの場合は、最初に、監査するワークフローに対応するタスクテンプレートを有効にします。手順については、「タスクテンプレートの有効化」を参照してください。
次に、「ワークフロー全体の監査」チェックボックスを選択して、ワークフローの監査を有効にします。手順については、「「監査」タブの設定」を参照してください。
タスクテンプレートのないワークフローの場合は、そうする代わりに、auditWorkflow という名前の変数を定義してその値を true に設定します。
ワークフローの監査を行うとパフォーマンスは低下します。
例 10–3 に、タイミング監査イベントの作成に必要なコードを示します。タイミング監査イベントをログするには、op 引数を auditWorkflow に設定します。
action 引数も必須で、次のいずれかの値に設定します。
StartWorkflow
EndWorkflow
StartProcess
EndProcess
StartActivity
EndActivity
auditconfig.xml にそのほかの action 引数も定義できます。
例 10–3 は、ワークフローでタイミング監査イベントを有効にする場合を示しています。ワークフローを設定するには、ワークフロー、プロセス、アクティビティーの最初と最後に auditWorkflow イベントを追加してください。
auditWorkflow の処理は com.waveset.session.WorkflowServices で定義されています。詳細については、「com.waveset.session.WorkflowServices アプリケーション」を参照してください。
<Action application=’com.waveset.session.WorkflowServices’> <Argument name=’op’ value=’auditWorkflow’/> <Argument name=’action’ value=’StartWorkflow’/> </Action> |
ワークフローでタイミング監査イベントのログを停止するには、ワークフローの終わりにある pre-end アクティビティーに例 10–4 のコードを追加します。ワークフローまたはプロセスの設定時には、end アクティビティーには何も追加できません。最後の auditWorkflow イベントの実行後、無条件に end イベントに移行する pre-end アクティビティーを作成してください。
<Action application=’com.waveset.session.WorkflowServices’> <Argument name=’op’ value=’auditWorkflow’/> <Argument name=’action’ value=’EndWorkflow’/> </Action> |
デフォルトでは、タイミング監査イベントは、次に示す属性など通常の監査イベントで保存されるほとんどの情報をログに記録します。
属性 |
説明 |
---|---|
WORKFLOW |
実行中のワークフローの名前 |
PROCESS |
実行中の現在のプロセスの名前 |
INSTANCEID |
実行中のワークフローの一意のインスタンス ID |
ACTIVITY |
イベントがログされているアクティビティー |
MATCH |
ワークフローインスタンス内での一意の識別子 |
これらの属性は auditableAttributesList にあり、logattr テーブルに格納されます。Identity Manager は、workflowAuditAttrConds 属性が定義されているかどうかもチェックします。
プロセスまたはワークフローの 1 つのインスタンス内でアクティビティーを複数回呼び出すことができます。監査イベントを特定のアクティビティーインスタンスと対応させるために、ワークフローインスタンス内で一意の識別子が logattr テーブルに格納されます。
ワークフローの logattr テーブルに追加の属性を格納するには、workflowAuditAttrConds リストを定義します。 これは GenericObjects のリストと見なされます。workflowAuditAttrConds リストに attrName 属性を定義すると、Identity Manager はコード内のオブジェクトから attrName を取得します。最初に attrName をキーとして使用し、続いて attrName 値を保存します。すべてのキーと値は、大文字の値として記録されます。