7.1 Du modèle à l’exécution
La modélisation des processus avec BPMN n’est souvent que la première étape d’un cycle plus large qui comprend également l’implémentation et l’exécution de ces processus.
7.1.1 Niveaux d’exécutabilité des modèles BPMN
Les modèles BPMN peuvent être créés à différents niveaux d’exécutabilité :
- Modèles descriptifs : Utilisés principalement pour la documentation et la communication, ils ne contiennent pas suffisamment de détails pour être exécutés automatiquement.
- Modèles analytiques : Plus détaillés que les modèles descriptifs, ils permettent l’analyse et la simulation, mais manquent encore de certains détails techniques pour l’exécution.
- Modèles exécutables : Contiennent tous les détails techniques nécessaires pour être directement exécutés par un moteur de workflow ou un système BPM.
7.1.2 Enrichissement des modèles pour l’exécution

Pour transformer un modèle BPMN descriptif ou analytique en modèle exécutable, plusieurs aspects doivent être enrichis :
- Données : Définition précise des structures de données, des mappings et des transformations.
- Services : Spécification des services techniques qui seront invoqués par les tâches de service.
- Règles métier : Formalisation des règles de décision utilisées dans les passerelles.
- Formulaires : Conception des interfaces utilisateur pour les tâches humaines.
- Intégrations : Configuration des connexions avec les systèmes externes.
7.1.3 Approches d’implémentation
Plusieurs approches peuvent être utilisées pour implémenter des processus BPMN :
- Exécution directe : Le modèle BPMN est directement exécuté par un moteur de workflow compatible BPMN.
- Génération de code : Le modèle BPMN est utilisé pour générer du code exécutable dans un langage de programmation.
- Orchestration de services : Le modèle BPMN est utilisé pour configurer un orchestrateur de services qui coordonne les appels aux différents systèmes.
- Implémentation manuelle : Le modèle BPMN sert de spécification pour un développement manuel du processus.
7.2 Moteurs d’exécution BPMN
Les moteurs d’exécution BPMN sont des logiciels spécialisés qui permettent d’exécuter directement des modèles BPMN.
7.2.1 Fonctionnalités des moteurs BPMN
Un moteur BPMN typique offre les fonctionnalités suivantes :

- Interprétation des modèles : Capacité à lire et interpréter les fichiers BPMN 2.0 XML.
- Gestion des instances : Création et suivi des instances de processus en cours d’exécution.
- Exécution des activités : Orchestration de l’exécution des différentes activités du processus.
- Gestion des événements : Traitement des événements qui influencent le déroulement du processus.
- Gestion des tâches utilisateur : Attribution et suivi des tâches assignées aux utilisateurs humains.
- Persistance : Sauvegarde de l’état des processus pour permettre la reprise après un arrêt du système.
- Monitoring : Suivi en temps réel de l’exécution des processus.
7.2.2 Principaux moteurs BPMN open source
Plusieurs moteurs BPMN open source sont disponibles :
- Camunda Platform : Un moteur BPMN complet avec une interface de modélisation, un cockpit de monitoring et des API REST.
- Flowable : Un moteur BPM léger et extensible qui supporte BPMN, CMMN et DMN.
- jBPM : Un moteur BPM flexible qui fait partie de la suite Drools et s’intègre bien avec d’autres technologies Red Hat.
- Activiti : Un moteur BPM léger et embarquable qui se concentre sur l’exécution de processus BPMN.
7.2.3 Solutions commerciales
Des solutions commerciales sont également disponibles pour l’exécution de processus BPMN :
- IBM Business Automation Workflow : Une suite complète pour l’automatisation des processus et des décisions.
- Oracle BPM Suite : Une plateforme intégrée pour la modélisation, l’exécution et le monitoring des processus.
- Pega BPM : Une plateforme low-code qui combine BPM et CRM avec des capacités d’IA.
- Appian : Une plateforme d’automatisation low-code qui inclut des capacités BPM avancées.
7.3 Intégration avec les systèmes d’information
L’exécution des processus BPMN implique généralement une intégration avec divers systèmes d’information existants.
7.3.1 Approches d’intégration
Plusieurs approches peuvent être utilisées pour intégrer un moteur BPMN avec d’autres systèmes :

- Services Web : Utilisation de services REST ou SOAP pour communiquer avec d’autres applications.
- API : Appel direct des API des systèmes cibles depuis les tâches de service.
- Connecteurs spécifiques : Utilisation de connecteurs préconçus pour des systèmes courants (SAP, Salesforce, etc.).
- Middleware d’intégration : Utilisation d’un ESB (Enterprise Service Bus) ou d’une plateforme d’intégration pour faciliter les échanges.
- Bases de données partagées : Accès direct aux bases de données des systèmes pour lire ou écrire des données.
7.3.2 Gestion des données
La gestion des données est un aspect crucial de l’intégration :
- Variables de processus : Stockage des données nécessaires à l’exécution du processus.
- Mapping de données : Transformation des données entre le format du processus et celui des systèmes externes.
- Validation : Vérification de l’intégrité et de la cohérence des données.
- Persistance : Stockage durable des données du processus, souvent dans une base de données.
7.3.3 Sécurité et authentification
L’intégration doit prendre en compte les aspects de sécurité :
- Authentification : Vérification de l’identité des utilisateurs et des systèmes.
- Autorisation : Contrôle des droits d’accès aux fonctionnalités et aux données.
- Chiffrement : Protection des données sensibles en transit et au repos.
- Audit : Traçabilité des actions effectuées dans le cadre du processus.
7.4 Interfaces utilisateur et formulaires
Les processus BPMN impliquent souvent des interactions avec des utilisateurs humains, nécessitant des interfaces utilisateur adaptées.
7.4.1 Types d’interfaces utilisateur
Différents types d’interfaces peuvent être utilisés :
- Formulaires intégrés : Interfaces générées par le moteur BPMN lui-même.
- Applications web dédiées : Interfaces personnalisées développées spécifiquement pour le processus.
- Intégration dans des applications existantes : Incorporation des tâches du processus dans des applications métier existantes.
- Interfaces mobiles : Applications ou interfaces web adaptées aux appareils mobiles.
7.4.2 Conception des formulaires
La conception des formulaires doit prendre en compte plusieurs aspects :
- Ergonomie : Facilité d’utilisation et intuitivité de l’interface.
- Validation : Vérification des données saisies par l’utilisateur.
- Dynamisme : Adaptation du formulaire en fonction du contexte ou des données précédentes.
- Accessibilité : Conformité aux standards d’accessibilité pour les utilisateurs ayant des besoins spécifiques.
7.4.3 Gestion des tâches utilisateur
La gestion des tâches utilisateur comprend plusieurs fonctionnalités :
- Listes de tâches : Affichage des tâches assignées à un utilisateur ou à un groupe.
- Assignation : Attribution des tâches aux utilisateurs appropriés.
- Délégation : Possibilité de transférer une tâche à un autre utilisateur.
- Rappels et escalades : Mécanismes pour gérer les tâches en retard ou non traitées.
7.5 Monitoring et analyse des processus
Une fois les processus en exécution, il est essentiel de les surveiller et de les analyser pour assurer leur bon fonctionnement et identifier les opportunités d’amélioration.
7.5.1 Monitoring opérationnel
Le monitoring opérationnel permet de suivre l’exécution des processus en temps réel :
- Tableaux de bord : Visualisation de l’état actuel des processus et des indicateurs clés.
- Alertes : Notification des situations anormales ou critiques.
- Suivi des instances : Visualisation détaillée de l’état de chaque instance de processus.
- Gestion des erreurs : Identification et résolution des erreurs d’exécution.
7.5.2 Analyse des performances
L’analyse des performances permet d’évaluer l’efficacité des processus :

- Indicateurs clés de performance (KPI) : Mesures quantitatives de l’efficacité du processus.
- Temps de cycle : Durée totale d’exécution du processus de bout en bout.
- Temps d’attente : Durée pendant laquelle les instances sont en attente à différentes étapes.
- Taux de complétion : Proportion des instances qui atteignent la fin du processus avec succès.
- Coûts : Ressources consommées par l’exécution du processus.
7.5.3 Process Mining
Le Process Mining est une technique d’analyse qui utilise les journaux d’événements pour découvrir, surveiller et améliorer les processus :
- Découverte de processus : Reconstruction automatique du modèle de processus à partir des journaux d’exécution.
- Conformité : Comparaison entre le modèle théorique et l’exécution réelle pour identifier les écarts.
- Amélioration : Identification des goulots d’étranglement, des inefficacités et des opportunités d’optimisation.
- Prédiction : Utilisation de techniques d’apprentissage automatique pour prédire le comportement futur des processus.
7.6 Amélioration continue des processus
L’exécution des processus BPMN s’inscrit dans un cycle d’amélioration continue.
7.6.1 Cycle BPM
Le cycle BPM (Business Process Management) comprend généralement les phases suivantes :
- Modélisation : Conception ou mise à jour des modèles de processus.
- Implémentation : Transformation des modèles en solutions exécutables.
- Exécution : Mise en œuvre opérationnelle des processus.
- Monitoring : Surveillance de l’exécution des processus.
- Optimisation : Identification et mise en œuvre des améliorations.
Ce cycle est itératif, chaque itération visant à améliorer l’efficacité et l’efficience des processus.
7.6.2 Méthodologies d’amélioration
Plusieurs méthodologies peuvent être utilisées pour l’amélioration des processus :
- Lean : Élimination des gaspillages et optimisation de la valeur pour le client.
- Six Sigma : Réduction de la variabilité et des défauts dans les processus.
- TQM (Total Quality Management) : Approche globale de la qualité impliquant tous les membres de l’organisation.
- Kaizen : Amélioration continue par petits incréments réguliers.
7.6.3 Gouvernance des processus
La gouvernance des processus assure que les processus sont gérés de manière cohérente et alignée avec les objectifs de l’organisation :
- Propriété des processus : Attribution claire de la responsabilité de chaque processus.
- Comité de gouvernance : Groupe chargé de superviser la gestion des processus.
- Standards et lignes directrices : Règles communes pour la conception et l’implémentation des processus.
- Gestion du changement : Procédures pour contrôler les modifications apportées aux processus.
Résumé du chapitre
Dans ce chapitre, nous avons exploré la mise en œuvre et l’exécution des processus BPMN, en abordant les aspects suivants :
- Du modèle à l’exécution : Transformation des modèles BPMN en solutions exécutables, avec différentes approches d’implémentation.
- Moteurs d’exécution BPMN : Fonctionnalités des moteurs BPMN et présentation des principales solutions disponibles, tant open source que commerciales.
- Intégration avec les systèmes d’information : Approches d’intégration, gestion des données, et considérations de sécurité.
- Interfaces utilisateur et formulaires : Types d’interfaces, conception des formulaires, et gestion des tâches utilisateur.
- Monitoring et analyse des processus : Techniques de surveillance opérationnelle, analyse des performances, et Process Mining.
- Amélioration continue des processus : Cycle BPM, méthodologies d’amélioration, et gouvernance des processus.
La mise en œuvre réussie des processus BPMN nécessite une approche holistique qui va au-delà de la simple modélisation, en prenant en compte les aspects techniques, organisationnels et humains de la gestion des processus.