Composant REST dans jBPM – Guide Complet avec Exemples (en Français)
Les processus métiers modernes nécessitent souvent d'appeler des services externes : microservices internes, API publiques ou systèmes tiers.
Avec jBPM, cela est très simple grâce au REST Work Item Handler (REST WIH), également appelé Composant REST.
Dans cet article, vous allez apprendre :
-
Ce qu’est le composant REST
-
Comment le configurer dans jBPM
-
Comment effectuer des appels GET, POST, PUT, PATCH, DELETE
-
Comment envoyer des en-têtes, paramètres et corps JSON
-
Comment récupérer les réponses et les stocker dans des variables du processus
-
Les bonnes pratiques
🔹 Qu’est-ce que le Composant REST dans jBPM ?
Le REST Work Item Handler permet à votre processus BPMN d’effectuer des appels REST externes.
Il permet :
✔ d’appeler n’importe quelle API REST
✔ d’utiliser GET / POST / PUT / DELETE / PATCH
✔ d’envoyer un corps JSON/XML
✔ d’envoyer des en-têtes HTTP (headers)
✔ de récupérer le code statut + réponse du serveur
✔ de stocker la réponse dans vos variables du processus
Il s’utilise dans une Tâche de Service (Service Task) dans jBPM.
🔧 Configuration du REST Work Item Handler
Dans votre pom.xml :
Enregistrement du handler :
Votre processus peut maintenant effectuer des appels REST.
📘 Exemple BPMN Simplifié
Début → Tâche REST → Script → Fin
📤 Exemple 1 : Appel REST POST (JSON Simple)
Paramètres dans la Tâche de Service
| Paramètre | Valeur |
|---|---|
| 📤 Méthode | POST |
| Url | https://api.restful-api.dev/objects |
| ContentType | application/json |
| Body | {"name":"Laptop","price":999} |
Utilisation de la réponse :
⛳ Exemple 2 : Appel REST GET
| Paramètre | Valeur |
|---|---|
| ⛳ Méthode | GET |
| Url | https://api.restful-api.dev/objects/100 |
| ContentType | application/json |
♻️ Exemple 3 : Appel REST PUT
Corps JSON :
| Paramètre | Valeur |
|---|---|
| ♻️ Méthode | PUT |
| Url | https://api.restful-api.dev/objects/100 |
| Body | JSON Body |
✏️ Exemple 4 : Appel REST PATCH
| Paramètre | Valeur |
|---|---|
| ✏️ Méthode | PATCH |
| Url | https://api.restful-api.dev/objects/100 |
| Body | {"price": 1500} |
🗑️ Exemple 5 : Appel REST DELETE
| Paramètre | Valeur |
|---|---|
| 🗑️ Méthode | DELETE |
| Url | https://api.restful-api.dev/objects/100 |
📌 Exemple 6 : Ajouter des Headers (Authorization, API Key)
Dans la Tâche REST :
| Nom | Valeur |
|---|---|
| Headers | Authorization=Bearer 12345,x-api-key=ABC-XYZ |
| 📤 Méthode | POST |
⛳ Exemple 7 : URL Dynamique avec Variables du Processus
→ jBPM remplace automatiquement #{itemId}.
Appel ⛳ GET dynamique.
🎯 Bonnes Pratiques pour le REST dans jBPM
✔ Stocker les URLs et Tokens dans des variables globales
✔ Ajouter un Script Task après l’appel pour valider la réponse
✔ Convertir les réponses JSON en POJO via Jackson
✔ Ne pas mettre de gros JSON directement dans le BPMN
✔ Utiliser les variables de processus pour les IDs dynamiques
👉 Regardez “REST Component in jBPM 7” en action:
Une démonstration en direct montrant comment le composant REST fonctionne avec un processus.
🎬 YouTube: Learn IT with Shikha
Une démonstration en direct montrant comment le composant REST fonctionne avec un processus.
🎬 YouTube: Learn IT with Shikha
LearnITWithShikha/customWorkItemItemHanlder at RESTComponent
🧠 Quand utiliser le REST Work Item ?
✔ Idéal si :
-
Vous voulez zéro code Java
-
Vous configurez les appels directement dans BPMN
-
Vous souhaitez une visibilité claire du flux métier
❌ Moins adapté si :
-
Authentification complexe
-
Logique d’erreur avancée
-
Besoin de transformations JSON complexes
Dans ce cas → utiliser Java + Service Task.
✅ Résumé
| Fonction | Support REST WIH |
|---|---|
| Appels API | ✔ |
| JSON/XML | ✔ |
| Headers | ✔ |
| Variables dynamiques | ✔ |
| Réponse + statut | ✔ |
| Configuration facile | ✔ |
Le Composant REST de jBPM est un outil puissant qui permet d’intégrer facilement des API externes dans vos workflows.
💼 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
Post a Comment