Es posible modificar los flujos de trabajo para registrar eventos de temporización que sirvan para los informes de flujo de trabajo (Informes de flujo de trabajo). Los eventos de auditoría estándar sólo registran que se ha producido un evento, mientras que los eventos de auditoría de temporización registran cuándo ha comenzado y terminado el evento, lo que permite efectuar cálculos de tiempo. Además de los datos del evento de temporización, también se almacena la mayoría de la información registrada por los eventos de auditoría estándar. Encontrará más información en ¿Qué información almacenan los eventos de auditoría de temporización?.
Para registrar eventos de auditoría de temporización, antes debe activar la auditoría del flujo de trabajo para cada tipo de flujo sobre el que quiera informar.
En el caso de los flujos de trabajo que se pueden configurar en la interfaz de administración mediante plantillas de tarea, habilite primero la plantilla de tarea correspondiente al flujo de trabajo que desea auditar. Consulte las instrucciones en Habilitación de las plantillas de tarea.
A continuación, active la auditoría del flujo de trabajo marcando la casilla de verificación Auditar todo el flujo de trabajo. Consulte las instrucciones en Configuración de la ficha Auditoría.
Si son flujos de trabajo carentes de plantillas de tarea, defina una variable llamada auditWorkflow y configure su valor en true .
Tenga en cuenta que la auditoría del flujo de trabajo baja el rendimiento.
El Ejemplo 10–3 ilustra el código necesario para crear eventos de auditoría de temporización. Para registrar eventos de auditoría de temporización, el argumento op debe configurarse en auditWorkflow.
El argumento action también es obligatorio y debe definirse en uno de estos valores:
StartWorkflow
EndWorkflow
StartProcess
EndProcess
StartActivity
EndActivity
En el archivo auditconfig.xml se pueden definir otros argumentos de acción.
El Ejemplo 10–3 ilustra la habilitación de eventos de auditoría de temporización en un flujo de trabajo. Para instrumentar un flujo de trabajo, se deben agregar eventos auditWorkflow al principio y al final de los flujos de trabajo, procesos y actividades.
La operación auditWorkflow se define en com.waveset.session.WorkflowServices . Consulte La aplicación com.waveset.session.WorkflowServices para obtener más información.
<Action application=’com.waveset.session.WorkflowServices’> <Argument name=’op’ value=’auditWorkflow’/> <Argument name=’action’ value=’StartWorkflow’/> </Action> |
Para detener el registro de eventos de auditoría de temporización en un flujo de trabajo, incluya el código del Ejemplo 10–4 en una actividad pre-end cerca del final del flujo de trabajo. Observe que, al instrumentar un proceso o flujo de trabajo, no se permite incluir nada en una actividad end. Hay que crear una actividad pre-end que lleve a cabo el evento auditWorkflow final y después realizar una transición incondicional al evento end.
<Action application=’com.waveset.session.WorkflowServices’> <Argument name=’op’ value=’auditWorkflow’/> <Argument name=’action’ value=’EndWorkflow’/> </Action> |
De manera predeterminada, los eventos de auditoría de temporización registran la mayoría de la información almacenada por los eventos de auditoría estándar, incluidos los atributos siguientes:
Atributo |
Descripción |
---|---|
WORKFLOW |
Nombre del flujo de trabajo ejecutado. |
PROCESS |
Nombre del proceso actualmente en ejecución. |
INSTANCEID |
ID de instancia único del flujo de trabajo ejecutado. |
ACTIVITY |
Actividad en la que se registra el evento, |
MATCH |
Identificador único dentro de una instancia de flujo de trabajo. |
Los atributos anteriores se almacenan en la tabla logattr y proceden de auditableAttributesList. Identity Manager también verifica si está definido el atributo workflowAuditAttrConds.
Es posible llamar algunas actividades varias veces dentro de una misma instancia de un proceso o un flujo de trabajo. Para lograr la coincidencia de los eventos de auditoría en una determinada instancia de actividad, Identity Manager almacena un identificador único dentro de una instancia de flujo de trabajo en la tabla logattr.
Si quiere almacenar otros atributos en la tabla logattr para un flujo de trabajo, debe definir una lista workflowAuditAttrConds, que se considera una lista de objetos genéricos (GenericObjects). Si define un atributo attrName dentro de la lista workflowAuditAttrConds , Identity Manager extrae attrName del objeto dentro del código, utilizando primero attrName como clave y almacenando después el valor attrName. Todas las claves y valores se almacenan como valores en mayúsculas.