urbanisation-si

urbanisation-si

Red Hat JBoss jBPM


Tutoriel Red Hat JBoss jBPM (version community) (9) : démarrage et test final de l'exécution complète du processus de recrutement

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-decision-dg.png

 

L'objectif de cet article est de voir le déroulement complet du processus avec le démarrage du processus avec son formulaire associé, puis la connexions des différents participants avec la récupération des tâches dans leur corbeille, la saisie du formulaire associé et la progression automatique du workflow.

 

En étant connecté avec le user « admin », démarrez une instance du processus :

  • Menu Process Management - Process Definitions - sélectionnez recrutement - cliquez sur start

Le formulaire de démarrage du processus s'affiche.

Pour simplifier, dans notre exemple, c'est admin qui spécifie que le candidat sera "rhona" pour le poste "urbaniste SI" et le test de compétence (ah si tous les tests d'embauche étaient comme celui-ci ...) "2 + 2 = " auquel devra répondre le candidat pour ensuite être évalué par "sylvie" des ressources humaines, "thierry" du groupe Chef de Projet et la décision finale sera prise par "jacques" du groupe Direction Générale au vu de 2 recommandation RH et CP.

 

 

Le formulaire lié au processus, remplissez les champs comme indiqué dans l'écran suivant et valider.

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-admin-processus-11.png

 

 

Dans le menu Process Management - Process Instances - Onglet de droite « Instance Detail » montre la "human task" "Test de competence" active et dans l'état "Reserved" pour "rhona".

 

L'onglet "Process Variables" affiche les valeurs de toutes les variables de processus.

 

Le flow est passé à la 1ère tâche « Test de compétences ».
Déconnectez-vous et connectez-vous avec le user « rhona », supposons que ce soit une candidate au poste.
Récupérez la tâche en attente, remplissez et validez le formulaire comme indiqué dans l'écran suivant.

 

 

Le formulaire de rhona la candidate qui postule au poste :

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-rhona-testCompetence-12.png

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-rhona-testCompetence-complete-13.png

 

 

Recommencez les mêmes étapes avec « sylvie » du groupe RH,

Le formulaire de « sylvie » du groupe RH

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-sylvie-entretienRH-complete-14.png
 

 

Le formulaire de « thierry » du groupe CP

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-thierry-entretienRCP-complete-15.png

 

 

Le formulaire de « jacques » du groupe DG.

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-jacques-decision DirecteurProjet-complete-16.png

 

Une fois la dernière tâche exécutée (la décision du DG est prise), le processus se termine.

 


Ce didacticiel complet a permis de voir :

  • l’installation jBPM, 
  • une présentaton de l’IDE KIE Workbench, 
  • la création d’un projet dans un repository dans une unité organisationnelle, 
  • la conception d’un processus métier à la norme BPMN 2 avec l’outil web
  • la conception des formulaires associés aux tâches humaines
  • le déploiement du processus dans le moteur de jBPM
  • le démarrage et l’exécution d’une instance de processus
  • la récupération et l’accomplissement des tâches par les différents acteurs en fonction de leurs affectations.

 

Un bon nombre de thématiques n’ont pas été traitées comme

  • l’administration,
  • l’exploitation,
  • la persistance,
  • les transactions,
  • les performances,
  • le processus de mise en production,
  • le BAM (Business Activity Monitoring),
  • la simulation (BPMSim),
  • la gouvernance, l
  • e cycle de vie,
  • l’aspect méthodologique de conception des processus métier,
  • le lien avec l’urbanisme et la stratégie des SI ,
  • le retour sur investissement d'un outil de BPM,
  • les outils réservés aux développeurs,
  • l’intégration d’un moteur de règles métiers, j’en passe et des meilleurs, …

Mais il faut bien en garder un peu pour d’autres aventures « tutorielesques » qui verront le jour très prochainement.

 

"L'homme naît sans dents, sans cheveux et sans illusions, et il meurt de même, sans cheveux, sans dents et sans illusions."
Alexandre Dumas

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


27/11/2015
0 Poster un commentaire

Tutoriel Red Hat JBoss jBPM (version community) (8) : construction et déploiement du processus de notre étude de cas

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-build--deploy-deploiement.png

 

Une fois les formulaires personnalisés, on déploie le projet :

  • Cliquez sur le bouton Open Project Editor - Menu Build - Build & Deploy -
  • Cliquez sur le bouton undeploy correspondant au projet.


Vous devez avoir le message comme quoi c'est bien déployé.

Dans le cas contraire vérifiez si par exemple le projet n'est pas déjà déployé : Menu Deploy- Process Deployments -


Etant donné que tout a été généré et validé par l’outil, il ne devrait pas y avoir d’erreur lors du déploiement.

 

Dans le prochain article nous verrons le déroulement complet du processus avec le démarrage du processus avec son formulaire associé, puis la connexions des différents participants avec la récupération des tâches dans leur corbeille, la saisie du formulaire associé et donc la progression du workflow.

 

"L'incrédulité est quelquefois le vice d'un sot, et la crédulité le défaut d'un homme d'esprit."
Denis Diderot

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


27/11/2015
0 Poster un commentaire

Tutoriel Red Hat JBoss jBPM (version community) (7) : génération de formulaires et mapping des variables

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-processus-02.png

 

L'objectif de cet article est de voir comment on génère automatiquement des formulaires et comment on mappe les champs avec les variables locales aux tâches.  

 

Voyons tout d’abord les variables globales  d’un processus.

Au démarrage de l’instance du processus, ces variables seront créées et éventuellement initialisées.

Pour définir les propriétés du processus, cliquez quelque part dans la zone de travail. La zone de gauche affiche alors les propriétés du processus.

Cliquez sur "Définitions de variables" puis saisir les variables du processus qui seront utilisées en entrée ou en sortie des tâches.

 

Les variables globales  du processus de recrutement

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-processus-01.png

 

Vérifiez et modifier les autres champs (id, nom, package, processus exécutable, ...) avec les valeurs de l'écran ci-dessus.

 

La transmission en entrée et en sortie des valeurs des différents champs de formulaires se fait par recopie des variables globales de processus dans des variables locales de chaque tâche, puis sur le formulaire on va mapper chaque champ en entrée ou en sortie avec ces variables locales.

 

Pour générer automatiquement tous les formulaires de toutes les tâches en plus du formulaire attaché au démarrage du processus, dans le bandeau en haut, sélectionner l’icône de génération de formulaires, dans le menu déroulant, sélectionnez « Générer tous les formulaires »

 

Générer automatiquement tous les formulaires 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-generer-formulaires-07.png

 

Dans le répertoire src, les formulaires apparaissent avec leur convention de nommage : <nom de la tâche>-takform.form

 

Liste des formulaires générés :

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-listes-formulaires-08.png

 

Pour notre tutoriel dont l’objectif est de voir les étapes de conception d’un processus métier simple, nous garderons en l’état le look des formulaires générés, sachant que l’on peut  les personnaliser. De même l’aspect manipulation sera réduit à sa plus simple expression en manipulant en entrée/sortie les variables globales du processus.

 

Sélectionnez dans l’ordre les formulaires et modifiez-les en fonction des écrans ci-dessous.

 

Le formulaire correspondant au processus se nomme tutojbpm.recrutement-taskform.form. Il contient par défaut tous les champs correspondants aux variables de processus.

Ne laissez que les champs : "candidat, poste et testCompetence" et supprimez les autres.

 

Formulaire lié au processus de recrutement : tutojbpm.recrutement-taskform.form

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-processus-02.png

 

Nous nous contenterons de spécifier les valeurs en entrée/sortie des variables locales liées aux zones de saisies.

Sélectionnez le champ candidat, cliquez sur le crayon pour avoir accès aux propriétés du champ, sélectionnez "Output binding expression", saisissez candidat et cliquez sur « Required ». La valeur saisie dans le champ candidat sera recopiée dans la variable globale de processus "candidat" et pourra être récupérée par les autres formulaires des autres tâches pour être affiché.

 

Répétez les mêmes étapes pour les champs "poste" et "testCompetence".

 

Répétez les étapes précédentes pour les formulaires :

 

Formulaire lié à la tâche "Test de competences" : testCompetences-taskform.form

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-testCompetence-04.png

testCompetence-takform.form

poste :

Input binding expression : poste

*testCompetence :

Output binding expression : testCompetence (Required)

 

 

Formulaire lié à la tâche "Entretien Ressources Humaines" : entretienRH-takform.form

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-entretienRH-06.png

entretienRH-takform.form

poste :  

Input binding expression : poste

*recommandationRH  :

Output binding expression : recommandationRH (Required)

testCompetence :  

Input binding expression : testCompetence

 

 

Formulaire lié à la tâche "Entretien Chef de Projet"  : entretienCP-takform.form

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-entretienCP-08.png

poste :

Input binding expression : poste

*recommandationCP :  

Output binding expression : recommandationCP (Required)

testCompetence :

Input binding expression : testCompetence

 

 

Formulaire lié à la tâche "Décision Directeur de Projet" : decisionFinale-takform.form

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-formulaire-decisionDirecteur-10.png

candidat :

Input binding expression : candidat

*decisionFinale :  

Output binding expression : decisionFinale (Required)

poste :

Input binding expression : poste

recommandationCP :

Input binding expression : recommandationCP

recommandationRH :

Input binding expression : recommandationRH

testCompetence :

Input binding expression : testCompetence

 

Dans le prochain article on verra comment déployer le processus puis exécuter une instance de processus avec l'affichage des formulaire permettant la saisie des utilisateurs.

 

"Une société d'athées inventerait aussitôt une religion."
Honoré Balzac

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


26/11/2015
0 Poster un commentaire

Tutoriel Red Hat JBoss jBPM (version community) (6) : vérifiez la conformité à la norme BPMN 2

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-validation-06.png

 

A ce stade, vous pouvez activer la validation qui va vérifier la conformité de votre processus avec la norme des processus exécutables BPMN 2 (exemple : un processus exécutable doit avoir un nœud de fin, si vous supprimez celui de votre processus, la validation va vous avertir qu’il en faut un).

 

"On n'est curieux qu'à proportion qu'on est instruit."
Jean-Jacques Rousseau

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


25/11/2015
0 Poster un commentaire

Tutoriel Red Hat JBoss jBPM (version community) (5) : conception du processus en BPMN 2

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-home.png

 

Après cet intermède administratif mais ô combien nécessaire, passons à la conception du processus qui va être réalisé par un expert métier dûment formé à BPMN 2 et à l'outil KIE Workbench (pour simplifier nous resterons connecter avec admin).

 

Pour modéliser le processus en BPMN : 

  • Menu : Authoring - Project Authoring - Explore - Assurez-vous d'avoir bien sélectionné l'unité com.urbanisation-si, le repository blogrepo et le projet tutojbpm - New Item - Business Process - Saisir le nom du processus "recrutement" - laissez le nom du package proposé : com.urbanisation_si.tutojbpm

A priori jBPM va utiliser ce nom à la compilation, c'est pour cette raison que le - de urbanisation-si se transforme en _ (un nom Java ne peut pas contenir le caractère - qui est réservé).

 

Cliquez sur les doubles chevrons de gauche (<<) pour afficher la bibliothèque BPMN 2 et sur  les doubles chevrons de droite (>>) pour afficher les propriétés d'un élément sélectionné.

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-processus-1.png

 

Tout est contextuel, le modeleur BPMN 2 web inclus tout ce qui se fait de mieux en terme de client web riche.

En sélectionnant un élément dans la zone de travail, des symboles apparaissent tout autour vous permettant très rapidement de développer votre processus sans avoir à retourner dans la toolbox ou dans la zone de propriété.

 

tutoriel-jbpm-jboss-red-hat-bpmn-description-recrutement-01.png

 

  • Sélectionnez dans "Evènements de commencement", l'évènement de début simple (rond vide), faites un "drag and drop" dans la zone de travail.  
  • Cliquez dessus, des icônes apparaissent tout autour du symbole.
  • Cliquez sur le rectangle, une nouvelle tâche avec un « séquence flow » est automatiquement créé. Sélectionnez la tâche, cliquez sur le symbole de gateway exclusive XOR (X), la gateway est créée avec le « séquence flow »,
  • Sélectionnez la gateway, cliquez sur le rectangle, puis une 2ème fois pour avoir 2 tâches en parallèles à partir de gateway.
  • Sélectionnez la 1ère tâche, cliquez sur le symbole de gateway,
  • Sélectionnez la 2ème tâche, cliquez sur le symbole de flèche « séquence flow » et amener la souris sur la 2ème gateway.
  • Sélectionnez la 2ème gateway, cliquez sur le rectangle,
  • Sélectionnez la dernière tâche et cliquez sur le symbole du rond entouré (évènement de fin).
  • Sauvegardez régulièrement en cliquant sur le bouton en haut à droite.
  • Sélectionnez à tour de rôle chaque tâche, cliquez sur le symbole de clé et sélectionnez « Tâche Utilisateur ».
  • Double cliquez sur chacune d’entre elle, une zone de saisie apparaît pour nommer vos tâches.
  • Sélectionnez à tour de rôle chaque gateway, cliquez sur le symbole de la clé et sélectionnez «Parallel » 
  • Il reste pour chaque tâche à configurer la partie "subject" c'est à dire le libellé qui apparaîtra sur les formulaires
  • Configuez le mapping des données en entrées et en sorties. Pour chacune des tâches, cliquez sur "Tâches à compléter" et suivez les écrans suivants.

 

 

 

Pour créer les variables processus, cliquez en dehors d'un artefact BPMN 2 c'est à dire dans l'espace de travail.
Voir ci-dessous.

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-processus-01.png

 

 

 

Les variables locales à la tâche "Test de compétence"

Remarque : cette tâche est réservée à l'utilisateur dont le user de connexion est renseignée dans la variable de processus "candidat" initialisée au démarrage du processus par "admin".

Pour que cette tâche se retrouve dans la corbeille correspondant à la variable "candidat", il faut mettre dans la propriété "Acteur" la chaîne : #{candidat}

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-test-competence.png

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-testCompetence-03.png

 

Ce mapping signifie qu'en entrée, les valeurs des variables de processus (globlaes) "poste" et "testCompetence" sont recopiées dans les variables locales de la tâche portant le même nom (on aurait pu donner des noms différents car les zones de mémoires correspondantes sont bien différentes).

De même en sortie, la valeur de la variable locale testCompetence" est recopiée dans la variable globale du même nom.

 

 

 

Les variables locales à la tâche "entretien Ressources Humaines" 

Remarque : cette tâche est réservée au groupe "RH".

Pour que cette tâche se retrouve dans la corbeille du groupe "RH", il faut mettre dans la propriété "Acteur" la valeur RH

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-entretienRH-05.png

Ce mapping signifie qu'en entrée, les valeurs des variables de processus (globlaes) "poste", "testCompetence" et "candidat" sont recopiées dans les variables locales de la tâche portant le même nom (on aurait pu donner des noms différents car les zones de mémoires correspondantes sont bien différentes).

De même en sortie, la valeur de la variable locale "recommandationRH" est recopiée dans la variable globale du même nom.

 

 

 

Les variables locales à la tâche "Entretien Chef de Projet"

Remarque : cette tâche est réservée au groupe "CP".

Pour que cette tâche se retrouve dans la corbeille du groupe "CP", il faut mettre dans la propriété "Acteur" la valeur CP

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-entretienCP-07.png

 

Ce mapping signifie qu'en entrée, les valeurs des variables de processus (globlaes) "poste", "testCompetence", "recommandationCP" et "candidat" sont recopiées dans les variables locales de la tâche portant le même nom (on aurait pu donner des noms différents car les zones de mémoires correspondantes sont bien différentes).

De même en sortie, la valeur de la variable locale "recommandationCP" est recopiée dans la variable globale du même nom.

 

 

 

Les variables locales à la tâche "Décision Directeur de Projet"

Remarque : cette tâche est réservée au groupe "DG".

Pour que cette tâche se retrouve dans la corbeille du groupe "DG", il faut mettre dans la propriété "Acteur" la valeur DG

 

tutoriel-jbpm-jboss-red-hat-bpmn-kie-workbench-variables-decisionDirecteur-09.png

 

Ce mapping signifie qu'en entrée, les valeurs des variables de processus (globlaes) "candidat",   "poste", "testCompetence", "recommandationRH" et "recommandationCP" sont recopiées dans les variables locales de la tâche portant le même nom (on aurait pu donner des noms différents car les zones de mémoires correspondantes sont bien différentes).

De même en sortie, la valeur de la variable locale "decisionFinale" est recopiée dans la variable globale du même nom.

 

Quand le flow d’exécution arrivera sur une tâche, le moteur la placera dans la corbeille de l'utilisateur ou du groupe correspondant au user de connexion à l'application en fonction de la valeur de la propriété "Acteur" de la tâche.

 

A la connexion, l'utilisateur pourra alors consulter la liste des tâches en attente qui lui sont réservées.

Il pourra sélectionner une tâche.

Si un formulaire a été associé à la tâche, il s'affichera avec le bouton "Réclamer" (Claim).

Les champs de formulaires afficheront les valeurs des variables locales associées en entrée et initialisés en fonction du mapping avec les variables globales (processus).

Si l'utilisateur clique sur ce bouton, il pourra saisir dans les champs de sortie associés aux variables locales dont les valeurs seront recopiés ensuite dans les variables globales de processus en fonction du mapping.

 

Une fois le formulaire rempli, l'utilisateur clique le bouton "Terminer" (Complete), ce qui a pour effet  de faire avancer à la ou les tâche(s) suivante(s) dans le processus.

 

Nous verrons dans le prochain article la conception des formulaires. 

 

"L'amour, c'est l'espace et le temps rendus sensibles au coeur."
Proust Marcel

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

http://urbanisation-si.over-blog.com/

http://rhonamaxwel.over-blog.com/

http://urbanisation-des-si.blogspot.fr/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/


24/11/2015
0 Poster un commentaire