Actividades

Tarea de Script(Script Task)

Una tarea ejecutada por el propio motor de procesos, que corre un script definido en el modelo (por ejemplo, JavaScript, Groovy). Cuando el script termina, la tarea se completa. Se marca con un icono de script/pergamino.

La Tarea de Script (Script Task) incorpora una pequeña pieza de lógica ejecutable directamente en el proceso: quien modela define el lenguaje del script y el cuerpo del script, y el motor lo interpreta cuando llega el token.

Brilla en la lógica de enlace — calcular un valor, transformar datos entre pasos, establecer variables de proceso — donde levantar un servicio externo sería excesivo. La contrapartida: los scripts esconden lógica dentro del diagrama, así que su uso intensivo perjudica la mantenibilidad. Mantenga los scripts breves; promueva todo lo sustancial a una Tarea de Servicio o a una Tarea de Regla de Negocio.

Cuándo usar y evitar

Cuándo usar

  • Para cálculos pequeños: calcular una puntuación, derivar una fecha de vencimiento, dar formato a un número de referencia.

  • Para la transformación de datos entre actividades (mapear campos, agregar valores).

  • Cuando llamar a un servicio externo añadiría latencia y coste operativo para una lógica trivial.

Cuándo NO usar

  • Para la integración con sistemas externos — eso es una Tarea de Servicio.

  • Para decisiones de negocio que cambian a menudo (reglas de precios, elegibilidad) — una Tarea de Regla de Negocio las mantiene en una tabla de decisión que las personas de negocio pueden mantener.

  • Para lógica de larga duración o intensiva en recursos — los scripts se ejecutan dentro del motor y pueden degradarlo.

Ejemplo de negocio

Cálculo de una puntuación de riesgo en una solicitud de préstamo

Diagrama BPMN: Cálculo de una puntuación de riesgo en una solicitud de préstamo
Cálculo de una puntuación de riesgo en una solicitud de préstamo

Abra este ejemplo en el editor de procesos de HEFLO y explore el diagrama por dentro.

Abrir en el editor HEFLO →

Paso a paso

  1. El proceso comienza cuando se recibe una solicitud de préstamo.
  2. La Tarea de Script “Calcular puntuación de riesgo” (resaltada) se ejecuta dentro del motor: combina ingresos, historial e importe en una puntuación numérica — sin llamada externa, sin humano.
  3. El Gateway Exclusivo dirige según el resultado: las puntuaciones altas van a Aprobar automáticamente; el resto va a Revisión manual.
  4. Ambos caminos terminan el proceso.

El script produce el dato que consume el siguiente gateway — el uso más idiomático de una tarea de script.

Diferencias

Diferencia entre una Tarea de Script y una Tarea de Servicio

La Tarea de Script ejecuta lógica *dentro* del motor, escrita en el modelo. La Tarea de Servicio delega en algo *externo* — una API, un servicio, otro sistema. Lógica de enlace interna → Script; integración → Servicio.

Diferencia entre una Tarea de Script y una Tarea de Regla de Negocio

Ambas calculan un resultado automáticamente, pero la Tarea de Regla de Negocio externaliza la decisión en un motor de reglas/tabla de decisión (típicamente DMN) que mantienen los usuarios de negocio, mientras que la Tarea de Script entierra la lógica en código dentro del modelo. Si las reglas cambian con el negocio, prefiera la Tarea de Regla de Negocio.

Preguntas frecuentes

¿Qué lenguajes de script puedo usar?

Los que admita su motor — el atributo BPMN scriptFormat declara el lenguaje. JavaScript y Groovy son los más habituales en la práctica.

¿Por qué mantener los scripts breves?

Los scripts son invisibles para quien lee el diagrama y difíciles de probar de forma aislada. Los scripts largos convierten el modelo en un repositorio de código sin la ergonomía del control de versiones — traslade la lógica sustancial a servicios.

Elementos relacionados