4.1 Types d’événements spécialisés
Dans le chapitre précédent, nous avons abordé les événements de base du BPMN 2.0. Ce chapitre explore les événements spécialisés qui permettent de modéliser des scénarios métier plus complexes.

4.1.1 Événements de compensation
Les événements de compensation sont utilisés pour gérer les activités de compensation, c’est-à-dire les actions qui annulent ou « défont » les effets d’activités précédentes.
- Événement intermédiaire de compensation (lancement) : Déclenche une compensation pour une activité ou un sous-processus qui a été complété.
- Événement intermédiaire de compensation (capture) : Attend qu’une compensation soit déclenchée.
- Événement de fin de compensation : Termine un processus et déclenche une compensation.
Cas d’utilisation : Transactions financières, réservations, ou tout processus nécessitant un mécanisme de « rollback ».
4.1.2 Événements d’escalade
Les événements d’escalade permettent de signaler qu’une situation nécessite l’attention d’un niveau supérieur de responsabilité.
- Événement intermédiaire d’escalade (lancement) : Déclenche une escalade qui peut être capturée ailleurs dans le processus.
- Événement intermédiaire d’escalade (capture) : Attend qu’une escalade spécifique soit déclenchée.
- Événement de fin d’escalade : Termine un chemin de processus et déclenche une escalade.
Cas d’utilisation : Gestion des exceptions, processus d’approbation hiérarchique, situations nécessitant une intervention managériale.
4.1.3 Événements d’erreur
Les événements d’erreur sont utilisés pour modéliser les erreurs d’exécution dans un processus.
- Événement intermédiaire d’erreur (capture) : Capture une erreur spécifique, généralement attaché à la frontière d’une activité.
- Événement de fin d’erreur : Termine un chemin de processus et génère une erreur qui peut être capturée.
Cas d’utilisation : Gestion des exceptions techniques, traitement des erreurs métier, scénarios de reprise après échec.
4.1.4 Événements de lien
Les événements de lien sont utilisés pour connecter deux sections d’un processus, créant ainsi un saut dans le flux.
- Événement intermédiaire de lien (lancement) : Crée un saut vers un événement de lien correspondant.
- Événement intermédiaire de lien (capture) : Cible d’un saut depuis un événement de lien de lancement.
Cas d’utilisation : Simplification de diagrammes complexes, évitement des croisements de flux, amélioration de la lisibilité.
4.1.5 Événements multiples
Les événements multiples permettent de spécifier plusieurs déclencheurs ou résultats pour un même événement.
- Événement multiple parallèle : Tous les déclencheurs définis doivent se produire pour que l’événement soit activé.
- Événement multiple inclusif : Au moins un des déclencheurs définis doit se produire pour que l’événement soit activé.
Cas d’utilisation : Synchronisation de conditions multiples, attente de plusieurs signaux ou messages.
4.2 Types d’activités spécialisées

4.2.1 Activités de compensation
Les activités de compensation sont des tâches ou des sous-processus spécifiquement conçus pour « défaire » les effets d’autres activités. Elles sont marquées par un symbole de compensation (flèche de retour) et sont déclenchées par des événements de compensation.
Cas d’utilisation : Annulation de réservations, remboursements, restauration de données.
4.2.2 Activités d’appel (Call Activities)
Les activités d’appel sont utilisées pour invoquer un processus ou une tâche globale réutilisable. Contrairement aux sous-processus intégrés, les processus appelés sont définis séparément et peuvent être réutilisés dans différents diagrammes.
Cas d’utilisation : Processus standardisés, procédures communes à plusieurs départements, fonctions métier réutilisables.
4.2.3 Sous-processus d’événement (Event Sub-processes)
Les sous-processus d’événement sont des sous-processus déclenchés par des événements. Ils ne font pas partie du flux normal du processus parent et peuvent être déclenchés à tout moment tant que le processus parent est actif.
- Sous-processus d’événement interruptif : Interrompt le processus parent lorsqu’il est déclenché.
- Sous-processus d’événement non-interruptif : S’exécute en parallèle du processus parent sans l’interrompre.
Cas d’utilisation : Gestion des exceptions, traitement des événements imprévus, procédures d’urgence.
4.2.4 Sous-processus de transaction
Les sous-processus de transaction sont des sous-processus qui suivent un protocole de transaction. Ils incluent des mécanismes pour annuler (rollback) toutes les activités en cas d’échec, ou pour compenser les activités déjà complétées.
Cas d’utilisation : Transactions financières, réservations complexes, processus nécessitant une intégrité transactionnelle.
4.2.5 Sous-processus ad hoc
Les sous-processus ad hoc contiennent des activités qui peuvent être exécutées dans n’importe quel ordre, ou même en parallèle, sans flux de séquence prédéfinis entre elles. L’ordre et le nombre d’exécutions sont déterminés par les exécutants.
Cas d’utilisation : Processus créatifs, résolution de problèmes, activités non structurées.
4.3 Types de passerelles complexes

4.3.1 Passerelle basée sur les événements (Event-Based Gateway)
La passerelle basée sur les événements crée des chemins alternatifs basés sur des événements plutôt que sur des conditions de données. Le chemin pris est déterminé par l’événement qui se produit en premier.
- Passerelle basée sur les événements exclusive : Un seul chemin est activé, basé sur l’événement qui se produit en premier.
- Passerelle basée sur les événements parallèle : Attend que tous les événements spécifiés se produisent, mais pas nécessairement simultanément.
Cas d’utilisation : Attente de réponses multiples, gestion des délais d’expiration, réaction à des événements externes.
4.3.2 Passerelle complexe (Complex Gateway)
La passerelle complexe permet de définir des comportements de convergence et de divergence complexes qui ne peuvent pas être facilement représentés par les autres types de passerelles. Elle utilise une expression de condition pour déterminer quels chemins suivre.
Cas d’utilisation : Logique de branchement complexe, synchronisation partielle, conditions d’activation sophistiquées.
4.4 Flux de messages
Les flux de messages représentent l’échange d’informations entre deux participants (piscines) dans un diagramme BPMN. Contrairement aux flux de séquence qui connectent des éléments au sein d’une même piscine, les flux de messages traversent les frontières des piscines.

4.4.1 Caractéristiques des flux de messages
- Représentés par une ligne pointillée avec une flèche ouverte
- Ne peuvent pas connecter des éléments à l’intérieur d’une même piscine
- Peuvent connecter directement des piscines ou des éléments spécifiques dans des piscines différentes
- Peuvent être associés à des événements de message, des tâches d’envoi/réception, ou directement à des piscines
4.4.2 Modélisation des interactions entre participants
Les flux de messages permettent de modéliser explicitement les interactions entre différents participants d’un processus, comme :
- Communication entre départements
- Échanges avec des partenaires externes
- Interactions avec des clients
- Intégration de systèmes
4.4.3 Chorégraphies de messages
Les chorégraphies sont un type spécial de diagramme BPMN qui se concentre sur les échanges de messages entre participants plutôt que sur les activités internes. Elles montrent la séquence des interactions sans détailler les processus internes.
4.5 Associations et annotations

4.5.1 Associations
Les associations sont utilisées pour lier des informations et des artefacts aux éléments de flux. Elles sont représentées par une ligne pointillée.
- Association directionnelle : Indique un flux d’information dans une direction spécifique.
- Association bidirectionnelle : Indique un échange d’information dans les deux directions.
- Association non-directionnelle : Établit une simple connexion sans indiquer de direction.
4.5.2 Annotations de texte
Les annotations de texte sont des mécanismes pour ajouter des informations textuelles supplémentaires au diagramme. Elles sont connectées aux éléments du diagramme par des associations.
Cas d’utilisation : Documentation, explications, contraintes, règles métier, informations complémentaires.
4.6 Piscines et couloirs (Pools and Lanes)

4.6.1 Piscines (Pools)
Une piscine représente un participant dans un processus, qui peut être une entité métier ou un rôle. Les piscines sont des conteneurs pour un processus et séparent les activités de différents participants.
- Piscine boîte noire (Black Box Pool) : Représente un participant externe dont les processus internes ne sont pas détaillés.
- Piscine boîte blanche (White Box Pool) : Montre les détails du processus interne du participant.
4.6.2 Couloirs (Lanes)
Les couloirs sont des subdivisions à l’intérieur d’une piscine, généralement utilisés pour organiser et catégoriser les activités. Ils représentent souvent des rôles, des départements ou des systèmes au sein d’une organisation.
- Les couloirs peuvent être imbriqués pour représenter une hiérarchie organisationnelle.
- Les activités sont placées dans les couloirs pour indiquer qui est responsable de leur exécution.
- Les flux de séquence peuvent traverser les frontières des couloirs, mais pas celles des piscines.
4.6.3 Collaboration entre piscines
La collaboration entre piscines est modélisée à l’aide de flux de messages. Ces flux montrent comment les différents participants interagissent dans le cadre d’un processus global.
Cas d’utilisation : Processus inter-organisationnels, chaînes de valeur, interactions client-fournisseur.
4.7 Artefacts
Les artefacts sont des éléments qui fournissent des informations supplémentaires sur le processus sans affecter directement le flux.

4.7.1 Groupes
Un groupe est représenté par un rectangle en pointillés avec des coins arrondis. Il est utilisé pour regrouper visuellement des éléments du diagramme sans affecter le flux du processus.
Cas d’utilisation : Mise en évidence d’aspects spécifiques du processus, regroupement logique d’activités, identification de domaines d’amélioration.
4.7.2 Objets de données
Les objets de données représentent les informations qui circulent dans le processus, comme des documents, des emails, ou des données.
- Objet de données : Information individuelle utilisée ou produite par des activités.
- Collection d’objets de données : Ensemble d’informations similaires.
- Entrée de données : Information requise pour une activité.
- Sortie de données : Information produite par une activité.
4.7.3 Entrepôts de données (Data Stores)
Les entrepôts de données représentent des emplacements où le processus peut lire ou écrire des données persistantes, comme des bases de données ou des systèmes de fichiers.
Cas d’utilisation : Intégration avec des systèmes d’information, stockage et récupération de données, traçabilité.
Résumé du chapitre
Dans ce chapitre, nous avons exploré les éléments avancés du BPMN 2.0 qui permettent de modéliser des processus métier complexes :
- Types d’événements spécialisés : Compensation, escalade, erreur, lien et événements multiples.
- Types d’activités spécialisées : Activités de compensation, activités d’appel, sous-processus d’événement, sous-processus de transaction et sous-processus ad hoc.
- Types de passerelles complexes : Passerelles basées sur les événements et passerelles complexes.
- Flux de messages : Communication entre participants et chorégraphies.
- Associations et annotations : Connexion d’informations supplémentaires aux éléments du processus.
- Piscines et couloirs : Organisation des participants et des responsabilités.
- Artefacts : Groupes, objets de données et entrepôts de données.
Ces éléments avancés enrichissent considérablement les capacités de modélisation du BPMN 2.0, permettant de représenter des scénarios métier sophistiqués, des interactions complexes entre participants, et des mécanismes de gestion des exceptions et des transactions. Dans le prochain chapitre, nous explorerons des cas d’usage pratiques qui illustrent l’application de ces concepts dans des situations réelles.