Objectifs de la formation
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 ?
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
Programme
Introduction
Panorama
- BPM et orchestration de services, définitions et cas d’utilisation Les diférents rôles, fonctionnel métier et intégrateur de solution
- Particularités des projets implémentant des processus métier et facteurs de réussite
- Présentation des standards
Modélisation de processus
- Programmation orientée processus, graphes orientés et états en attente Représentation graphiques des processus Noeuds, transitions et jetons
- Modèle d’éxécution du graphe, variables de processus
- Persistance, transactions et services
Introduction à jBPM
- Objectifs du projet Le langage jPDL, comparaison avec BPEL Le moteur de workflow et la gestion de processus Le modeleur graphique
- La web console
- Les différentes configurations disponibles
- Installation de jBPM et mise en place de l’environnement Eclipse
Premier pas
Modélisation avec jBPM Designer et syntaxe XML
- Responsabilité des noeuds
- Principaux types de noeuds (tâche, état, décision, fork, join)
- Les transitions
- Actions et événements
- Processus et sous processus, transfert d’informations
- Démonstration avec jBPM Designer, commentaires du fichier XML
- Gé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 .ear
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 jBPM
- Le 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ées
- Configuration et interface ActionHandler Les événements et leur propagation Scripts
Gestion des processus
- Déployer des processus programmatiquement
- Versionning et changement à chaud
Gestion de tâches
Introduction
- Définition de tâche et instance Affectation de tâche, les todo list
- Cycle de vie d’une tâche
- Fin 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
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
Utilisation du serveur JBoss et de l’IDE Eclipse
Thèmes : Java - Framework et outils