BPMN est une norme de modélisation graphique pour représenter les processus métier. Elle fournit une notation compréhensible par tous les acteurs de l'entreprise, des analystes métier aux développeurs techniques.
Exemple d'utilisation :
Utilisé pour documenter le processus de traitement d'une commande client, de la réception à la livraison.
Un événement de début marque le point de départ d'un processus BPMN. Il indique où et comment un processus commence, qu'il soit déclenché manuellement, par un message, ou par un timer.
Exemple d'utilisation :
Un cercle simple représentant le début d'un processus de réclamation client.
Un événement de fin marque la conclusion d'un processus ou d'un chemin dans le processus. Il peut indiquer différents types de terminaison : normale, avec erreur, ou avec message.
Exemple d'utilisation :
Un cercle avec un trait épais indiquant que le processus de validation est terminé.
Les événements intermédiaires surviennent entre le début et la fin d'un processus. Ils peuvent attraper des événements (réception) ou lancer des événements (émission) pendant l'exécution du processus.
Exemple d'utilisation :
Un événement timer intermédiaire qui attend 24h avant de continuer le processus.
Le flux de séquence est une flèche qui relie les éléments d'un processus dans l'ordre d'exécution. Il définit l'ordre dans lequel les activités sont effectuées au sein d'un même pool.
Exemple d'utilisation :
Une flèche connectant une tâche "Valider commande" à une passerelle de décision.
La passerelle exclusive (XOR) représente un point de décision où un seul chemin parmi plusieurs peut être emprunté. C'est le type de passerelle le plus courant en BPMN.
Exemple d'utilisation :
Après vérification du crédit client : SI approuvé ALORS continuer, SINON refuser.
La passerelle parallèle (AND) permet d'exécuter plusieurs chemins simultanément. Elle divise le flux en branches parallèles ou synchronise plusieurs branches en une seule.
Exemple d'utilisation :
Lancer en parallèle la préparation de la commande ET l'émission de la facture.
La passerelle inclusive (OR) permet de sélectionner un ou plusieurs chemins parmi les options disponibles, selon les conditions. Elle combine les aspects des passerelles XOR et AND.
Exemple d'utilisation :
Notifier le client par email ET/OU par SMS selon ses préférences.
Passerelle basée sur événements (Event-based Gateway)
Cette passerelle attend qu'un événement se produise parmi plusieurs possibles. Le premier événement qui arrive détermine le chemin à suivre, les autres sont ignorés.
Exemple d'utilisation :
Attendre soit une réponse du client, soit l'expiration d'un délai de 5 jours.
Une tâche utilisateur représente un travail effectué par un humain, généralement via une interface utilisateur. Elle nécessite une interaction humaine pour être complétée.
Exemple d'utilisation :
Tâche "Approuver la demande de congés" assignée à un manager.
Une tâche de service est exécutée automatiquement par un système ou un service web. Elle ne nécessite pas d'intervention humaine et est généralement utilisée pour des opérations techniques.
Exemple d'utilisation :
Appeler une API pour vérifier la disponibilité d'un produit en stock.
Un sous-processus est une activité composite qui contient d'autres activités, passerelles et événements. Il permet de décomposer un processus complexe en parties plus simples et réutilisables.
Exemple d'utilisation :
Un sous-processus "Traiter paiement" qui contient toutes les étapes de validation et d'encaissement.
Une Call Activity fait référence à un processus global réutilisable défini ailleurs. Contrairement au sous-processus, elle pointe vers une définition de processus externe et indépendante.
Exemple d'utilisation :
Appeler le processus standard "Vérification KYC" depuis différents processus d'onboarding.
Un pool représente un participant majeur dans un processus, généralement une organisation ou une entité. Chaque pool contient son propre processus et ne peut pas partager de flux de séquence avec d'autres pools.
Exemple d'utilisation :
Pool "Client", Pool "Service Commercial", Pool "Entrepôt" dans un processus de vente.
Une lane est une subdivision d'un pool qui organise les activités selon les rôles, départements ou responsabilités. Les lanes partagent le même processus mais clarifient qui fait quoi.
Exemple d'utilisation :
Dans le pool "Hôpital" : lanes "Accueil", "Médecin", "Infirmier", "Pharmacie".
Le flux de message représente la communication entre différents participants (pools). Il montre l'envoi et la réception de messages entre organisations ou systèmes distincts.
Exemple d'utilisation :
Ligne pointillée du pool "Client" vers "Fournisseur" pour envoyer une commande.
Un événement d'erreur gère les situations exceptionnelles dans un processus. Il permet de définir des chemins alternatifs en cas d'erreur métier ou technique.
Exemple d'utilisation :
Si le paiement échoue, déclencher un événement d'erreur et notifier le client.
Une transaction BPMN est un sous-processus spécial qui garantit que toutes les activités sont complétées avec succès ou annulées ensemble. Elle supporte les mécanismes de compensation et d'annulation.
Exemple d'utilisation :
Transaction de réservation : réserver vol ET hôtel, ou tout annuler si l'un échoue.
La compensation permet d'annuler ou de corriger des actions déjà effectuées lorsqu'un processus doit être inversé. Contrairement au rollback, la compensation s'effectue via des actions métier spécifiques.
Exemple d'utilisation :
Si une commande est annulée après expédition, lancer une compensation pour organiser le retour.