- Introducción
- Primeros pasos
- Process modeling with BPMN
- Comprender el modelado del proceso
- Abrir el lienzo de modelado
- Modelar tu proceso
- Alinear y conectar elementos BPMN
- Autopilot para Maestro (vista previa)
- Repositorio de procesos
- Process modeling with Case Management
- Designing a persistent case entity schema
- Defining case keys (system vs. external)
- Establishing task I/O and write-back contracts
- Exit rules and early stage termination
- Modeling primary and secondary stages
- Triggering a case from Data Fabric
- Implementing stage-level personas and permissions
- Setting SLAs and automated escalation rules
- Configuring a rework loop (re-entry)
- Managing live case instances: pause, migrate, and retry
- Maestro case management component dictionary
- Implementación del proceso
- Depuración
- Simular
- Publicar y actualizar procesos de agente
- Escenarios de implementación comunes
- Extracción y validación de documentos
- Operaciones de proceso
- Supervisión de procesos
- Optimización de procesos
- Información de referencia
Guía del usuario de Maestro
Información general
Un subproceso es una colección de otras tareas y subprocesos que ayudan a dividir un proceso complejo en partes más manejables y navegables.
- Opta por una actividad Llamada cuando necesites utilizar un proceso adicional, ya sea dentro del mismo proyecto o desde un proyecto separado. Un proceso agéntico de este tipo, con un valor independiente, puede ser invocado como proceso autónomo o por otros procesos, desencadenando la creación de una nueva instancia automáticamente.
- Utiliza un subproceso cuando exista un requisito para encapsular una lógica específica, aumentando así la simplicidad del proceso principal. Como parte inherente de la misma instancia, el subproceso contribuye a agilizar la orquestación general.
Consulta Modelado de procesos para obtener más detalles sobre el soporte de BPMN.
Pasar variables entre subprocesos y acceder a las mismas
Los subprocesos encapsulan la lógica reutilizable, pero a menudo necesitan intercambiar datos con el proceso principal o con otros subprocesos. Maestro proporciona reglas claras sobre cómo se establecen y se transmiten las variables para que los datos sigan siendo coherentes en todos los niveles.
Acceder a entradas dentro de un subproceso
Para acceder a la salida de una actividad anterior dentro del mismo subproceso, no se requiere ninguna configuración adicional.
Ejemplo: si la actividad foo establece una variable de salida llamada foo_op, y existe una actividad posterior bar en el mismo subproceso, bar puede hacer referencia a foo_op directamente.
Regla clave: las variables definidas en una actividad son accesibles para cualquier actividad posterior dentro del mismo subproceso, incluyendo los elementos anidados. No es necesario pasarlos explícitamente como entradas de subprocesos.
Exponer las salidas de un subproceso
Cuando un proceso principal necesita acceso a los datos de salida de una actividad dentro de un subproceso anidado, puedes exponer esos datos utilizando uno de dos enfoques.
Enfoque 1: uso de variables de salida
- En el subproceso interno, define una variable de salida, por ejemplo
inner_sp_op, y asígnale el valor de la salida de la actividad interna (bar_op). - En el subproceso externo (o proceso principal), define otra variable de salida, por ejemplo
outer_sp_op, y asígnale el valor de la salida del subproceso interno (inner_sp_op). - Las actividades posteriores (por ejemplo,
qux) en el proceso principal ahora pueden hacer referencia aouter_sp_op.
Resultado
La salida del subproceso está expuesta y es accesible para las actividades posteriores en el proceso principal.
Enfoque 2: uso de variables de evento de final
- En el subproceso interno, configura el evento de fin para declarar una variable de salida como
ee_inner_op, y asígnale el valor debar_op. - En el subproceso externo, configura el evento de salida correspondiente para declarar una variable de salida como
ee_outer_op, y asígnale el valor deee_inner_op. - La actividad
quxen el proceso principal ahora puede hacer referencia aee_outer_op.
Resultado
Las variables de evento final se propagan al ámbito principal y están disponibles para las actividades posteriores en el proceso principal.
Las variables de evento de fin se propagan automáticamente al ámbito principal sin necesidad de una configuración independiente de la variable de salida.
Inspección de variables de subproceso
Puedes inspeccionar los valores de las variables en tiempo de diseño (a través de la API de depuración) o en runtime (a través de la API de instancia) para verificar el ámbito y la propagación de datos.
API de depuración: ver variables
GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess
GET /v1/debug-instances/{instanceId}/variables?parentElementId=outer_subprocess
Variables disponibles
foo_opinner_subprocess_opee_outer_op
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess
GET /v1/debug-instances/{instanceId}/variables?parentElementId=inner_subprocess
Variables disponibles
bar_opee_inner_op
API de runtime: ver variables
GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess
GET /v1/instances/{instanceId}/variables?parentElementId=outer_subprocess
Variables disponibles
foo_opinner_subprocess_opee_outer_op
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess
GET /v1/instances/{instanceId}/variables?parentElementId=inner_subprocess
Variables disponibles
bar_opee_inner_op
Marcadores multiinstancia
Los subprocesos admiten marcadores multiinstancia, donde cada elemento se ejecuta varias veces. Los elementos que pueden marcarse como multiinstancia son todos los tipos de tareas, excepto los subprocesos.
Marcadores anidados
La siguiente cadena de variables string se admite como iteradores anidados:
| Categoría | Atributos | Cómo utilizar/acceder |
|---|---|---|
| OuterSP: obtener información de contacto para cada usuario | Colección de entrada | var.GetUsers |
| OuterSP: obtener información de contacto para cada usuario | Elemento del iterador | iterator.item.gid |
| InnerSP: obtener todos los correos electrónicos para cada contacto | Colección de entrada | iterator[0].item.contactArray |
| InnerSP: obtener todos los correos electrónicos para cada contacto | Elemento del iterador | iterator[1].item.ContactId |
| Enviar correo electrónico | Colección de entrada | iterator[1].item.EmailArray |
| Enviar correo electrónico | Elemento del iterador | iterator[2]item.emailAddress |
- Información general
- Pasar variables entre subprocesos y acceder a las mismas
- Acceder a entradas dentro de un subproceso
- Exponer las salidas de un subproceso
- Enfoque 1: uso de variables de salida
- Resultado
- Enfoque 2: uso de variables de evento de final
- Resultado
- Inspección de variables de subproceso
- Variables disponibles
- Variables disponibles
- API de runtime: ver variables
- Variables disponibles
- Variables disponibles
- Marcadores multiinstancia
- Marcadores anidados