BPMN Event Subprocess expliqué avec exemple réel
Dans un workflow BPMN, il arrive qu’un événement doive être traité sans casser le flux principal.
Exemples :
Un client annule une commande pendant l’approbation
Un paiement expire
Un SLA est dépassé
Une escalade urgente est déclenchée
Pour cela, on utilise un Event Subprocess.
Cette architecture est couramment utilisée dans les environnements microservices modernes.
👉 environnements microservices modernes
📌 Qu’est-ce qu’un Event Subprocess ?
Un Event Subprocess est un sous-processus déclenché par un événement à l’intérieur d’une instance en cours d’exécution.
Il peut :
Interrompre le processus
Ou s’exécuter en parallèle
Il n’a pas besoin de séquence entrante.
🖼️ Diagramme Event Subprocess
🧠 Pourquoi pas un Boundary Event ?
Boundary Event → attaché à une tâche
Event Subprocess → attaché à tout le processus
Donc l’event subprocess écoute globalement.
🔥 Types d’Event Subprocess
1️⃣ Interrupting Event Subprocess
Lorsqu’il est déclenché :
👉 Le flux principal s’arrête
Utilisé pour :
Annulation de commande
Détection fraude
Arrêt d’urgence
2️⃣ Non-Interrupting Event Subprocess
Lorsqu’il est déclenché :
👉 Le flux principal continue
👉 Le sous-processus s’exécute en parallèle
Utilisé pour :
Notifications
Rappels
SLA
Logs
🖼️ Interrupting vs Non-Interrupting
🛠 Exemple réel – Traitement de commande
Processus principal :
Mais le client peut annuler à tout moment.
On ajoute :
Event Subprocess → Message CANCEL_ORDER
Comportement
Si le message arrive :
L’approbation s’arrête
L’expédition s’arrête
La commande passe en statut annulé
🧾 Exemple BPMN XML
🖼️ Scénario d’annulation
🛠 Exemple SLA (Non-Interrupting)
Cas :
Le manager n’approuve pas sous 24h.
Déclencheur : Timer Event
Résultat :
Email de rappel
Log d’escalade
Processus continue
⚠️ Erreurs fréquentes
❌ Utiliser boundary event pour annulation globale
❌ Confondre interrupting et non-interrupting
❌ Ajouter une séquence entrante
Un event subprocess ne doit pas avoir de flux entrant.
🔐 Bonnes pratiques
✔ Message events pour triggers externes
✔ Timer events pour SLA
✔ Sous-processus court
✔ Logique métier minimale
🎯 Conclusion
L’Event Subprocess permet de gérer :
Annulations
Timeouts
Escalades
Exceptions
Il rend les workflows réactifs aux événements réels.
📚 Lecture recommandée
Guide de communication microservices avec Liferay
https://shikhanirankari.blogspot.com/2026/02/guide-de-communication-microservices.htmlSpring Boot + Camunda External Task Pattern
https://shikhanirankari.blogspot.com/2026/02/spring-boot-camunda-external-task_16.htmlIntégration Kafka avec Liferay – Guide complet
https://shikhanirankari.blogspot.com/2026/02/integration-kafka-avec-liferay-guide.html
💼 Support professionnel disponible
Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.
Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, CMS, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment