All posts by Régis BAUDU

20Juil/21
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 bluexml expert ECM GED BPM

Nicolas Alexandre

Directeur Commercial
lise Chan bluexml expert ECM GED BPM

Elise Chan

Ingénieure Commerciale
30Juin/21
Bonita optimiser processus métiers ECM BPM bluexml

Bonita – Partie II, Mise en route avec les fonctionnels

Automatisation des processus métier avec Bonita ou Alfresco APS

01

INTRO

Les premières étapes de la mise en œuvre de processus métiersavec Bonita ou APS

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, cette partie décrit les premières étapes que doit suive un concepteur à qui on demande de mettre en œuvre un processus métier. En particulier, les premières étapes qui permettent au concepteur de bien comprendre avec les utilisateurs et fonctionnels la demande exprimée.   

Les étapes présentées s’appuieront sur le produit Bonita.

À bluexml, nous attachons une importance toute particulière sur la définition du besoin et sur la spécification fonctionnelle/technique en réponse à la définition du besoin. C’est pourquoi, même dans le cas d’un projet agile, nous préconisons la tenue d’ateliers fonctionnels avec les utilisateurs finaux, et techniques avec l’informatique interne pour proposer la solution la plus proche des attentes dans un environnement technique maitrisé par les équipes internes. 

 

Dans le cas d’outils de BPMN, une différence importante est que les ateliers peuvent se faire en partie avec les utilisateurs sur les outils. 

Commencer avec Bonita

Avant de se lancer sur la conception fonctionnelle, 2 prérequis techniques sont nécessaires : 

L’installation 

-Les concepteurs démarrent donc en installant Bonita. 

-Il est à noter que Bonita est fourni sous 2 formes : 

  • La forme Entreprise est payante et supportée par l’éditeur, 

  •La forme Communautaire est gratuite mais n’est pas supportée par l’éditeur. 

-Vous pouvez commencer avec une version communautaire, mais il est important de basculer sur une version entreprise supportée dès que votre application est en production et est adoptée par vos utilisateurs. Les versions communautaires peuvent être instables et tout le travail d’accompagnement au changement et d’adoption peut être rapidement ruiné si une instabilité touche et frustre vos utilisateurs qui attendent un niveau de qualité élevé pour une application métier. Nous supposerons par la suite qu’une version entreprise est utilisée. 

 Le démarrage et configuration de Bonita Studio 

Bonita Studio a été installé sur votre ordinateur. 

Bonita Studio repose sur l’application Eclipse, un serveur tomcat et une base de données. 

-La gestion des profils d’authentification, des organisations, des rôles et des environnements peut parfois paraitre technique au premier abord. 

02

SETUP

Conception avec les fonctionnels

Vous êtes alors prêts à directement travailler avec les fonctionnels en précisant avec eux, sur l’outil, l’expression de leurs besoins.

Il y a plusieurs méthodes de conduire un atelier fonctionnel avec eux, mais nous privilégions en général une approche qui va caractériser 3 grands blocs :

Les acteurs :

Quelles sont les acteurs impliqués dans l’application ?

Les données :

-Quels sont les données dont ils ont besoin et qu’ils s’échangent ?

Les cas d’utilisation et processus :

-Quels sont tous les cas d’utilisation de l’application de tous les acteurs

-Quelle est la succession des interactions des acteurs avec l’application pour adresser chaque cas d’utilisation ?

 

Si nous prenons le cas d’une demande de Télétravail – très utile pendant et après cet épisode malheureux de Covid qui a eu le seul avantage d’optimiser nos capacités à échanger et travailler à distance -, les acteurs sont :

-Les employés qui soumettent leur demande de télétravail,

-Leur responsable hiérarchique qui doit approuver la demande en fonction des contraintes de service,

-Le responsable des ressources humaines qui doit approuver la demande en fonction des contraintes sociales et sanitaires de l’entreprise,

-Le responsable informatique qui doit approuver la demande en fonction des capacités matérielles à disposition de l’employé,

-Dans le cas d’une collectivité, l’autorité territoriale qui doit être avisée ou dans le cas d’une entreprise, la direction générale qui doit être avisée.

Ceci est modélisé avec les fonctionnels pendant l’atelier via le Studio Bonita à travers la création de votre organisation :

-Organisation -> Définir -> Ajouter -> ‘Organisation1’ -> Cliquer sur le nom ‘Organisation1’ pour la renommer -> Suivant

-Création des groupes impliqués de votre organisation via ‘Ajout de groupes’ et ‘Ajout de sous-groupes’ sous les groupes :

-Création des rôles de l’organisation via ‘Ajout de rôles’ :

-Création d’utilisateurs de tests avec des liens de responsabilité et des adhésions à des groupes et rôles :

Cliquer sur Terminer une fois tous les groupes, rôles et utilisateurs de test créés.

 

En termes de données, ce qui est échangé concerne principalement la demande elle-même de télétravail. Il est également important de conserver l’historique des demandes et les avis/décisions émis par les différents intervenants.

-Développement -> Modèles de données métier -> Définir -> renommer le package à gauche

-Création d’un nouvel objet métier en définissant avec les fonctionnels les propriétés de l’objet ; par exemple pour une demande de télétravail dans une collectivité :

-Création des autres objets métier en définissant avec les fonctionnels les propriétés de chaque objet ; par exemple pour l’historique/avis sur les demandes de télétravail :

-Définition des relations entre les objets métier si nécessaire ; par exemple un historique/avis est associé à une demande de télétravail :

En termes d’application et processus, il est possible d’enchainer directement via Bonita Studio sur la modélisation avec les fonctionnels du processus de télétravail. Mais nous préférons, à bluexml, poser tous les cas d’utilisation avant d’adresser les processus eux-mêmes. Il s’agit de réaliser un simple diagramme de cas d’utilisation qui va permettre avec les fonctionnels de mettre noir sur blanc ce que les acteurs vont pouvoir réaliser suivant leurs rôles à travers l’application qui leur sera délivrée. Dans le cas du processus de télétravail, ceci se matérialise par le diagramme suivant :

Ceci permet de partager une vision commune de l’application avant de commencer les processus proprement dit. Ça permet également de passer à la première étape de modélisation du processus qui consiste à construire avec les fonctionnels les couloirs de traitement du processus par acteur.
La modélisation des processus se fait avec les fonctionnels sous Bonita Studio :

– Cliquer sur ‘Fichier -> Nouveau Diagramme‘
– Bouton droit sur le nom du nouveau diagramme ‘MonDiagramme-1.0.proc -> Renommer…’
   o Nom : DemandeTeletravail
   o Version : 1.0
   o Pools :
      • Nom : DemandeTeletravail
      • Version : 1.0
– Cliquer sur ‘Ok’
– Cliquer dans le diagramme sur le pool ‘DemandeTeletravail’
– Cliquer sur ‘Général -> Acteurs’
– Cliquer sur ‘Ajouter’
– Renommer ‘Actor1’ en ‘Agent’ pour désigner votre premier rôle qui sera associé au premier couloir correspondant au rôle qui initialise le processus.

-Refaire la même séquence en ajoutant les autres rôles concernés par votre processus et à qui un couloir sera ensuite associé ; pour Télétravail, il s’agit de : Autorité Territoriale, Responsable DSI, Responsable DRH

Il est à noter que le rôle ‘N+1’ n’est pas créé car il sera déduit dynamiquement du rôle ‘Agent’ via un filtre.

-Cliquer sur le premier couloir ‘Employé’

-Cliquer sur ‘Général -> Couloir (Lane)’ et choisir l’acteur ‘Agent’ à la place de ‘Employé’

-Créer un nouveau couloir pour le rôle ‘N+1’ en glissant/déposant l’icône

-Cliquer sur ‘Général -> Acteurs

-Choisir l’acteur ‘Agent’ et dans la partie ‘Filtre de l’acteur’, cliquer sur ‘Définir’

-Sélectionner ‘Manager de l’initiateur du processus’ et cliquer sur ‘Suivant’

-Donner un nom ‘Manageur N+1’ et cliquer sur ‘Terminer’

Le rôle ‘N+1’ associé à ce nouveau couloir sera dynamiquement assigné en prenant le responsable de l’agent qui a été défini dans l’organisation sous la propriété ‘Responsable’.

-Créer un nouveau couloir pour chaque rôle restant (Télétravail : DSI, DRH, Autorité Territoriale) et associer les successivement aux rôles Responsable DSI, Responsable DRH et Autorité Territoriale

Vous êtes alors prêts avec les fonctionnels à modéliser les tâches successives assignées à chaque acteur dans chaque couloir :

Au fur et à mesure des discussions avec les fonctionnels, il apparait généralement des demandes particulières qui ne peuvent être modélisées sans un délai trop long pour garder des fonctionnels à vous regarder le faire ou qui nécessitent un peu de réflexion, un peu de prototypage : dans ce cas, il faut juste s’appuyer sur des tâches de service avec une description et des annotations.

Le studio Bonita permet également d’associer les formulaires aux tâches humaines : ceci peut être fait en atelier avec les fonctionnels mais nous préconisons plutôt dans un second temps que les développeurs prennent la main et mettent à niveau le processus en définissant les relations avec les objets métiers et en faisant une première passe de création des formulaires sur ces objets métiers pour ne pas faire perdre trop temps aux fonctionnels.

Une fois cette étape réalisée, un autre atelier est réalisé avec les fonctionnels sur les premiers formulaires et les premières pages de l’application que les développeurs ont initié en faisant le lien avec le processus et les objets métier. Ce second atelier s’appuie alors sur l’éditeur graphique de formulaire et page de Bonita pour travailler sur le design avec les fonctionnels en séance :

Cet atelier s’attache au design des premiers formulaires du processus et pages de l’application mais évidemment pas sur l’ensemble des formulaires et pages de votre application.

C’est pourquoi à bluexml, nous avons ensuite l’habitude définir des sprints de 2 semaines à l’issue desquels nous délivrons l’application en l’état pour la soumettre aux fonctionnels ; ainsi ils donnent des retours très réguliers et l’adoption se fait plus efficacement avec des ajustements/corrections très rapides.

Ceci clos cette partie relative au travail réalisé par les concepteurs et les fonctionnels pour accélérer l’adoption de l’application en adéquation étroite avec les besoins.

Dans la troisième partie, nous détaillerons la création de l’application, des astuces de développement et des optimisations.

03

CONCEPTION

Des questions ?

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

Nicolas Alexandre bluexml expert ECM GED BPM

Nicolas Alexandre

Directeur Commercial
lise Chan bluexml expert ECM GED BPM

Elise Chan

Ingénieure Commerciale
28Juin/21
onita processus métiers ECM BPM bluexml expert

Bonita – Partie I, Génèse

Automatisation des processus métier avec Bonita ou Alfresco APS

Partie I - Genèse des processus documentaire chez bluexml

Depuis longtemps, nous réalisons des projets pour automatiser les processus métier de nos clients.  

Par le passé, nous avons commencé avec l’automatisation des processus documentaires où l’enchainement des étapes est principalement basé sur des tâches d’approbation, revue ou signature de documents. Ces processus documentaires sont réalisés avec les outils d’automatisation de processus des GED Open source comme Alfresco ou Nuxeo sur lesquels les équipes de bluexml travaillent depuis une quinzaine d’années. 

Progressivement, nos clients ont souhaité élargir ces processus documentaires à d’autres types de processus métier qui faisaient intervenir une part documentaire – comme la génération de documents ou l’injection de données dans des documents (liste des intervenants par exemple) – mais n’en n’était pas le socle métier.  

L’automatisation de ces processus, permet ce qui créé de réels bénéfices auprès de clients bluexml

L’automatisation de ces processus métier est devenu une demande croissante de nos clients qui en ont bien compris les bénéfices : il leur permet un gain de productivité avec des intervenants guidés et suivis tout en évitant les erreurs inhérentes aux processus et échanges manuels 

Les intervenants peuvent alors se concentrer sur leur “métier” et pas sur le “processus manuel” qui les oblige à se synchroniser, à planifier, à relancer, à déléguer, à réparer, à ajuster, à attendre sans savoir ce qui se passe, à ne pas savoir exactement quoi faire, à penser bien faire sans le savoir vraiment, à penser avoir mal fait sans le savoir vraiment. 

Des éditeurs de GED comme Alfresco ont d’ailleurs rapidement répondu à la demande croissante de leurs clients et proposent désormais des produits d’automatisation de processus métier complètement indépendants de leurs produits GED comme APS (“Alfresco Process Service”) pour Alfresco.

Ces produits sont en concurrence avec les produits de jeunes compagnies qui ont choisis de se focaliser purement sur les processus métiers. Les produits qui connaissent un fort engouement sont ceux qui s’appuient sur le standard BPMN (Business Process Model and Notation”) de l’OMG ( L’”Object Management Group” est un consortium rassemblant tous les éditeurs majeurs de logiciels et est à l’origine de standard comme UML, MOF, CORBA, IDL, MDA et au moins 200 autres).

Dans cette catégorie de produits, nous travaillons principalement avec nos clients sur les produits Bonita de Bonitasoft  et APS  d’Alfresco, deux sociétés avec qui nous avons noué un fort partenariat après des projets clients particulièrement réussis. Nous avons également quelques clients utilisant Flowable ou Camunda, produits provenant de la même souche activiti, (site Alfresco) qu’APS d’Alfresco, mais de taille, de support et de reconnaissance moindre.

En termes de couverture des processus métier, les choses se sont grandement améliorées ces dernières années grâce à l’avènement des APIs REST : précédemment, les processus métier adressés par ces outils étaient limités par la difficulté à interagir avec d’autres applications externes. 

 Ainsi, les processus métier réalisés étaient ceux ne nécessitant pas ou peu d’interactions avec des systèmes externes, à l’exception des bases de données ou, dans le cas de processus documentaires, avec les produits GED dans lesquels ils étaient intégrés. 

Désormais, des produits comme Bonita offrent de nombreux connecteurs pour interagir avec des CRM, des CMS, des réseaux sociaux, des GED, des ERP, des bus, des ETL, ….  

De plus, un produit comme Bonita offrent un environnement de développement complet pour déclarer de nouveaux connecteurs. 

Depuis quelques années, nous avons pu réaliser via ces produits des processus métier très diversifiés. Avec un produit comme Bonita, il est désormais possible de construire l’application, relatif à un processus métier, complètement sans recourir à des outils externes comme, par exemple, ceux nécessaires à la création des pages web ou à l’intégration des formulaires de tâches dans les pages de l’application. 

D’autant plus diversifié que ces produits offrent des APIs REST complètes qui permet également d’intégrer des “workflows” dans des applications existantes. 

Lseconde partie de cette série de Blog sera plus pratique et détaillera la mise en route à la création d’une application sous Bonita. Puis la troisième partie détaillera la création de l’application. 

Des questions ?

Si vous souhaitez connecter votre GED Alfresco à Arkhineo, contactez-nous sur info@bluexml.com

Nicolas Alexandre bluexml expert ECM GED BPM

Nicolas Alexandre

Directeur Commercial
lise Chan bluexml expert ECM GED BPM

Elise Chan

Ingénieure Commerciale