3.1 Événements (Start, Intermediate, End)
Les événements sont des éléments fondamentaux du BPMN qui représentent quelque chose qui « se produit » pendant le déroulement d’un processus. Ils affectent le flux du processus et ont généralement une cause (déclencheur) ou un impact (résultat). Graphiquement, les événements sont représentés par des cercles.
3.1.1 Événements de début (Start Events)
Les événements de début indiquent où un processus particulier commence. Ils sont représentés par un cercle à trait simple.
Types d’événements de début :

- Événement de début simple (None Start Event) : Indique le point de départ d’un processus sans spécifier de déclencheur particulier.
- Événement de début par message (Message Start Event) : Le processus démarre lorsqu’un message est reçu d’un participant externe.
- Événement de début temporel (Timer Start Event) : Le processus démarre à un moment spécifique ou selon un cycle défini.
- Événement de début conditionnel (Conditional Start Event) : Le processus démarre lorsqu’une condition métier spécifique est remplie.
- Événement de début par signal (Signal Start Event) : Le processus démarre lorsqu’un signal est capturé, émis par un autre processus.
3.1.2 Événements intermédiaires (Intermediate Events)
Les événements intermédiaires se produisent entre un événement de début et un événement de fin. Ils représentent quelque chose qui se produit pendant l’exécution du processus. Ils sont représentés par un cercle à double trait.
Les événements intermédiaires peuvent être placés :
- Dans le flux normal du processus (Intermediate Catching/Throwing Events)
- Attachés à la frontière d’une activité (Boundary Events)
Types d’événements intermédiaires :

- Événement intermédiaire simple : Utilisé principalement pour des raisons méthodologiques ou de documentation.
- Événement intermédiaire de message : Indique qu’un message est envoyé ou reçu.
- Événement intermédiaire temporel : Indique un délai d’attente ou une date spécifique.
- Événement intermédiaire d’escalade : Indique une escalade à un niveau de responsabilité supérieur.
- Événement intermédiaire conditionnel : Le processus continue lorsqu’une condition métier est remplie.
- Événement intermédiaire de lien : Connecte deux sections d’un processus.
- Événement intermédiaire de signal : Indique qu’un signal est émis ou reçu.
- Événement intermédiaire d’erreur : Capture une erreur nommée.
- Événement intermédiaire d’annulation : Utilisé dans les sous-processus de transaction.
- Événement intermédiaire de compensation : Gère ou déclenche une compensation.
3.1.3 Événements de fin (End Events)
Les événements de fin indiquent où un processus se termine. Ils sont représentés par un cercle à trait épais.
Types d’événements de fin :

- Événement de fin simple (None End Event) : Indique la fin d’un chemin de processus sans conséquence particulière.
- Événement de fin par message (Message End Event) : Un message est envoyé à la fin du processus.
- Événement de fin par signal (Signal End Event) : Un signal est émis à la fin du processus.
- Événement de fin d’erreur (Error End Event) : Génère une erreur nommée qui peut être capturée.
- Événement de fin d’escalade (Escalation End Event) : Déclenche une escalade qui peut être capturée.
- Événement de fin d’annulation (Cancel End Event) : Déclenche une annulation dans un sous-processus de transaction.
- Événement de fin de compensation (Compensation End Event) : Déclenche une compensation.
- Événement de fin de terminaison (Terminate End Event) : Termine immédiatement toutes les activités du processus.
3.2 Activités (Tasks, Sub-processes)
Les activités représentent le travail effectué dans un processus. Elles sont représentées par des rectangles aux coins arrondis.
3.2.1 Tâches (Tasks)
Une tâche est une activité atomique incluse dans un processus. Elle représente une action qui n’est pas décomposée plus finement dans le modèle.
Types de tâches :

- Tâche utilisateur (User Task) : Tâche effectuée par un humain avec l’assistance d’une application.
- Tâche de service (Service Task) : Tâche automatisée exécutée par un système.
- Tâche d’envoi (Send Task) : Tâche qui envoie un message à un participant externe.
- Tâche de réception (Receive Task) : Tâche qui attend la réception d’un message d’un participant externe.
- Tâche manuelle (Manual Task) : Tâche effectuée entièrement par un humain sans l’assistance d’applications.
- Tâche de script (Script Task) : Tâche automatisée exécutée par un moteur de processus via un script.
- Tâche de règles métier (Business Rule Task) : Tâche qui exécute une ou plusieurs règles métier.
Marqueurs de tâches :
Les tâches peuvent avoir des marqueurs qui indiquent des comportements spécifiques :
- Boucle (Loop) : La tâche est répétée jusqu’à ce qu’une condition soit remplie.
- Instances multiples parallèles : Plusieurs instances de la tâche sont créées et exécutées en parallèle.
- Instances multiples séquentielles : Plusieurs instances de la tâche sont créées et exécutées séquentiellement.
- Compensation : La tâche est utilisée comme une activité de compensation.
3.2.2 Sous-processus (Sub-processes)
Un sous-processus est une activité composée qui peut être décomposée en un flux d’autres activités. Il permet d’organiser et de structurer des processus complexes.
Types de sous-processus :

- Sous-processus intégré (Embedded Sub-process) : Contient un ensemble d’activités qui sont graphiquement visibles dans le diagramme.
- Sous-processus réutilisable (Reusable Sub-process) : Fait référence à un processus défini séparément qui peut être réutilisé dans différents contextes.
- Sous-processus d’événement (Event Sub-process) : Déclenché par un événement et s’exécute dans le contexte du processus parent.
- Sous-processus de transaction (Transaction Sub-process) : Groupe d’activités qui doivent être traitées comme une transaction unique.
- Sous-processus ad hoc (Ad-hoc Sub-process) : Contient des activités qui peuvent être exécutées dans n’importe quel ordre ou même en parallèle.
Marqueurs de sous-processus :
Comme les tâches, les sous-processus peuvent avoir des marqueurs :
- Boucle
- Instances multiples parallèles
- Instances multiples séquentielles
- Compensation
3.3 Passerelles (Gateways)
Les passerelles sont utilisées pour contrôler la divergence et la convergence des flux de séquence dans un processus. Elles déterminent le branchement, la fusion et la jonction des chemins. Graphiquement, elles sont représentées par des losanges.

3.3.1 Passerelle exclusive (Exclusive Gateway)
Aussi appelée passerelle XOR, elle crée des chemins alternatifs dans un processus, mais un seul chemin peut être pris. La décision est basée sur des données ou des événements.
- Divergence : Un seul des chemins sortants est activé en fonction d’une condition.
- Convergence : Fusionne des chemins alternatifs sans synchronisation.
3.3.2 Passerelle inclusive (Inclusive Gateway)
Aussi appelée passerelle OR, elle crée des chemins alternatifs, mais aussi des chemins parallèles dans un processus.
- Divergence : Un ou plusieurs chemins sortants peuvent être activés en fonction de conditions.
- Convergence : Attend tous les jetons qui ont été activés avant de continuer.
3.3.3 Passerelle parallèle (Parallel Gateway)
Aussi appelée passerelle AND, elle crée des chemins parallèles sans évaluer de conditions.
- Divergence : Tous les chemins sortants sont activés simultanément.
- Convergence : Attend que tous les chemins entrants soient complétés avant de continuer.
3.3.4 Passerelle complexe (Complex Gateway)
Utilisée pour modéliser des comportements de convergence et de divergence complexes qui ne peuvent pas être facilement représentés par les autres types de passerelles.
3.3.5 Passerelle événementielle (Event-Based Gateway)
Représente un point de branchement où les chemins alternatifs dépendent d’événements plutôt que de conditions.
- Le chemin pris est déterminé par l’événement qui se produit en premier.
- Chaque chemin sortant doit commencer par un événement intermédiaire de capture.
3.4 Flux de séquence
Les flux de séquence montrent l’ordre dans lequel les activités sont exécutées dans un processus. Ils sont représentés par des flèches à trait plein.

3.4.1 Flux de séquence normal
Connecte des objets de flux (événements, activités, passerelles) et définit le chemin d’exécution du processus.
3.4.2 Flux de séquence conditionnel
Un flux de séquence avec une condition qui détermine si le flux sera suivi ou non. Il est représenté par une petite losange au début de la flèche.
3.4.3 Flux de séquence par défaut
Un flux de séquence qui est suivi uniquement si tous les autres flux conditionnels sortant de la même source ne sont pas valides. Il est représenté par une barre oblique au début de la flèche.
3.5 Objets de données
Les objets de données fournissent des informations sur ce que les activités requièrent pour être exécutées et/ou ce qu’elles produisent.

3.5.1 Objet de données (Data Object)
Représente les informations qui circulent à travers le processus, comme des documents, des emails, ou des données.
3.5.2 Collection d’objets de données (Data Object Collection)
Représente une collection d’informations, par exemple, une liste de commandes.
3.5.3 Entrée de données (Data Input)
Information requise pour qu’un processus ou une activité soit exécuté.
3.5.4 Sortie de données (Data Output)
Information produite par un processus ou une activité.
3.5.5 Entrepôt de données (Data Store)
Endroit où le processus peut lire ou écrire des données qui persisteront au-delà de la portée du processus.
3.5.6 Association de données
Utilisée pour associer des informations et des artefacts avec des objets de flux. Elle est représentée par une ligne pointillée.
Résumé du chapitre
Dans ce chapitre, nous avons exploré les éléments de base du BPMN 2.0 qui constituent le cœur de tout modèle de processus :
- Événements : Représentent des choses qui se produisent pendant un processus (début, intermédiaire, fin).
- Activités : Représentent le travail effectué dans un processus (tâches, sous-processus).
- Passerelles : Contrôlent la divergence et la convergence des flux (exclusive, inclusive, parallèle, complexe, événementielle).
- Flux de séquence : Montrent l’ordre d’exécution des activités (normal, conditionnel, par défaut).
- Objets de données : Fournissent des informations sur les données utilisées et produites.
Ces éléments de base permettent de modéliser la plupart des processus métier simples. Dans le prochain chapitre, nous explorerons les éléments avancés du BPMN 2.0 qui permettent de modéliser des processus plus complexes et des scénarios d’entreprise sophistiqués.