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.


🛠️ 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


Comments

Popular posts from this blog

jBPM Installation Guide: Step by Step Setup

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained