Actividades

Tarea de Servicio(Service Task)

Una actividad automatizada realizada por software — un servicio web, una llamada a una API o una función de un sistema interno — sin intervención humana. El motor invoca la implementación y continúa cuando esta responde. Se marca con un icono de engranaje.

La Tarea de Servicio (Service Task) es el motor de tracción de la automatización de procesos: cada vez que el proceso necesita que un sistema *haga* algo — cobrar una tarjeta, crear un registro, llamar a una API — la tarea de servicio es el elemento que lo expresa.

En la especificación BPMN 2.0, la tarea referencia su implementación (por ejemplo, una operación de servicio web). En tiempo de ejecución, el motor llama a esa implementación, opcionalmente mapea los datos de entrada y salida, y completa la tarea cuando la llamada responde. Los fallos se modelan típicamente con un Evento de Borde de Error adjunto a la tarea.

Cuándo usar y evitar

Cuándo usar

  • Para trabajo de sistema a sistema: llamar a una API, actualizar un registro de base de datos, generar un documento, cobrar un pago.

  • Cuando el paso debe ejecutarse sin esperar a una persona, manteniendo el proceso en marcha 24/7.

  • Cuando desee que los fallos de la integración se gestionen explícitamente en el flujo (borde de error + camino alternativo).

Cuándo NO usar

  • Cuando una persona toma la decisión o introduce los datos — utilice una Tarea de Usuario.

  • Cuando el paso automatizado es una pieza pequeña de lógica que el propio motor puede ejecutar (un cálculo, una transformación de datos) — una Tarea de Script es más ligera que una llamada de servicio.

  • Cuando la esencia del paso es la *comunicación con otro participante* — la Tarea de Envío / Tarea de Recepción expresan esa intención con más precisión.

Ejemplo de negocio

Cobro de una tarjeta de crédito durante el pago

Diagrama BPMN: Cobro de una tarjeta de crédito durante el pago
Cobro de una tarjeta de crédito durante el pago

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 el cliente realiza un pedido.
  2. La Tarea de Servicio “Cobrar tarjeta de crédito” (resaltada) llama a la pasarela de pago — no interviene ningún humano; el motor solo espera la respuesta de la API.
  3. Actualizar ERP registra el pago liquidado en el sistema de back-office, también de forma automática.
  4. El proceso termina con el pago liquidado.

En un modelo de producción, adjuntaría un Evento de Borde de Error a la tarea de cobro para dirigir las tarjetas rechazadas a un camino de recuperación.

Diferencias

Diferencia entre una Tarea de Servicio y una Tarea de Script

Ambas son automáticas, pero la Tarea de Servicio llama a algo *fuera* del motor (un servicio web, una API, otro sistema), mientras que la Tarea de Script ejecuta un script *dentro* del propio motor. Regla práctica: integración → Servicio; lógica interna pequeña → Script.

Diferencia entre una Tarea de Servicio y una Tarea de Envío

Una Tarea de Envío existe específicamente para transmitir un *mensaje a otro participante* (otro Pool) y está vinculada a un flujo de mensajes. Una Tarea de Servicio es una llamada de sistema de propósito general, con carácter de solicitud/respuesta. Si la esencia del paso es la comunicación entre participantes, prefiera la Tarea de Envío.

Preguntas frecuentes

¿Qué ocurre si falla la llamada de servicio?

Modélelo explícitamente: adjunte un Evento de Borde de Error a la tarea de servicio y dirija el fallo hacia un camino de compensación o reintento. Muchos motores también ofrecen reintentos automáticos antes de generar el error.

¿Una Tarea de Servicio es síncrona o asíncrona?

Conceptualmente, la tarea se completa cuando el trabajo está hecho. Los motores implementan ambos patrones: llamadas bloqueantes para operaciones rápidas y continuación asíncrona (callbacks/colas) para las de larga duración — el diagrama se mantiene igual.

¿Dónde se define la implementación del servicio?

En los atributos técnicos del modelo (la especificación referencia una operación de una interfaz de servicio). En la práctica, cada herramienta ofrece su propio binding — endpoint REST, conector, script de integración — configurado en la tarea.

Elementos relacionados