- Introduction
- Démarrage
- Modélisation des processus
- Compréhension de la modélisation des processus
- Ouverture du canevas de modélisation
- Modéliser votre processus
- Alignement et connexion des éléments BPMN
- Autopilot™ pour Maestro (version préliminaire)
- Implémentation des processus
- Intégration des systèmes et des données
- Débogage
- Simulation
- Publication et mise à niveau des processus agentiques
- Scénarios de mise en œuvre courants
- Extraire et valider des documents
- Opérations de processus
- Surveillance des processus
- Optimisation des processus
- Informations de référence

Guide de l'utilisateur de Maestro
Sous-processus
Vue d'ensemble (Overview)
Un sous-processus est un ensemble d'autres tâches et de sous-processus qui contribue à diviser un processus complexe en parties plus faciles à gérer et à naviguer.
- Optez pour une activité Call (Appel) lorsque vous devez utiliser un processus supplémentaire, soit au sein du même projet, soit à partir d'un projet distinct. Un tel processus agentique, avec une valeur indépendante, peut être invoqué soit en tant que processus autonome, soit par d'autres processus, ce qui déclenche automatiquement la création d'une nouvelle instance.
- Utiliser un sous-processus lorsqu'il est nécessaire d'encapsuler une logique spécifique, ce qui accroît la simplicité du processus parent. En tant que partie inhérente de la même instance, le sous-processus contribue à rationaliser l'ensemble de l'orchestration.
Reportez-vous à Modélisation des processus pour de plus amples informations sur la prise en charge de BPMN.

Transmission et accès aux variables entre les sous-processus
Les sous-processus encapsulent une logique réutilisable, mais ils ont souvent besoin d'échanger des données avec le processus parent ou d'autres sous-processus. Maestro fournit des règles claires sur la façon dont les variables sont définies et transmises afin que vos données restent cohérentes à tous les niveaux.

Accès aux entrées d'un sous-processus
Pour accéder à la sortie d'une activité précédente dans le même sous-processus, aucune configuration supplémentaire n'est nécessaire.
Exemple: si l'activité foo définit une variable de sortie appelée foo_op et qu'une activité ultérieure bar existe dans le même sous-processus, bar peut référencer directement foo_op .
Règle clé: Les variables définies dans une activité sont accessibles à toute activité en aval au sein du même sous-processus, y compris les éléments imbriqués. Vous n'avez pas besoin de les transmettre explicitement en tant qu'entrées de sous-processus.
Exposition des sorties d'un sous-processus
Lorsqu'un processus parent a besoin d'accéder aux données de sortie d'une activité dans un sous-processus imbriqué, vous pouvez exposer ces données à l'aide de l'une des deux approches suivantes.
Approche 1 : utilisation de variables de sortie
- Dans le sous-processus interne, définissez une variable de sortie, par exemple
inner_sp_op, et attribuez-lui la valeur de la sortie de l'activité interne (bar_op). - Dans le sous-processus externe (ou processus parent), définissez une autre variable de sortie, par exemple
outer_sp_op, et attribuez-lui la valeur de la sortie du sous-processus interne (inner_sp_op). - Les activités en aval (par exemple,
qux) dans le processus parent peuvent désormais utiliserouter_sp_op.
Approche 2 : utilisation de variables d'événement de fin
-
Dans le sous-processus interne, configurez l' événement de fin pour déclarer une variable de sortie telle que
ee_inner_opet attribuez-lui la valeur debar_op. -
Dans le sous-processus externe, configurez l’événement de fin correspondant pour déclarer une variable de sortie telle que
ee_outer_op, et attribuez-lui la valeur deee_inner_op. -
L’activité
quxdans le processus parent peut désormais utiliseree_outer_op.Astuce :Les variables d'événement de fin se propagent automatiquement à l'étendue parente sans nécessiter de configuration de variable de sortie distincte.
Vérification des variables de sous-processus
Vous pouvez inspecter les valeurs des variables au temps de conception (via l'API de débogage) ou lors du runtime (via l'API d'instance) pour vérifier la portée et la propagation des données.
API de débogage - Affichage des 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 - Affichage des 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
Marqueurs multi-instances
Les sous-processus prennent en charge les marqueurs multi-instances, dans lesquels chaque élément est exécuté plusieurs fois. Les éléments qui peuvent être marqués comme multi-instances sont tous les types de tâches, à l'exception des sous-processus.
Marqueurs imbriqués
Les chaînes de caractères de variables suivantes sont prises en charge en tant qu'itérateurs imbriqués :
| Catégorie | Attributs | Comment utiliser ou accéder |
|---|---|---|
| OuterSP : Obtenir les coordonnées de chaque utilisateur | InputCollection | var.GetUsers |
| OuterSP : Obtenir les coordonnées de chaque utilisateur | Élément de l'itérateur | iterator.item.gid |
| InnerSP : obtenir tous les e-mails de chaque contact | InputCollection | iterator[0].item.contactArray |
| InnerSP : obtenir tous les e-mails de chaque contact | Élément de l'itérateur | iterator[1].item.ContactId |
| Envoyer un e-mail | InputCollection | iterator[1].item.EmailArray |
| Envoyer un e-mail | Élément de l'itérateur | iterator[2]item.emailAddress |