Skip to main content

Sous-Processus

Les Sous-Processus dans Softyflow vous permettent de modulariser votre flux de travail en appelant d'autres processus à partir d'un processus principal. Cela permet une meilleure organisation, la réutilisabilité et la possibilité d'exécuter plusieurs instances en parallèle.

Élément Sous-Processus dans un Diagramme BPMN

L'élément Sous-Processus représente visuellement un processus intégré dans votre flux de travail, vous permettant de créer des composants de flux de travail modulaires et réutilisables qui simplifient les conceptions de processus complexes et améliorent la maintenabilité.

Aperçu

Un Sous-Processus est un élément BPMN qui représente l'exécution d'un autre processus complet au sein du flux de processus actuel. Lorsque l'exécution atteint un élément Sous-Processus, Softyflow :

  1. Met en pause le processus actuel
  2. Lance le Sous-Processus spécifié avec les variables fournies
  3. Attend que le Sous-Processus se termine
  4. Reprend le processus parent avec les résultats du Sous-Processus

Configuration

Configuration de Base du Sous-Processus

Pour configurer un Sous-Processus dans le Modeleur de Processus :

  1. Sélectionner l'Élément Sous-Processus : Cliquez sur l'élément Sous-Processus dans votre diagramme BPMN
  2. Configurer les Paramètres du Sous-Processus : Dans le panneau de configuration du widget, développez la section "Configuration du Sous-Processus"
  3. Choisir le Processus : Sélectionnez le processus que vous souhaitez exécuter comme Sous-Processus dans la liste déroulante

Sélection du Sous-Processus

Panneau de Configuration du Sous-Processus

Ce panneau de configuration fournit des options pour sélectionner le Sous-Processus à exécuter et activer l'exécution multi-instance parallèle, permettant à un seul élément Sous-Processus de traiter plusieurs éléments de données simultanément.

La liste déroulante du Sous-Processus affiche tous les processus disponibles dans votre projet :

  • Les noms des processus sont affichés pour faciliter l'identification
  • Seuls les processus au sein du même projet sont disponibles
  • Le processus sélectionné sera exécuté avec les variables de processus actuelles

Transmission des Variables

Variables d'Entrée

Lorsqu'un Sous-Processus est lancé, il reçoit :

  • Toutes les variables de processus actuelles : Le contexte de variable complet du processus parent
  • Variables spéciales :
    • SF_mode : Le mode d'exécution (test/uat/prod)
    • SF_version : L'ID de version
    • SF_initiator : L'utilisateur qui a initié le processus parent
    • SF_loop_variables : Contient les données d'élément de tableau actuelles dans l'exécution multi-instance
    • SF_loop_index : Contient l'index d'itération actuel (basé sur 0) dans l'exécution multi-instance

Variables de Sortie

Lorsqu'un Sous-Processus se termine, ses résultats sont renvoyés au processus parent :

  • SF_sub_process_data : Contient les variables finales du Sous-Processus
  • SF_sub_process_res : Tableau contenant les résultats de plusieurs instances de Sous-Processus (pour l'exécution parallèle)

Exécution Multi-Instance Parallèle

Softyflow supporte l'exécution parallèle des Sous-Processus en utilisant les Caractéristiques de Boucle Multi-Instance BPMN.

Configuration Multi-Instance Parallèle

La configuration multi-instance parallèle transforme un seul Sous-Processus en un puissant moteur de traitement parallèle, créant et exécutant plusieurs instances de Sous-Processus simultanément, chacune traitant un élément différent de votre tableau de données.

Configuration

  1. Activer Multi-Instance : Configurez l'élément Sous-Processus avec les Caractéristiques de Boucle Multi-Instance
  2. Définir le Tableau Parallèle : Spécifiez une variable qui contient un tableau de valeurs
  3. Configurer la Variable de Tableau : Chaque élément du tableau sera utilisé pour démarrer une instance de Sous-Processus séparée

Configuration du Tableau Parallèle

Dans la configuration du Sous-Processus :

  • Champ de Tableau Parallèle : Entrez le nom d'une variable contenant un tableau
  • Utilisation de Variable : Chaque élément du tableau devient disponible sous SF_loop_variables dans le Sous-Processus
  • Accès à l'Index : L'index de tableau actuel est disponible sous SF_loop_index

Notes Importantes

  • Nom de Variable Seulement : N'utilisez pas la syntaxe {{}} ou ${} dans le champ de tableau - juste le nom de la variable
  • Validation du Tableau : Si la variable n'est pas un tableau, Softyflow la traite comme un tableau à un seul élément [{}]
  • Exécution Parallèle : Toutes les instances de Sous-Processus s'exécutent simultanément
  • Collecte des Résultats : Les résultats de toutes les instances sont collectés dans le tableau SF_sub_process_res

Bonnes Pratiques

1. Nommage des Variables

  • Utilisez des noms clairs et descriptifs pour les variables du Sous-Processus
  • Préfixez les variables spécifiques au Sous-Processus pour éviter les conflits
  • Documentez les variables d'entrée et de sortie attendues

2. Gestion des Erreurs

  • Implémentez la gestion des erreurs dans le parent et le Sous-Processus
  • Utilisez les événements de limite pour les scénarios d'expiration
  • Considérez les mécanismes de réessai pour les instances de Sous-Processus échouées

3. Considérations de Performance

  • Limitez les instances de Sous-Processus parallèles pour éviter l'épuisement des ressources
  • Surveillez les temps d'exécution du Sous-Processus
  • Utilisez des valeurs d'expiration appropriées pour les Sous-Processus de longue durée

4. Tests

  • Testez les Sous-Processus indépendamment avant l'intégration
  • Utilisez le mode de test pour valider la transmission des variables
  • Vérifiez le comportement d'exécution parallèle avec différentes tailles de tableau

Surveillance et Débogage

Suivi des Instances

Softyflow fournit des outils pour surveiller l'exécution du Sous-Processus :

  • Relations Parent-Enfant : Afficher la relation entre les processus dans les détails de l'instance
  • Statut d'Exécution : Surveiller le statut de chaque instance de Sous-Processus
  • Flux de Variables : Suivre comment les variables sont transmises et modifiées

Problèmes Courants

  1. Variable Non Trouvée : Assurez-vous que la variable de tableau existe et est correctement nommée
  2. Sous-Processus Ne Démarre Pas : Vérifiez l'ID du Sous-Processus et les permissions
  3. Problèmes de Performance : Surveillez les limites d'exécution parallèle
  4. Conflits de Variables : Utilisez des noms de variables uniques pour éviter les écrasements

Configuration Avancée

Exécution Conditionnelle du Sous-Processus

Utilisez les conditions de porte pour exécuter les Sous-Processus conditionnellement :

// Exemple de condition de porte
{{ approvalRequired }} == true && {{ documentType }} == 'contract'

Sélection Dynamique du Sous-Processus

Utilisez les variables pour sélectionner dynamiquement quel Sous-Processus exécuter :

// ID de Sous-Processus Dynamique
{
{
"process_" + documentType + "_approval";
}
}

Configuration de l'Expiration

Configurez les délais d'expiration pour l'exécution du Sous-Processus à l'aide des événements de minuteur de limite :

  • Durée du Minuteur : Définissez les valeurs d'expiration appropriées
  • Actions d'Expiration : Définissez ce qui se passe lorsque le Sous-Processus expire
  • Escalade : Implémentez les procédures d'escalade pour les Sous-Processus retardés

Conclusion

Les Sous-Processus dans Softyflow fournissent des capacités puissantes pour :

  • Modularisation : Diviser les processus complexes en composants gérables
  • Réutilisabilité : Utiliser le même Sous-Processus dans plusieurs processus parents
  • Traitement Parallèle : Exécuter plusieurs instances simultanément pour améliorer les performances
  • Maintenabilité : Mises à jour et tests plus faciles des composants de processus individuels

En suivant les directives de configuration et les bonnes pratiques décrites dans cette documentation, vous pouvez efficacement exploiter les Sous-Processus pour construire des solutions de flux de travail robustes et scalables dans Softyflow.