Formation Programmation orientée processus : le moteur de workflow jBPM
3 JoursObjectifs de la formation jBPM
Cette formation jBPM intensive de 3 jours est destinée aux développeurs Java concernés par des applications « workflow ». Après avoir introduit les concepts généraux sur la modélisation des processus métier, le cours présente les solutions apportées par la librairie jBPM éditée par JBoss dans une optique très opérationnelle. Après chaque section, un atelier conséquent permet aux participants d’aborder progressivement toutes les problématiques des applications mettant en oeuvre des processus métier.
À qui s’adresse cette formation ?
Public :
Ce cours s’adresse à tout développeur, chef de projet ou architecte impliqués dans la réalisation d’applications Java et plus particulièrement J2EE.
Prérequis :
Java Impératif
Contenu du cours jBPM
Introduction
PanoramaBPM et orchestration de services, définitions et cas d’utilisation
Les diférents rôles, fonctionnel métier et intégrateur de solutionParticularités des projets implémentant des processus métier et facteurs de réussitePrésentation des standardsModélisation de processus
Programmation orientée processus, graphes orientés et états en attente
Représentation graphiques des processus
Noeuds, transitions et jetonsModèle d’éxécution du graphe, variables de processusPersistance, transactions et servicesIntroduction à jBPMObjectifs du projet
Le langage jPDL, comparaison avec BPEL
Le moteur de workflow et la gestion de processus
Le modeleur graphiqueLa web consoleLes différentes configurations disponibles Travaux Pratiques Installation de jBPM et mise en place de l’environnement Eclipse
Premier pas
Modélisation avec jBPM Designer et syntaxe XMLResponsabilité des noeudsPrincipaux types de noeuds (tâche, état, décision, fork, join)Les transitionsActions et événementsProcessus et sous processus, transfert d’informationsDémonstration avec jBPM Designer, commentaires du fichier XMLGénérer une application web pour le prototypage
Problématiques de déploiement Librairie jBPM et dépendances Fichiers de configurations (noeuds, actions, calendrier, variables,etc)Base de données jBPM et relation avec Hibernate, configuration du service de persistance Déploiement pour un .war ou .earTravaux Pratiques Prise en main du designer, modélisation d’un processus de validation et exécution du processus dans une application web
Programmation client
Exécution d’un processus Instanciation d’un processus et notion de token Rôle des états d’attente et la méthode signal ()
Décomposition de l’éxécution d’une transition Mode asynchrone et démarcation des transactions
Stockage d’un jeton dans la base de données jBPMLe contexte de persistance jbpmContext
Méthodes de création et de mise à jour d’un jeton
Le service DbPersistenceService et DbPersistenceServiceFactory
jbpmContext avec d’autres services de persistance (EJB, Hibernate ou DataSource JDBC)
L’utilisation des variables de processus Types supportés Cycle de vie, persistance et périmètre d’application Personnalisation de la persistance avec les convertisseurs
Utiliser des actions personnaliséesConfiguration et interface ActionHandler
Les événements et leur propagation
Scripts Gestion des processus Déployer des processus programmatiquement Versionning et changement à chaud Travaux Pratiques Exécution d’un processus avec conditions via une application web
Gestion de tâches
Introduction Définition de tâche et instance
Affectation de tâche, les todo listCycle de vie d’une tâcheFin de tâche et continuation du processus
Affectation de tâche Acteurs, groupe d’acteurs et couloirs d’activité L’interface AssignementHandler Variables de tâche et contrôleurs Actions associées
Annuaire L’annuaire par défaut de jBPM Calcul des affectations Utiliser un annuaire existant Travaux Pratiques Mise en place d’un annuaire et d’une application de gestion de tâches
Problématiques connexes
Gestion documentaire Le standard Java Content Repository (JCR) et l’implémentation JackRabbit Variables de processus Timer Principe et déploiement
Cas d’utilisation (temporisateur, processus d’escalade, etc.)Calendrier métier
Notifications via email Implémentation via des actions
Modélisation d’une notification
Notification lors de l’affectation de tâche Reminders Templating et mise en place
Gestion des traces Création des traces d’exécutions du processus Configuration, mise en place d’entrepôt de données (data warehousing)Analyse des logs et Monitoring (BAM)Travaux Pratiques Reprise du TP précédent avec ajout de notifications et créations de traces
Travaux Pratiques
Utilisation du serveur JBoss et de l’IDE Eclipse