🇫🇷 Camunda 8 – Human Task Job Worker et Propriétés : Guide Complet avec Exemples

Dans Camunda 8, la gestion des tâches humaines (Human Tasks / User Tasks) est totalement différente de Camunda 7.

Il n’y a pas de moteur embarqué, pas de Java Delegates, et pas de logique Tasklist intégrée au moteur.

Camunda 8 repose sur Zeebe, un moteur de workflow distribué, cloud-native et orienté événements, où les Job Workers orchestrent l’exécution des tâches — y compris le cycle de vie des tâches humaines.

Ce guide explique :

✔ Le fonctionnement des Human Tasks dans Camunda 8
✔ Le rôle du Human Task Job Worker
✔ Toutes les propriétés importantes d’une Human Task
✔ L’assignation, la complétion et les variables
✔ Les différences avec Camunda 7
✔ Les bonnes pratiques et un exemple réel


⭐ 1. Fonctionnement des Human Tasks dans Camunda 8 (Vue globale)

https://docs.camunda.io/assets/images/operate-human-tasks-2229577a289bc604ab26e39c6f2b5b9e.png?utm_source=chatgpt.com
https://unsupported.docs.camunda.io/1.3/assets/images/task-lifecycle-5f923a57066f533fd2e4df9045164034.png?utm_source=chatgpt.com

Dans Camunda 8, le flux est le suivant :

  1. Une User Task BPMN est atteinte

  2. Le moteur Zeebe crée un job de type Human Task

  3. La Tasklist affiche la tâche aux utilisateurs

  4. L’utilisateur claim (optionnel) puis complete la tâche

  5. Le workflow reprend automatiquement

⚠️ Point fondamental :
👉 Toutes les Human Tasks sont asynchrones dans Camunda 8.


⭐ 2. Qu’est-ce qu’un Human Task Job Worker ?

Un Human Task Job Worker est un composant (interne à la plateforme) qui :

✔ Crée et gère les jobs de type Human Task
✔ Expose les tâches à la Tasklist
✔ Gère l’état de la tâche (créée, réclamée, complétée)
✔ Notifie le moteur lorsque la tâche est terminée

Contrairement aux Service Task Workers,
👉 le Human Task Job Worker n’exécute pas de logique métier :
c’est l’utilisateur qui prend la décision.


⭐ 3. Définition d’une User Task BPMN dans Camunda 8

https://docs.camunda.io/assets/images/userTask_heatMap-4bb653d46cb8314bd9c03946f36da3f9.png?utm_source=chatgpt.com
https://miro.medium.com/v2/resize%3Afit%3A1400/1%2A-u6CzPlrY_oRX-5L0jkCaQ.png?utm_source=chatgpt.com

Exemple BPMN simple :

<bpmn:userTask id="ApproveLoan" name="Approuver le prêt"/>

À l’exécution :

  • Un job Human Task est créé

  • Le moteur attend une action humaine

  • La complétion déclenche la suite du processus


⭐4. Propriétés principales d’une Human Task dans Camunda 8

Ces propriétés sont configurées dans le Web Modeler Camunda 8 (panneau de propriétés).


🔹 4.1 Assignee (Assigné)

Définit l’utilisateur responsable de la tâche.

assignee = john

Ou dynamique :

assignee = =loanOfficer

✔ Assignation directe
✔ Moins flexible à grande échelle
❗ À éviter pour des systèmes complexes


🔹 4.2 Candidate Users (Utilisateurs candidats)

Liste d’utilisateurs pouvant réclamer la tâche.

candidateUsers = alice, bob

✔ Un seul utilisateur pourra la réclamer
✔ Utile pour de petites équipes


🔹 4.3 Candidate Groups (Groupes candidats) ✅ recommandé

Définit les groupes autorisés à réclamer la tâche.

candidateGroups = managers, finance

✔ Idéal pour les entreprises
✔ Très scalable
✔ Compatible IAM / Identity Provider


🔹 4.4 Due Date (Date d’échéance)

Date limite de complétion (SLA).

dueDate = =now() + duration("P2D")

✔ Visible dans Tasklist
✔ Utilisée pour les alertes et escalades


🔹 4.5 Follow-Up Date (Date de suivi)

Utilisée pour rappels ou priorisation.

followUpDate = =now() + duration("P1D")

🔹 4.6 Priority (Priorité)

Définit l’importance de la tâche.

priority = 80

✔ Plus la valeur est élevée, plus la tâche est prioritaire
✔ Utilisée pour le tri dans Tasklist


⭐ 5. Input / Output Mapping (Variables)

https://forum.camunda.io/uploads/default/original/2X/9/98f7d40f861ad965f4c241b0a96c933890a12b0f.png?utm_source=chatgpt.com
https://forum.camunda.io/uploads/default/af1ad0891499d7cbd08cb213571dad73ddfe6764?utm_source=chatgpt.com

🔹 Input Mapping

Variables injectées dans la tâche humaine:

input: amount = =loanAmount

🔹 Output Mapping

Variables retournées après complétion :

output: approved = =approved

✔ Sécurité des variables
✔ Meilleure lisibilité
✔ Évite les écrasements accidentels


⭐ 6. Cycle de vie d’une Human Task

  1. Tâche créée

  2. (Optionnel) Tâche réclamée

  3. Tâche complétée

  4. Variables envoyées au moteur

  5. Le workflow continue

➡️ Aucune logique métier n’est exécutée dans la tâche elle-même.


⭐ 7. Rôle de la Tasklist dans Camunda 8

https://camunda.com/wp-content/uploads/camunda/blog-images/tasklist-2016-design-2.png?utm_source=chatgpt.com
https://docs.camunda.io/assets/images/tasklist-page-specifications-c7124b3ea4da0ae6819d9a7fd89fb2be.png?utm_source=chatgpt.com

La Tasklist Camunda 8 est une application séparée qui:

✔ Affiche les Human Tasks
✔ Permet claim / unclaim
✔ Permet la complétion
✔ Communique avec Zeebe via API

⚠️ Elle n’est pas embarquée dans le moteur.


⭐ 8. Human Task vs Service Task (Workers)

ÉlémentHuman TaskService Task
ExécutantHumainWorker
Type de jobHuman TaskJob technique
ExécutionManuelleAutomatique
DuréeMinutes / joursms / secondes
RetryManuel / BPMNAutomatique
SLATrès importantRare

⭐ 9. Différences avec Camunda 7

AspectCamunda 7Camunda 8
MoteurEmbarquéDistribué
TransactionsACIDÉventuelle
Human TaskSynchrone possibleToujours asynchrone
TasklistIntégréeApplication séparée
AssignationEngineWorker + Tasklist
ScalabilitéLimitéeTrès élevée

⭐ 10. Exemple réel : Processus d’approbation de prêt

https://camunda.com/wp-content/uploads/2024/09/bpmn-model-decision-making.webp?utm_source=chatgpt.com
https://miro.medium.com/v2/resize%3Afit%3A1400/0%2AhGJ7-kg90wiSfpRH.png?utm_source=chatgpt.com

Scénario :

  1. Soumission de la demande

  2. Validation automatique (Service Task)

  3. Human Task – Approbation par agent

  4. Si montant élevé → manager

  5. Notification finale

Propriétés Human Task :

  • candidateGroups = loan_officers

  • priority = 90

  • dueDate = +2 jours


⭐ 11. Bonnes pratiques Camunda 8 – Human Tasks

✔ Préférer candidateGroups à assignee
✔ Utiliser Input/Output Mapping
✔ Toujours définir une dueDate
✔ Garder les Human Tasks simples
✔ Externaliser la logique métier (DMN)
✔ Surveiller via Operate
✔ Concevoir en mode asynchrone


⚠️ Erreurs courantes à éviter

❌ Traiter Camunda 8 comme Camunda 7
❌ Attendre un comportement synchrone
❌ Mettre de la logique métier dans la tâche humaine
❌ Oublier les mappings de variables
❌ Hardcoder des utilisateurs
❌ Ignorer les SLA



🎉 Conclusion

Dans Camunda 8, les Human Tasks sont :

✔ Asynchrones
✔ Scalables
✔ Event-driven
✔ Gérées via Job Workers et Tasklist
✔ Adaptées aux architectures cloud-native

Maîtriser les Human Task Job Workers et leurs propriétés est indispensable pour concevoir des workflows robustes, modernes et performants avec Camunda 8.

💼 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).

📧 Contactishikhanirankari@gmail.com info@realtechnologiesindia.com

🌐 WebsiteIT Trainings | Digital lectern | Digital rostrum | Digital metal podium 


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