Tutoriel BPMN
Cartographier les processus
Cabinet de conseil en architecture et organisation des systèmes
Représentation des processus métier en BPMN
p.2
Agenda
Présentation de la norme
Modélisation des processus métier
Présentation des principaux concepts : activités, événements, branchements
conditionnés
Etayés par des patterns basiques
Renforcé par des patterns plus complexes
Exception, compensation, …
« Voyage, voyage »
Un exemple de réservation de voyage en fil rouge de ce document
p.3
Récapitulatif des principaux éléments du BPMN
Evénement de début de processus Branchement simple : un seul
chemin est suivi
Evénement au cours d’un processus
(attente d’un message ou d’un délai…) Branchement parallèle : tous les
chemins sont suivis
Evénement de fin de processus
simultanément
Transition entre deux éléments
Branchement non exclusif : un ou
plusieurs des chemins sont suivis
Connexion de message
simultanément
Attente de la réception d’un message
Branchement complexe
dépendant de conditions variées
Envoi de message
Attente d’un délai ou d’une date/horaire Artefact : un objet de données
lisible et/ou modifiable
Evénement de compensation Annotation associée à un
élément des processus
Evénement conditionnel
(règle métier complexe)
Arrivée d’un lien
Début d’un lien
Attente de la réception d’un signal
Envoi d’un signal
Attente d’un événement parmi plusieurs
Emission d’un ou plusieurs événements Branchement d’événement : on suit le premier
(message, signal…) chemin dont l’événement est réalisé (typiquement
la réception d’un message ou l’écoulement d’un
délai
p.4
« La carte n’est pas le territoire »
« Si la carte contredit le territoire, fie-toi au territoire »
p.5
Qu’est ce que BPMN
La norme BPMN a été développée par le consortium BPMI (Business Management
Initiative)
BPMN a été rattachée à l’OMG (Object Management Group) en juin 2005
Une première version des spécifications (1.0) a été livrée en mai 2004
BPMN couvre tout le périmètre de conception d’un système d’information orienté
BPM
De l’analyste métier qui modélise le processus
A l’informaticien qui va l’implémenter
La norme BPMN
Permet de définir des diagrammes de Business Process : COMMUNIQUER !
Offre un ensemble de règles de mapping permettant de transformer ces
diagrammes en un langage d’exécution : BPEL (Business Process Execution
Language)
p.6
p.7
Un dessin vaut mieux qu’un long discours
p.8
p.9
Notion de pattern
Le mot Pattern est souvent utilisé pour désigner un modèle, une structure ou un motif,
répondant à une problématique donnée, se répétant dans le temps
Christopher Alexander, célèbre architecte (du bâtiment) fut le premier à adopter ces
notions dans le monde de l’architecture
Dans les 90’s, la notion de Pattern a été reprise dans la communauté informatique par
un groupe de chercheurs ayant écrit le fameux ouvrage « Design Patterns : Elements of
Reusable Object-Oriented Software »
En 2003, Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski et Alistair Barros
proposent 21 patterns orientés business process, permettant de décrire les principaux
mécanismes d’interaction dans un processus
Quelques uns de ces patterns sont présentés dans ce document, il sont notés [Pattern #xx],
avec xx le numéro du pattern tel que présenté dans le document original
p.10
Le concept de jeton (token)
Pour faciliter la modélisation, nous utiliserons le concept de « jeton » qui traverse le
diagramme en passant au travers des séquences, des portes et des activités
C’est l’activité qui a le jeton qui est active et qui travaille
Production / Consommation de jetons
Les évènements de départ produisent des jetons
Les évènements terminaux consomment des jetons
Certaines portes permettent de dupliquer un jeton (parallélisation) ou de fusionner
plusieurs jetons (synchronisation)
Dans un processus, tout jeton produit doit être consommé
p.11
Modélisation en BPMN
Eléments de flux
p.12
Eléments de flux
p.13
[Pattern #1] Séquence
p.14
p.15
« Voyage, voyage »
p.16
Les évènements
p.17
Evènement de départ (start event)
p.18
Evènements de départ conditionnés (exemples)
p.19
Evènements de départ : déclencheurs
p.20
Evènement terminal (end event)
p.21
Evènements terminal : résultat (exemples)
p.22
Evènement terminal : résultat
p.23
« Voyage, voyage »
p.24
Evènement intermédiaire (intermediary event)
p.25
Evènements intermédiaires : déclencheurs (ex)
p.26
Evènements intermédiaires : déclencheurs (1/2)
p.27
Evènements intermédiaires : déclencheurs (2/2)
p.28
Récapitulatif : évènements conditionnés
p.29
p.30
« Voyage, voyage »
p.31
Activités
p.32
Notion d’attribut
p.33
« Voyage, voyage »
p.34
Mécanisme des boucles
p.35
Sous-processus
p.36
Types de tâche
p.37
p.38
« Voyage, voyage»
p.39
Branchements
p.40
Branchement exclusif (XOR)
p.41
Branchement exclusif (XOR)
p.42
Variations du OU eXclusif (XOR)
p.43
[Pattern #5] Simple merge
p.44
[Pattern #17] Deffered choice
p.45
« Voyage, voyage»
p.46
OU inclusif (OR)
p.47
OU inclusif (OR)
p.48
[Pattern #10] Synchronizing merge
p.49
« Voyage, voyage»
p.50
Parallèlisation (AND)
p.51
Parallèlisation (AND)
p.52
[Pattern #3] Synchronization
p.53
[Pattern #8] Discriminator
p.54
[Pattern #8] Implicit termination
p.55
p.56
« Voyage, voyage»
p.57
Pool
p.58
Lane
p.59
p.60
[Pattern #18] Jalon (milestone)
p.61
[Pattern #19] Gestion d’erreur
p.62
Fin du document
p.63