Ir al contenido

Process modelling

Esta sección describe los elementos fundamentales que definen un proceso de flujo de trabajo. Un proceso se compone de:

  • Nodos
  • Transiciones

Los nodos definen los estados dentro de una definición de proceso. Están interconectados por transiciones, y juntos establecen los distintos caminos que se pueden seguir durante la ejecución del proceso. Cuando se ejecuta una definición de proceso, se convierte en una instancia de proceso.

Existen varios tipos de nodo:

Tipo Imagen Descripción
Start node El nodo Start define el punto de entrada del proceso. Cada definición de proceso debe tener exactamente un nodo Start.
End node Los nodos End definen la conclusión de la ejecución del proceso. Un proceso puede tener varios nodos End. En ese caso, el proceso finaliza cuando la ejecución alcanza cualquiera de esos nodos End.
Task node Un nodo Task representa una o más tareas que requieren interacción humana. Estos nodos pausan el flujo de trabajo hasta que el usuario o usuarios asignados completan las acciones necesarias.
Initiation form Para definir un formulario previo al inicio de un flujo de trabajo, debe crearse una tarea con el nombre reservado “run_config”.
Cuando se declara una tarea con el nombre “run_config” en la definición del flujo de trabajo, el motor solicitará que se rellene el formulario definido en esa tarea como paso previo a la ejecución del flujo de trabajo.
El formulario se presentará únicamente al usuario que solicita iniciar el flujo de trabajo.
Para establecer un nodo de tipo Initiation form, debe usarse un nodo de tipo task cuyo nombre sea la palabra reservada “run_config”.
Decision node Hay dos formas de modelar una decisión, según quién la toma:
- Cuando la decisión la toma automáticamente la lógica del proceso, use un nodo Decision.
- Cuando la decisión la toma un agente externo (usuario o sistema), use varias transiciones que salgan de un nodo de estado o de espera.
Mail node El nodo Mail permite que el proceso envíe notificaciones por correo electrónico automáticamente durante la ejecución del flujo de trabajo.
Action node Los nodos Action ejecutan código Java en respuesta a eventos del proceso. Los principales tipos de evento son: entrar en un nodo, salir de un nodo y tomar una transición.
Note la distinción entre acciones colocadas en eventos frente a acciones colocadas en nodos:
- Las acciones colocadas en eventos se ejecutan cuando se dispara el evento, pero no pueden influir en el control del flujo del proceso.
- Las acciones colocadas en nodos son responsables de propagar la ejecución al siguiente paso del flujo de trabajo.
Scheduled node Los nodos Scheduled se ejecutan periódicamente mediante una tarea cron en el núcleo de la aplicación que controla los ciclos de ejecución.
Para establecer un nodo de tipo scheduled, debe usarse un nodo de tipo action cuyo nombre empiece por la palabra reservada “scheduled”.
Library node Los nodos Library permiten definir métodos y variables globales que pueden usarse en todos los flujos de trabajo.
Para establecer un nodo de tipo library, debe usarse un nodo de tipo action cuyo nombre empiece por la palabra reservada “library_”.

Las transiciones conectan nodos en el flujo de trabajo, definiendo el flujo de un estado a otro. Cada transición tiene un nodo origen (representado por la propiedad from) y un nodo destino (representado por la propiedad to). Las transiciones pueden nombrarse opcionalmente para mayor claridad y documentación.