Eventos

Cancel End Event

Se usa solo dentro de un Subproceso de Transacción: termina la transacción cancelándola, lo que dispara la compensación de los pasos completados. Círculo grueso con una X.

El Evento de Fin Cancelación (Cancel End Event) aborta deliberadamente la transacción englobante: alcanzarlo significa *deshacer todo lo que hizo esta transacción*. El motor ejecuta los gestores de compensación de todas las actividades internas completadas, y luego sale de la transacción por su Evento de Cancelación en el Borde.

Cuándo usar y evitar

Cuándo usar

  • Dentro de transacciones, en caminos donde el negocio decide abortar (el cliente desiste, falla un prerrequisito).

  • En reservas/pedidos todo o nada donde los resultados parciales nunca deben subsistir.

  • Junto con una Cancelación en el Borde sobre la transacción para definir las consecuencias.

Cuándo NO usar

  • Fuera de un Subproceso de Transacción — inválido en cualquier otro lugar.

  • Para fallos — Fin Error (que se salta el protocolo ordenado de compensación).

  • Cuando los pasos completados deben conservarse — simplemente termine el camino con normalidad.

Ejemplo de negocio

El cliente aborta la transacción de reserva

Diagrama BPMN: El cliente aborta la transacción de reserva
El cliente aborta la transacción de reserva

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. Dentro de la transacción Reservar viaje, se realizan las reservas.
  2. El cliente aborta: se dispara el Evento de Fin Cancelación (resaltado).
  3. La compensación deshace las reservas completadas; el token sale por la Cancelación en el Borde hacia el camino de reembolso.

Diferencias

Fin Cancelación vs Fin Error dentro de una transacción

Cancelación = abandono ordenado: la compensación se ejecuta, luego sigue el camino del borde de cancelación. Error = fallo: captado por un borde de error, sin compensación automática. Desistimiento de negocio → Cancelación; fallo técnico/de negocio → Error.

Preguntas frecuentes

¿Qué se compensa exactamente?

Cada actividad dentro de la transacción que se había completado y había declarado un gestor de compensación — en orden inverso.

¿Es obligatoria una Cancelación en el Borde sobre la transacción?

En la práctica sí — sin ella, la cancelación no tiene adónde encaminar las consecuencias.

Elementos relacionados