Bonita optimiser processus métiers ECM BPM bluexml

Bonita – Partie III, Conception Application

Automatisation des processus métier avec Bonita ou Alfresco APS

01

INTRO

Complétude du processus et de création de l’application par les développeurs avec Bonita

Faisant suite à la partie “Genèse” qui s’est attaché à introduire les produits BPMN permettant d’adresser les processus métier de collectivités ou entreprises et à la partie “Mise en route avec les fonctionnels” qui s’est attaché à décrire les premières étapes de conception de l’application avec les fonctionnels, cette partie décrit les étapes suivantes de complétude du processus et de création de l’application par les développeurs. 

Ceci ne signifie aucunement que les fonctionnels ne vont plus intervenir mais on entre dans des phases de développement agiles où chaque fin de sprint fait l’objet d’une livraison de l’application aux fonctionnels pour avoir leur retour et conduit à des échanges sur les stories, voire de nouveaux ateliers fonctionnels, avec eux pour réorienter certains choix suite à leurs remarques/suggestions.

Initialisation du projet avec Bonita

Dans la phase précédente, vous avez modélisé avec les fonctionnels les processus de votre application. Par exemple, pour un processus de télétravail d’une collectivité, le processus est le suivant : 

Initialisation du projet avec Bonita

Le processus fait apparaitre les tâches assignées à chaque rôle, l’enchainement de ces tâches et des annotations pour préciser aux concepteur certaines informations spécifiques qu’ils devront prendre en compte pendant la phase de développement.

C’est le moment d’initier votre projet dans votre système de gestion des sources. Par exemple, sur github, il s’agit d’effectuer les opérations suivantes :

• Connectez-vous sur votre github

• Dans un groupe correspondant à votre nouveau projet, Cliquer sur le bouton ‘Nouveau projet’

• Choisir Onglet ‘Projet vierge’

• Entrer un nom et une description pour votre nouveau projet (par exemple ‘Teletravail’)

• Valider la case à cocher d’initialisation du référentiel avec un README.

• Cliquer sur ‘Créer projet’

• Copier l’url de clonage du projet (‘Clone’)

• Sous Bonita Studio, Sélectionner ‘Equipe -> Git -> Partager sur git’ (ou clic droit sur le projet et sélection ‘Equipe -> Partager sur git’

• Coller l’url de clonage de votre nouveau projet et passer les écrans successifs de partage en cliquant sur ‘Suivant’ en validant le ‘push’ avec un commentaire de commit d’initialisation.

• Habituellement, la branche ‘master’ est utilisé pour les releases et une branche ‘develop’ est utilisé pour pousser les modifications de tous les développeurs pour les tests (qu’ils travaillent directement sur la branche ‘develop’ ou sur des branches ‘feature’ ou ‘Hotfix’). A bluexml, nous avons l’habitude de travailler en nous appuyant sur Gitflow: cf  

https://www.atlassian.com/fr/git/tutorials/comparing-workflows/gitflow-workflow pour les étapes à suivre.

02

PROJET

Conception avec les fonctionnels sur Bonita

Les premiers processus de votre application ont été modélisés avec les fonctionnels.

Il est maintenant nécessaire de compléter ces processus en les liant aux objets métiers, aux connecteurs et aux formulaires. Ensuite, il s’agira de réaliser l’application avec ces pages qui permettent de lancer et suivre les processus et de suivre l’activité liée à ces processus.

• Ouvrir un processus (par exemple ‘Télétravail’),

• Cliquer sur l’onglet ‘Données’ et sur ‘Ajouter’ dans la partie ‘Variable métier

• Déclarer une variable métier du nom d’un objet Métier que vous avez créé précédemment avec les fonctionnels dans la partie BDM : par exemple, ‘demande’ dans le cas de l’application ‘Télétravail

• Donner une description

• Associer le à l’objet Métier concerné : par exemple, ‘macollectivite.model.TELTRDemande’ dans le cas de l’application ‘Télétravail

• Cliquer sur ‘Terminer’ pour créer la variable métier.

• Cliquer sur l’onglet ‘Exécution -> Contrat

• Cliquer sur ‘Ajouter à partir de données…

• Sélectionner la variable métier créé précédemment dans la liste

• Cliquer sur ‘Suivant

• Décocher les attributs qui ne seront pas mis à jour au lancement du processus

• Cliquer sur ‘Aperçu’ pour voir le code groovy qui sera généré pour initialiser une variable de processus associée à ce contrat

• Cliquer sur ‘Terminer’ pour créer le contrat

• Cliquer sur ‘Formulaire d’instanciation

• Cliquer sur l’icône d’édition de formulaire ‘‘ pour créer le formulaire d’instanciation via le concepteur web de formulaire et page

 

Ce concepteur est une application web qui vous permet de développer les formulaires du processus ainsi que les pages de l’application : il offre une très grande liberté dans la conception des formulaires et pages, d’autant plus que vous pouvez intervenir sur tous les éléments constituant un formulaire ou une page à la différence de la plupart des autres outils qui sont contraints à des schémas prédéfinis.

Le formulaire par défaut qui vous est proposé contient les champs correspondant à tous les attributs du contrat :

Conception avec les fonctionnels sur Bonita

A partir de là vous pouvez organiser les champs tels que vous souhaitez les présenter aux utilisateurs. Vous définissez également les propriétés spécifiques de ces champs pour par exemple les rendre obligatoires, en lecture seule suivant certaines conditions :

Conception avec les fonctionnels sur Bonita - BPM

Cet éditeur est l’outil adéquat pour adresser 3 étapes importantes dans le développement de l’interface homme-machine d’une application :

1- Le design des pages et formulaires par les fonctionnels : par simple glisser/déposer, les fonctionnels peuvent construire les pages et formulaires telle qu’ils pensent que leurs utilisateurs finaux aimeraient les voir et ce que ce soit sur ordinateur, tablette ou mobile. Le bouton ‘Aperçu’ permet de visualiser le formulaire en basculant sur les différents formats.

2- Le lien des pages et formulaires avec le workflow et les services externes : Les développeurs peuvent ensuite finaliser ces pages et formulaires en ajoutant les contrôles de gestion spécifiques telles que le chargement d’un service web pour obtenir un nom de ville à partir d’un code postal par exemple. Il est à noter que les développeurs peuvent étendre les widgets existants pour ajouter de nouvelles fonctionnalités et peuvent factoriser du code via des fragments réutilisables dans toutes les pages ou formulaires. Les développeurs vont principalement intervenir au niveau des variables et du paramétrages de éléments de page et formulaire.

3- Le “Look and Feel” : Les designers web, sous contrôle des fonctionnels, peuvent, en parallèle des développeurs, réaliser une présentation optimale aux couleurs et à l’apparence de la collectivité ou entreprise.

En termes de méthodologie, une astuce pour les développeurs peut être également d’utiliser l’approche ‘one form process’ via l’extension ‘Rest API Context’ (https://github.com/Bonitasoft-Community/restapi_context/blob/master/doc/2.8/RestAPIContext-2.8.pdf) : elle permet d’obtenir les données totales de contexte au niveau des pages et formulaires et ainsi de n’avoir qu’un seul formulaire qui s’appuie via un contrôleur sur ces données de contexte pour s’adapter à l’étape en cours. Nous préconisons en général cette approche quand les formulaires des étapes d’un workflow sont assez semblables comme c’est le cas dans l’application ‘Télétravail’.

Vous pouvez également grâce à la communauté très active Bonita bénéficier de nombreuses extensions de widget ou d’api REST sous https://community.bonitasoft.com/project-category/custom-widget ou https://github.com/bonitasoft.

 

Une fois le formulaire réalisé, il s’agit en fonction des étapes du workflow, de mettre à jour les variables ou de réaliser des traitements via

• Les opérations qui sont exécutés une fois la tâche exécutée : les opérations s’appuient sur des constantes, les contrats reçus du formulaire, du code Java, les paramètres du processus, les requêtes sur les objets métier, du script groovy, des variables.

Les connecteurs de sortie : Bonita propose un certain nombre de connecteurs prédéfinis et un environnement pour créer de nouveaux connecteurs.

Le processus peut être testé au fur et à mesure de son avancement via la commande ‘Exécuter’ de la barre d’outil

Conception avec les fonctionnels sur Bonita - Exécuter

 ou sur le fichier du workflow.

Une fois le processus terminé, l’application peut être mise à jour en créant les pages qui la constituent via le concepteur web de formulaire et page.

L’association des pages à l’application se fait dans la partie Navigationde l’éditeur d’application :

Cet éditeur permet également de définir le layout (la structuration des pages de l’application avec entêtes, pieds de pge, …) et le thème (styles des pages CSS) utilisés.


L’application peut être déployée et accédée au fur et à mesure de son avancement via la commande
 

04

CONCEPTION

Des questions ?

Si vous souhaitez en savoir plus sur Bonita et nos solutions BPM, contactez-nous sur info@bluexml.com

Nicolas Alexandre Directeur Commercial GED Alfresco bluexml

Nicolas Alexandre

Directeur Commercial
Elise Chan - bluexml expert ECM GED BPM Archivage Signature électronique

Elise Chan

Ingénieure Commercial