En esta página
Gateways BPMN
Introducción
En BPMN 2.0, los gateways controlan el flujo determinando cómo se dividen, unen o dirigen los sequence flow según condiciones. Son puntos de decisión donde la ruta puede separarse o juntarse, permitiendo modelar workflows complejos con distintos resultados posibles. Los gateways se representan con rombos en los diagramas BPMN y diferentes íconos para indicar su comportamiento.
Tipos de Gateways
Exclusive Gateway (XOR Gateway)
- Propósito: Es el tipo de gateway más común; solo un camino se sigue según la condición.
- Representación visual: Un rombo con una “X” dentro.
- Ejemplo: En un proceso de aprobación, si la solicitud es aceptada, sigue un camino; si es denegada, sigue otro distinto.
- Caso de uso: Cuando el proceso solo puede tomar una ruta según la decisión, como “sí/no” o “true/false”.
Inclusive Gateway (OR Gateway)
- Propósito: Este gateway permite que uno o más caminos se sigan según condiciones. Todos los caminos con condiciones verdaderas se ejecutan.
- Representación visual: Un rombo con un círculo dentro.
- Ejemplo: En un proceso donde se requieren varias aprobaciones (pero no todas), el sistema sigue todos los caminos aplicables según condiciones definidas.
- Caso de uso: Cuando pueden seguirse varios caminos de acuerdo a condiciones, como diferentes criterios que pueden activar acciones distintas.
Parallel Gateway (AND Gateway)
- Propósito: Este gateway divide el flujo en varios caminos paralelos, donde todas las ramas deben ejecutarse a la vez. También puede sincronizar varias rutas de entrada.
- Representación visual: Un rombo con un ”+” dentro.
- Ejemplo: Una tarea donde varios departamentos revisan documentos al mismo tiempo.
- Caso de uso: Cuando tareas o acciones deben ocurrir en paralelo o es necesario sincronizar varias rutas antes de continuar.
Event-Based Gateway
- Propósito: Este gateway dirige el flujo según los eventos que ocurren. Espera un evento específico (por ejemplo, message, timer, signal) para decidir el siguiente camino.
- Representación visual: Un rombo con un pentágono dentro.
- Ejemplo: Un proceso que espera una respuesta del cliente o un timeout para continuar el flujo.
- Caso de uso: Cuando el siguiente paso depende de eventos externos, como esperar un message o la activación de un timer.
Puntos clave sobre los Gateways
- División de flujos: Los gateways pueden dividir un sequence flow en varias ramas, determinando qué camino (o caminos) seguir según condiciones o eventos.
- Unificación de flujos: También pueden unir varios sequence flow en uno, sincronizando caminos paralelos o juntando rutas según condiciones específicas.
- Toma de decisiones: Son esenciales para modelar puntos de decisión, donde el flujo depende del resultado de evaluaciones, eventos o input del usuario.
Casos de uso
- Exclusive Gateway: Cuando solo una condición puede cumplirse y el proceso sigue un único camino.
- Parallel Gateway: Cuando varias tareas pueden ocurrir al mismo tiempo y todas deben completarse.
- Inclusive Gateway: Cuando una o más condiciones pueden cumplirse y deben tomarse varias rutas.
- Event-Based Gateway: Cuando el flujo depende de eventos externos, como esperar un message o un timer.
- Complex Gateway: Cuando reglas o condiciones más complejas determinan la continuación del proceso.
Ejemplo
En un workflow de aprobación sencillo:
- Exclusive Gateway: Si la solicitud es aprobada, el proceso continúa; si se rechaza, finaliza.
- Parallel Gateway: Tras la aprobación, dos tareas (preparación de documentos y notificación) pueden hacerse en paralelo.
- Event-Based Gateway: El proceso espera la respuesta del cliente o un timeout para definir el siguiente paso.
Los gateways son clave para dar flexibilidad a los procesos de negocio, permitiendo tomar decisiones, procesar tareas en paralelo y sincronizar diferentes rutas en el workflow.