- Introduction
- Démarrage
- Modélisation du processus avec BPMN
- 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 (aperçu)
- Référentiel de processus
- Modélisation des processus avec la gestion des incidents
- Concevoir un schéma d'entité de cas persistant
- Définition des clés de cas (système vs. externe)
- Établissement des contrats d'E/S et de réécriture de la tâche
- Règles de sortie et fin de l’étape précoce
- Modélisation des étapes primaires et secondaires
- Déclencher un cas à partir de Data Fabric
- Implémentation des personas et des autorisations au niveau de l'étape
- Définition des SLA et des règles d'escalade automatisées
- Configuration d'une boucle de retraitement (renouvellement)
- Gestion des instances de cas en cours : suspendre, migrer et réessayer
- Dictionnaire des composants de gestion des incidents Maestro
- Modélisation des processus avec Flow
- Implémentation des processus
- 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
Sous-flux pour regrouper les nœuds de processus dans des unités réutilisables et autonomes au sein d'un workflow parent, avec des règles d'étendue des variables et une configuration d'entrée/de sortie.
De quoi il s'agit
Un sous-flux est un processus intégré dans un autre processus. Il regroupe un ensemble de nœuds dans une unité autonome qui s'exécute dans le cadre du processus parent et lui renvoie la sortie. Les sous-flux vous aident à organiser une logique complexe en éléments réutilisables et gérables.
Mode de fonctionnement
Lorsqu'un processus parent atteint un nœud de sous-flux, l'exécution entre dans le sous-flux et exécute ses nœuds dans la séquence. Le sous-flux a sa propre étendue de variables, de sorte que les variables définies à l'intérieur n'entrent pas en conflit avec les variables du processus parent. Lorsque le sous-flux se termine, sa valeur de retour est renvoyée au processus parent et l'exécution se poursuit à partir du nœud suivant après le sous-flux.
Les nœuds à l'intérieur d'un sous-flux peuvent accéder:
- Autres nœuds au sein du même sous-flux
- L’étendue du processus parent
La valeur de retour du sous-flux est accessible au processus parent sous la forme $vars.<subflowName>.output.
Création d'un sous-flux
Pour ajouter un sous-flux à votre processus:
- Ouvrez la palette de nœuds sur le canevas.
- Recherchez ou localisez le nœud Subflow .
- Faites-le glisser sur la zone de dessin et connectez-le au nœud précédent.
Flux ajoute le sous-flux sous forme de conteneur réductible sur la zone de dessin. Sélectionnez-le pour le développer et ajoutez des nœuds à l'intérieur.
Résultat: le sous-flux apparaît sur la zone de dessin sous la forme d'un conteneur réductible. Faites glisser les nœuds à l'intérieur pour définir la logique du sous-flux.
Transmission de données en entrée et en sortie
Entrées
Vous définissez les entrées de sous-flux dans le panneau Propriétés. Chaque entrée accepte une valeur ou une expression de l’étendue du processus parent.
Pour configurer les entrées de sous-flux:
- Sélectionnez le nœud du sous-flux sur la zone de dessin.
- Ouvrez la section Entrées de sous-flux dans le panneau Propriétés.
- Pour chaque entrée, saisissez un nom et une valeur ou une expression.
Résultat: les entrées sont configurées et disponibles dans le corps du sous-flux en tant que $vars.<inputName>.
Sortie
La valeur de retour du sous-flux est disponible pour le processus parent sous la forme $vars.<subflowName>.output. Vous le référencez dans n'importe quelle expression de nœud en aval comme n'importe quelle autre sortie de nœud.
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
Étendue de la variable
Les sous-flux créent leur propre étendue de variables. Cela signifie que les variables mises à jour dans un sous-flux sont espace de noms pour éviter les conflits avec le processus parent.
De l'extérieur du sous-flux, vous référencez les variables internes d'un sous-flux comme $vars.<subflowName>.<variableName>. Par exemple, une variable counter à l'intérieur d'un sous-flux nommé subflow1 est référencée comme $vars.subflow1.counter par le processus parent.
Depuis l'intérieur du sous-flux, les nœuds accèdent à la sortie de leurs nœuds frères à l'aide du modèle $vars.<nodeName>.<property> standard. Ils peuvent également lire directement à partir de l'étendue du processus parent.
L'espacement des noms des variables empêche les variables internes d'un sous-flux d'écraser les variables parents qui partagent le même nom. Vous n'avez pas besoin de coordonner les noms de variable entre le parent et le sous-flux.
Exemple pratique
Un processus parent qui appelle un sous-flux pour valider les données de commande avant de les traiter.
Processus parent:
- Requête HTTP (
httpRequest1): extrait les données de commande à partir d'une API externe. - Sous-flux (
validateOrder) — valide les données de commande et renvoie un résultat. - Décision (
decision1): branches basées sur le résultat de la validation.
Dans le sous-flux validateOrder :
-
Script (
script1) — vérifie que les champs requis sont présents et que le total de la commande est supérieur à zéro.const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" }; -
Le sous-flux renvoie la sortie du script en tant que
$vars.validateOrder.output.
Retour dans le processus parent:
Le nœud de décision évalue $vars.validateOrder.output.isValid === true et dirige soit un chemin d'exécution, soit un chemin de gestion des erreurs.
Pages liées
- Variables et flux de données — règles d'étendue des variables, syntaxe de l'expression, modèles d'accès
$vars - La zone de dessin — navigation dans la zone de dessin, panneau Propriétés, palette de nœuds
- Gestion des erreurs - configuration des gestions d’erreurs sur les nœuds, y compris dans les sous-flux