Tutoriel jBPM en Français : Gateway à Base d’Événement (Event-Based)

   🚀 Introduction

La ⏳ Gateway à Base d’Événement dans jBPM est utilisée lorsque le processus doit attendre des événements externes avant de continuer.

Contrairement aux Gateways 🟥 Exclusive ou 🟢 Inclusive, qui se basent sur des conditions de données, la Gateway à Base d’Événement écoute des événements tels que :

  • Événements de Message

  • ⏰ Événements Timer

  • 🔔 Événements Signal

Puis elle suit le chemin de l’événement qui se produit en premier.


Cette architecture est couramment utilisée dans les environnements microservices modernes.

👉 environnements microservices modernes


🛠️ Prérequis

  • jBPM / Business Central & KIE Server installés

  • ☕ JDK 11+ (ou JDK 17)

  • Accès : http://localhost:8080/business-central

  • Compréhension de base des événements en BPMN2 (Message, Timer, Signal)


📝 Étape 1 : Créer un nouveau processus

  1. Connectez-vous à Business Central

  2. Créez un projet : event-gateway-demo

  3. ➕ Ajouter un Business Process : EventGatewayProcess

    • Id : com.example.eventgateway

    • Package : com.example


🎨 Étape 2 : Concevoir le workflow

  1. Ajouter un nœud Start (Début)

  2. ⏳ Ajouter une Gateway à Base d’Événement

  3. Ajouter un Événement Intermédiaire de Type Message Catch (attente de la réponse du client)

  4. ⏰ Ajouter un Événement Intermédiaire de Type Timer (délai après X minutes/jours)

  5. Connecter chaque événement à son propre nœud End (Fin)

Flux attendu :

Début → ⏳ Gateway Event-Based → (Message Event → ✅ Fin, Timer Event → ❌ Fin)


📊 Étape 3 : Définir le comportement

  • ⏳ Le processus se met en pause au niveau de la gateway et attend

  • Si un message arrive (par exemple « Réponse du client ») → le processus suit le chemin du message

  • Si le timer expire en premier → le processus prend le chemin du timer

  • ⛔ Seul un chemin événementiel est pris — celui correspondant à l’événement qui survient en premier


⚙️ Étape 4 : Configurer les événements

  1. Message Event :

    • Nom : customerReply

    • Référence de message : CustomerResponse

  2. Timer Event :

    • Durée : PT5M (5 minutes) ou P1D (1 jour)


🔨 Étape 5 : Construire et déployer

  1. Sauvegarder le processus

  2. Build & Install

  3. Déployer sur le KIE Server


▶️ Étape 6 : Lancer le processus

  1. Aller dans Manage → Process Definitions

  2. ▶️ Démarrer une nouvelle instance de EventGatewayProcess

  3. Le processus attend à la gateway :

    • Si la réponse du client arrive → le processus termine avec succès

    • Si le timer expire d’abord → le processus suit le chemin de timeout


📌 Étape 7 : Exemples d’utilisation

  • Attendre la confirmation d’un utilisateur (message) OU ⏰ annuler automatiquement après le délai

  • Réponse à un email attendue OU solution de secours si ⏰ pas de réponse dans X jours

  • Paiement d’un client (message) OU ⏰ annuler la commande s’il n’est pas reçu à temps


🛠️ Dépannage

  • ❌ Processus bloqué ? → Vérifier que les définitions d’événements sont correctement configurées

  • ⚠️ Les deux chemins se déclenchent ? → Seulement un devrait se déclencher ; vérifier que vous utilisez des événements intermédiaires, pas des tâches normales

  • Timer ne fonctionne pas ? → Utiliser le format ISO 8601 correct (par exemple PT30SPT5MP1D)


🎯 Conclusion

La ⏳ Gateway à Base d’Événement est essentielle pour les workflows qui dépendent de déclencheurs externes plutôt que de conditions internes.
Elle rend vos processus réactifs et sensibles au temps :

  • Attendre des messages utilisateur / client / système

  • Gérer automatiquement les délais

  • Réagir aux signaux métiers

En utilisant les Gateways Event-Based, vous pouvez concevoir des workflows dynamiques qui s’adaptent aux incertitudes du monde réel, comme attendre des réponses, respecter des échéances ou réagir à des signaux.


💼 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, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).

📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com


🎥 Learn IT with Shikha on YouTube

Prefer learning through videos? Watch practical tutorials on Kafka, Camunda, Alfresco, Java, Spring Boot, Microservices and Enterprise Architecture.

▶ Subscribe to Learn IT with Shikha on YouTube

Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

10 BPMN Best Practices Every Camunda Developer Should Know

OOPs Concepts in Java | English | Object Oriented Programming Explained