Los eventos de BPMN
Círculos, y las dos cosas de un círculo que cargan con todo el significado: cuánto pesa su borde y qué hay dibujado dentro. En cuanto esas dos ideas están separadas en tu cabeza, todo el catálogo de eventos se reduce a una rejilla.
8 min de lecturaBPMN 2.02 de 7
La respuesta corta
- Un evento BPMN carga dos hechos independientes: su borde dice dónde está en el flujo, su glifo dice de qué tipo es.
- Borde fino es un evento de inicio, doble es intermedio, grueso es de fin. Nada más del círculo cambia eso.
- Un glifo sin rellenar captura, uno relleno lanza. El mismo sobre significa espera un mensaje o envíalo, y lo decide solo el relleno.
- El evento de borde es como BPMN modela la excepción: interruptor con borde continuo cancela la actividad, no interruptor con borde discontinuo corre junto a ella.
01Primero el grosor del borde, después el glifo#
Todo evento BPMN responde a dos preguntas de forma independiente, y leerlas por separado es todo el truco:
| Elemento | Notación | Qué significa |
|---|---|---|
| Evento de inicio | borde simple fino | Donde comienza una instancia del proceso. Nada puede entrar en él. Un proceso puede tener más de uno, y cada uno es una vía de entrada distinta. |
| Evento intermedio | borde doble | Algo que ocurre durante el proceso: o se espera, o se lanza. Va en un flujo de secuencia, o en la frontera de una actividad. |
| Evento de fin | borde simple grueso | Donde termina este camino. Nada puede salir de él. Alcanzarlo termina ese token, no necesariamente todo el proceso. |
| Glifo interior | sobre, reloj, rayo | Qué clase de cosa ocurrió. Vacío significa "ninguno": sin especificar, y perfectamente respetable en un modelo descriptive. |
02Los tipos de evento que vale la pena conocer#
| Elemento | Notación | Qué significa |
|---|---|---|
| Ninguno | círculo vacío | Sin especificar. La elección correcta en un modelo descriptive donde "el proceso empieza" es todo lo que hace falta. |
| Mensaje | sobre | Algo llegó de otro participante, o se le envía. Siempre emparejado con un flujo de mensaje que cruza la frontera de un pool. |
| Temporizador | reloj | Una fecha, una duración o un ciclo. Como evento de inicio es el calendario; en una frontera es un plazo. |
| Error | rayo | Un fallo con nombre. Lanzado por un evento de fin dentro de un subproceso, capturado por un evento de frontera sobre él. Este es el try/catch de BPMN. |
| Señal | triángulo | Una difusión. A diferencia de un mensaje no tiene destinatario concreto: reacciona todo el que escucha. |
| Condicional | página con renglones | Se dispara cuando una condición sobre los datos se vuelve cierta, no cuando acaba un paso. |
| Escalado | flecha hacia arriba | Como un error, pero la actividad sigue. "Avisa a alguien de arriba y continúa." |
| Terminación | círculo relleno | Evento de fin que mata todos los tokens de la instancia, no solo el suyo. El único evento de fin con dientes. |
Ocho de trece. Compensación, cancelación, enlace y múltiple existen y son lo bastante raros como para consultarlos el día que aparezcan.
03Eventos de frontera, o: todo lo que sale mal#
Un evento de frontera es un evento intermedio dibujado en el borde de una actividad, y es la construcción más útil de BPMN. Dice: mientras esta tarea corre, puede ocurrir esta otra cosa, y si ocurre, salid por aquí.
Plazos vencidos, cancelaciones, errores, un cliente que llama para cambiar su pedido: todos son un evento de frontera, y todos necesitarían si no una compuerta y un segundo camino que el lector tiene que entrelazar mentalmente con el primero.
| Elemento | Notación | Qué significa |
|---|---|---|
| Interruptor | borde doble sólido | La actividad se cancela y el token sale por la frontera. Un plazo, un error, una cancelación. |
| No interruptor | borde doble discontinuo | La actividad sigue y un segundo token arranca por el camino de la frontera. Un escalado, una consulta de estado, un recordatorio. |
04Eventos de inicio y de fin en la práctica#
Un proceso con varios eventos de inicio tiene varias vías de entrada genuinamente distintas: un siniestro que llega por correo, por app y por teléfono. Eso suele ser más claro que un solo evento de inicio seguido de una compuerta que pregunta cómo llegó, porque la compuerta da a entender que el canal es una decisión del proceso, cuando es un hecho que se le entrega.
Con los eventos de fin es al revés: varios suelen ser lo correcto, porque el nombre del evento de fin es el resultado. "Siniestro liquidado" y "Siniestro rechazado" como dos eventos de fin dicen más que un "Fin" con una compuerta delante. Los informes de proceso contarán después justo esos, así que nombrarlos bien paga dos veces.
Úsalo cuando
- Varios eventos de inicio cuando hay de verdad varios disparadores
- Varios eventos de fin, cada uno con el nombre del resultado que representa
- Un evento de fin de terminación cuando el fallo de un camino debe parar todo
- Eventos de frontera para cada excepción que sepas nombrar
Usa otra cosa cuando
- Un 'Fin' vacío tras una compuerta que ya decidió el resultado
- Un evento intermedio sin tipo usado como hito: usa una anotación de texto
- Un evento de inicio de mensaje sin flujo de mensaje dibujado hacia él
- Eventos de frontera en una tarea que no puede interrumpirse de forma plausible
05Errores comunes#
- Flujo de secuencia saliendo de un evento de fin. Nada sigue a un evento de fin. Nunca. Si algo lo hace, era un evento intermedio.
- Un evento de mensaje sin flujo de mensaje. El glifo afirma que existe otro participante; dibuja el pool y el flujo, o usa un evento sin tipo.
- Lanzar y capturar confundidos. El hueco espera, el relleno envía. Al revés invierte la dirección de toda la conversación.
- Temporizadores usados como esperas que en realidad son colas. "Esperar 2 días" suele significar "esto está en la bandeja de alguien". Modela la tarea y pon el temporizador en su frontera.
- Un solo evento de fin para todo. Los resultados desaparecen, y los informes con ellos.
Los eventos se emparejan de forma natural con las compuertas: una compuerta basada en eventos es precisamente una carrera entre varios eventos captadores, y es la construcción que hace expresable "lo que llegue primero".
En una línea cada uno
- 01El grosor del borde dice cuándo: fino inicia, doble ocurre durante, grueso termina.
- 02El glifo interior dice de qué clase; vacío es una respuesta legítima.
- 03Los glifos huecos capturan, los rellenos lanzan.
- 04Un evento de frontera es como BPMN dice "y si esto sale mal".
- 05El interruptor cancela la actividad; el no interruptor corre a su lado.
- 06Nombra los eventos de fin por los resultados: se convierten en tus informes de proceso.
06Preguntas frecuentes#
¿Qué significan los distintos bordes de evento en BPMN?
El grosor del borde lleva la posición en el flujo. Una línea fina y simple es un evento de inicio, una línea doble es intermedio, y una línea gruesa y simple es un evento de fin. El glifo interior lleva el tipo, así que borde y glifo son dos elecciones independientes.
¿Qué diferencia hay entre un evento de lanzamiento y uno de captura?
Un evento de captura espera a que algo ocurra y tiene el glifo sin rellenar. Uno de lanzamiento hace que ocurra y tiene el glifo relleno. El mismo símbolo de sobre significa por tanto espera un mensaje cuando está vacío y envía un mensaje cuando está relleno.
¿Qué es un evento de borde en BPMN?
Un evento intermedio pegado al borde de una actividad, que captura algo que ocurre mientras esa actividad está en marcha: un tiempo agotado, un error, un mensaje de cancelación. Es como BPMN modela las excepciones sin un diagrama aparte de manejo de errores.
¿Qué diferencia hay entre un evento de borde interruptor y uno no interruptor?
Un evento de borde interruptor tiene borde continuo y cancela la actividad a la que está pegado cuando se dispara. Uno no interruptor tiene borde discontinuo y arranca un camino paralelo mientras la actividad continúa, que es como se modela un aviso de escalado.
¿Cuáles son los tipos de evento BPMN más comunes?
Mensaje, temporizador, error, señal y condicional cubren la mayoría de los diagramas reales. Mensaje y temporizador por sí solos cubren la mayor parte: algo llegó, o pasó tiempo suficiente.
En esta serie
Lecturas relacionadas
Fundamentos
Referencia de notación
Diagramas de comportamiento
Referencia de notación
Práctica del modelado
Práctica del modelado