Subproceso
Una actividad que contiene su propio flujo interno — la forma de añadir detalle sin saturar el diagrama principal.
Qué es un subproceso
Un subproceso es una actividad con un signo más en la esquina inferior que esconde un flujo completo dentro. Desde el nivel padre parece una tarea más; expandirlo revela su propio conjunto de actividades, eventos y compuertas. El subproceso pertenece al proceso padre — vive dentro de él, no es una definición global independiente.
La diferencia con la actividad de llamada es el alcance. El subproceso está embebido y es exclusivo del proceso padre. La actividad de llamada invoca un proceso global reutilizable. Use subproceso cuando el detalle sólo aplica a este proceso; use actividad de llamada cuando el mismo subflujo existe en múltiples procesos.
Cuándo modelar algo como subproceso
- Cuando un paso del proceso es demasiado complejo para una sola tarea pero demasiado específico para merecer un proceso independiente.
- Cuando quiere adjuntar eventos de frontera a un grupo de tareas — los eventos de frontera sólo se pegan a actividades individuales o subprocesos, no a grupos de tareas sueltas.
- Cuando el subflujo tiene su propio contexto de error — un subproceso puede tener manejadores de error que atrapan excepciones antes de que lleguen al proceso padre.
- Cuando quiere modelar una transacción BPMN — el subproceso transaccional es la forma estándar de agrupar pasos que deben completarse juntos o compensarse todos.
Los subprocesos en LucidFlow
LucidFlow genera subprocesos cuando el documento fuente describe pasos que contienen múltiples sub-pasos con su propia lógica interna. El lienzo permite expandir y colapsar subprocesos interactivamente. El análisis ESSII evalúa cada subproceso como una unidad: si toda la lógica interna puede reemplazarse por una única llamada a servicio automatizado, el subproceso completo se convierte en una tarea de servicio en el proceso transformado.
Preguntas frecuentes
¿Un subproceso puede tener sus propios eventos de inicio y fin?
Sí, y debe tenerlos. El flujo interno del subproceso es un mini-proceso completo con su propio evento de inicio (que marca cuándo empieza el subflujo) y su propio evento de fin (que devuelve el control al proceso padre).
¿Puede un subproceso ser multi-instancia?
Sí. Un subproceso multi-instancia ejecuta su flujo interno completo una vez por elemento de una colección. Es la forma de modelar «ejecutar todo este subflujo para cada factura de la lista».
¿Qué ocurre si un evento de frontera se dispara en un subproceso?
Si el evento de frontera es interruptor, cancela todas las actividades en curso dentro del subproceso y enruta el token por el flujo saliente del evento de frontera. Si es no interruptor, el subproceso continúa y además se activa el camino paralelo del evento de frontera.