03 - Modelisation - Des - Processus - Metiers - BPMN

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 183

Formation : Cartographie et Modélisation des

processus Métiers
Deuxième Journée

INTRODUCTION AU BPMN : VUE GENERALE


BPMN DATAILS ET PRATIQUE.
INTRODUCTION AU BPMN : VUE GENERALE
UN PROCESSUS
Le terme processus est employé dans plusieurs domaines avec une signification
spécifique (écologie, physique, informatique, mathématique, entreprise, etc.)
Un processus est un ensemble d'activités corrélées ou interactives qui transforme des
éléments d'entrée en éléments de sortie.
UN PROCESSUS MÉTIER
Un processus métier est un ensemble d’activités ou de tâches métiers structurées
afin d’atteindre un ou des objectifs prédéfinis par l’entreprise .
Un processus métier met en évidence les interactions sous forme d’échange
d’informations entre les différents acteurs de l’entreprise.
 Échanges entre acteurs (commercial, technicien, fournisseurs…)
 Échanges avec les applications ou services (email, gestion de facturation, gestion des clients, etc.)
 Échanges d’informations avec d’autres processus métiers
On distingue : les processus opérationnels ; les processus de support ; les processus de pilotage ; les
processus de mesure.
UN PROCESSUS MÉTIER
L’exemple ci-dessous correspond à un processus de gestion de prise de commande
jusqu’à la livraison finale.

Un bon processus, c’est un processus qui fournit des


indicateurs pertinents pour l’entreprise afin de prendre
les bonnes décisions.
BUSINESS PROCESS MANAGEMENT
BUSINESS PROCESS MANAGEMENT
Business Process Management (BPM) est une approche orientée processus qui permet
à une organisation de documenter, déployer, auditer et optimiser ses processus
métiers.
BPM donne à l'Entreprise les moyens de gérer ses processus métiers de manière
informatisée (modélisation, simulation, exécution et audit) .

Avec une bonne maitrise des processus métiers,


une entreprise a toutes les chances de se
démarquer en consacrant moins de temps aux
tâches répétitives et en se concentrant
principalement sur son savoir-faire
BUSINESS PROCESS MANAGEMENT

Le BPM offre aux organisations la possibilité:


• de contrôler le coût de chaque processus,
• de connaître la valeur de chaque activité,
• d’optimiser les processus pour sauver temps, ressources
et argent,
• d’accroitre leur productivité et efficacité,
• de saisir plus vite des opportunités sur le marché,
• d’être plus agile et flexible pour faire face aux
changement.
CYCLE DE VIE DE BPM
1. Conception: Cette phase permet d'identifier et concevoir
les processus existants (les activités, les règles de métiers, le
coût, etc. ).
2. Modélisation: Cette phase consiste à représenter
graphiquement le modèle le plus proche possible de la réalité
(avec BPMN, …).
3. Exécution: C'est la phase de mise en œuvre du BPM. Les
processus sont intégrés au système d'information en faisant
appel à des outils permettant la mise en œuvre de
l'automatisation des processus.
4. Surveillance: Cette phase permet de suivre des informations et
des statistique sur l’état des processus (Temps, volume, coût,
taux d’échec, etc.)
5. Optimisation: Cette phase permet l'ajustement d'un processus
en minimisant les coûts, optimiser l’efficacité, augmenter la
performance, éviter la redondance, etc.
LA MODÉLISATION DES PROCESSUS

Organisation Communication Suivi & pilotage



Apporte une vision globale de Fluidité les échanges au sein de Permet la mise en place
l’organisation. l’entreprise. d’indicateurs de performance.
Permet aux collaborateurs Centralise les informations.
Formalise le fonctionnement.
d’avoir une meilleure visibilité
sur leur rôle au sein du Mesure l’atteinte des objectifs
Permet une communication et met en évidence les
processus.
transversale entre les différents dysfonctionnements.
Développe la satisfaction des niveaux de l’entreprise.
parties prenantes. Apporte une meilleure
Améliore le gain de temps et le Favorise la collaboration entre réactivité dans les prises de
coût à tous les niveaux. les équipes. décision.
Sécurise le déroulement des Limite les erreurs. Accompagne la démarches
activités et contrôle les risques. d’amélioration et pilotage.
LA MODÉLISATION DES PROCESSUS
En voici quelques exemples :
un nouvel employé est embauché dans
une entreprise
 des mesures doivent être entreprises avant,
pendant et après l'arrivée de la personne par les
services généraux, la direction des services
informatiques, les ressources humaines, etc. ;
un utilisateur signale un problème à son
support informatique
 le problème doit être identifié, routé vers les bons
interlocuteurs, suivi, résolu, et documenté ;
un client rapporte sa voiture chez un
concessionnaire en raison d'une pièce
défectueuse
 le problème doit être identifié, la pièce
commandée ou sortie du stock, la voiture doit être
réparée, le constructeur alerté, etc.
LA MODÉLISATION DES PROCESSUS
La modélisation du processus métier consiste à représenter graphiquement le modèle le
plus proche possible de la réalité.
 BPMN (Business Process Model and Notation): un langage normalisé de représentation des processus
métiers
 UML (Unified Modeling Language): un langage de modélisation orienté objet
 BPML (Business Process Modeling Language): un langage basé sur XML destiné à modéliser des
processus métier
 XPDL (XML Process Definition Language): un langage standard de description des processus
 OSSAD (Office Support Systems Analysis and Design): une méthode d’analyse, conception et mise en
œuvre des systèmes d’information développée dans le cadre d’un projet.

Il faut noter qu’un modèle de processus métier


décrit en général le métier, et non le système
informatique.
BUSINESS PROCESS MODEL AND NOTATION
BPMN-DÉFINITIONS
BPM ( business Process Management): La gestion des processus d’entreprise traite du
cycle d’ingénierie des processus d’entreprise en répondant aux problématiques
métiers(modéliser, simuler, exécuter, optimiser, suivre un processus métier)
BPM ( Business Process Model ): La modélisation des processus métier est l’activité qui
consiste à formaliser et modéliser les processus d’entreprise avec des graphiques
(cartographier les processus métiers)
BPMN (Business Process Model and Notation) : La notation et la modélisation des
processus métiers est le langage standard pour modéliser graphiquement un processus
métier. Le BPMN fourni un ensemble d’objets graphiques qui permet de modéliser tout
processus d’entreprise.
BPMN-HISTOIRE
1. En mai 2004, la première version de BPMN a été développé par la consortium « Business
Process Management Initiative (BPMI) ».
2. En juin 2005, BPMI a fusionné avec l'Object Management Group (OMG) pour y donner
naissance à un groupe de travail thématique dédié à la modélisation et à l'intégration de
processus, sous l’appellation « Business Modeling & Integration Domain Task Force ».
3. En février 2006, l'OMG adopte la version 1.0
4. En janvier 2008, l'OMG livre la version 1.1
5. En janvier 2009, l'OMG livre la version 1.2
6. En janvier 2011, l'OMG livre la version 2.0. Celle-ci introduit des changements majeurs et une
plus grande richesse dans la spécification des événements.
7. En juillet 2013, l'ISO adopte la version 2.02 comme norme internationale ISO/CEI
19510:2013 sous le titre « Information technology - Object Management Group Business Process
Model and Notation »
8. En décembre 2013, l'OMG entérine la version 2.0.2, qui ne contient que des changements
mineurs concernant les fichiers d'échange de modèles en XML
UN PROCESSUS BPMN
Processus = activités + événements + flux de séquence
NOTATIONS BPMN
LES ÉLÉMENTS BPMN EN 4 CATÉGORIES

Workflow Organisation Lisibilité Comportements


spécifiques

Activities (activités) Messages (messages)


Events (événements) Pools (piscines) Signals (signaux)
Annotation (annotations)
Gateways (porte logique) Swimlanes (lignes d'eau) Timers (minuterie)
Links (liens)
Sequence flow (flux Groups (groupes) Errors (erreurs)
séquentiel) Repeating (boucles)

En utilisant simplement quelques éléments des trois


premières catégories, vous pouvez représenter un
processus métier sous la forme d'un diagramme et
commencer à créer et décrire un processus.
LES ÉLÉMENTS DE WORKFLOW

Activités Événements Branchements Flux séquentiels


Tâches qui peuvent Utilisés pour débuter, (passerelles) Utilisés pour montrer
être réalisées par un finir un processus ou Utilisés pour la progression du
humain, un système ou gérer des actions dissocier ou réunir flux.
un sous-processus. spécifiques au cours des flux.
d’un processus.

La représentation graphique des éléments BPMN est monochrome.


Certaine logiciels utilisent des couleurs pour améliorer la lisibilité du
diagramme
LES ÉLÉMENTS D’ORGANISATION
Piscine (Pool) Ligne d'eau (swimlane) Groupe
Contient un processus unique et Utilisée pour identifier qui fait Utilisé pour réunir des éléments
complet. quoi. graphiques. Il est sans
conséquence pour les flux
Un workflow ne peut pas sortir d'une Un workflow peut franchir les lignes séquentiels.
piscine : il convient de transférer les d'eau comme si elles n'existaient pas.
actions d'une piscine à une autre en Elles ont une fonction purement
utilisant les messages. organisationnelle.
LES ÉLÉMENTS DE LISIBILITÉ
Annotations Liens (links)
Elles permettent de rajouter des Ils permettent de couper un
annotations pour donner processus devenu trop long et
davantage d'explications, de continuer sur une autre ligne.
notamment pour les débutants.
LES ÉLÉMENTS DES COMPORTEMENTS
SPÉCIFIQUES
Messages et message Signaux Erreurs
flow Utilisés pour envoyer Utilisées pour définir
Utilisés pour transférer des données à le comportement
une action ou une plusieurs activités lorsque le système
donnée d'un processus simultanément. rencontre une erreur
- pool - à un autre et technique.
de les relier.
LES ÉLÉMENTS DES COMPORTEMENTS
SPÉCIFIQUES
Boucles (repeating) Minuteries (timers)
Utilisées pour rééditer un Utilisées pour démarrer
comportement comme lancer des périodiquement des activités ou
tâches multiples ou répéter une pour vérifier qu'une activité s'est
même tâche plusieurs fois. déroulée dans un délai défini.
PRINCIPES DES ÉVÉNEMENTS (JETON)

Les évènements de début et fin


 Dans un processus, il y a un seul évènement de début et une ou plusieurs évènement
de fins.
 Plusieurs événements de départ peuvent être utilisés si leur type est spécifié
(message, signal, etc.) mais un seul événement de départ de type « blanc » est
spécifié par un processus.
Chaque branche du flux se termine par un événement de fin
PRINCIPES DES ÉVÉNEMENTS (JETON)
Les évènements de début
Principe du jeton (token):
 L’événement de départ émet un jeton .
 L’événement de fin absorbe un (ou tous les) jeton(s).
 Une tâche s’exécute quand elle reçoit un jeton et libère le jeton quand elle est
terminée.
Cas particuliers : Branchements parallèles et Evénements intermédiaires.
PRINCIPES DES ÉVÉNEMENTS (JETON)
Evénements de départ (déclencheur)
 Attend qu’un événement arrive (Réception-Catch) pour lancer le processus.
 L’événement déclencheur n’a qu’un seul flux séquence sortant.
 Il émet un jeton.
PRINCIPES DES ÉVÉNEMENTS (JETON)
Evénements de fin (résultant)
• Termine une ou plusieurs branches du processus.
• Il ne possède que des flux séquence entrants.
• L’événement de fin n’a pas de flux séquence sortant.
• Il absorbe un jeton.
PRINCIPES DES ÉVÉNEMENTS (JETON)
Evénements de fin (résultant)
Cas particulier :
Terminaison : tous les jetons de l’instance du flux en cours sont
consommés, toutes les activités cessent.
PRINCIPES DES ÉVÉNEMENTS (JETON)
Emission-Throw
Evénement intermédiaire Symbole foncé

 Un événement intermédiaire ne déclenche pas une nouvelle


instance du processus en cours.
 Un seul flux séquence entrant et un seul flux séquence
sortant
 Emetteur (Throw) / Récepteur (Catch): Réception-Catch
 Emetteur d’événement : quand le jeton arrive à l’événement, celui-ci Symbole clair
émet l’événement et continue le flux.
 Récepteur d’événement : quand le jeton arrive à l’événement, celui-
ci attend que l’événement se produise. Une fois l’événement « reçu »,
le jeton continue le flux.
BPMN : 3 NIVEAUX DE COMPLEXITÉ
Basique Intermédiaire Avancé
• Sous-processus événementiel
• Tâche manuelle • Tache de: message, script,
• Tâche utilisateur etc.
Activités • Tâche abstraite
• Tâche de service • Boucles
• Sous-processus • Instances multiples
• etc.
• Début • Événements • Evènement à la frontière
Événements
• Fin Intermédiaire • Evènement complexe
• Exclusif • Complexes
Branchements • Parallèle • Inclusif • Basé sur Evènement
Flux • Flux par défaut
• Flux séquentiel
séquentiels • Flux de message
• Erreur
• Message
Comportement • Escalade
• Minuterie
s • Compensation
• Signal
spéciaux • Terminaison
• Lien
• Transaction
BPMN : 3 NIVEAUX DE COMPLEXITÉ
BPMN Basique Intermédiaire Avancé

• Le BPMN basique est essentiellement visuel. Il est utile pour modéliser un


processus dans ses grandes lignes.
• Le BPMN intermédiaire et avancé devient exécutable.

• Seulement 20% des symboles graphique qui sont utilisés dans 80% des cas de
modélisation.
BONNES PRATIQUES
1. Présenter un processus de manière à mettre en évidence son déroulement
chronologique: orienter les tâches en séquence suivant une ligne fictive de
temps, en général de gauche à droite ou de haut en bas.
2. Commencer un processus par un événement déclencheur, montrer les éventuels
résultats intermédiaires et terminer par un ou plusieurs événements de fin.
3. Assigner des rôles (des acteurs) aux activités
4. Faire apparaître explicitement les critères de choix et de décision ayant un
impact sur les chemins parcourus dans le processus
5. Faire apparaître les données qui sont échangées
BONNES PRATIQUES
1. Utiliser des règles de nommage homogènes pour les éléments du modèle :
 Toujours nommer les tâches avec : verbe + (adjectif/descripteur) + nom
 Eviter d'utiliser les mots « processus », « tâche » ou « activité »
 Choisir des noms courts mais toujours explicites ➡ éviter les acronymes !
 Capitaliser les premières lettres des mots dans les noms des éléments pour améliorer la
lisibilité

2. Utiliser la hiérarchie (utilisation de sous-processus) pour améliorer la lisibilité dans


le cas de processus complexes
3. Ne pas hésiter à utiliser des commentaires pour annoter le modèle, notamment
pour faire apparaître les hypothèses qui ont été faites
LE BPMN BASIQUE
LE BPMN BASIQUE
Événement de début Activité abstraite
Elle sert d'élément
Commence un flux de
générique à des fins de
processus
documentation.

Événement de fin Flux séquentiel


Termine un flux de Dirige simplement le flux
processus de processus d'activité en
activité.
LE BPMN BASIQUE

Porte parallèle
Tous les flux entrants doivent avoir été
reçus (quel que soit l'ordre) pour que
le processus continue.
Tous les flux sortants sont actifs et le
processus continue le traitement en
parallèle.
LE BPMN BASIQUE

Porte exclusive
Un seul flux entrant est nécessaire
pour continuer le processus.
Un seul flux sortant est activé : une
condition doit définir quel flux doit
être suivi.
LE BPMN BASIQUE
Lequel de ces diagrammes est invalide?

 

 
LE BPMN BASIQUE
Mise en pratique

Refaire le modèle du processus métier « Commander directement une pizza dans un


restaurant » en prenant en considération les intervenants suivants: le Gestionnaire, le
Pizzaiolo et le Livreur.
LE BPMN BASIQUE
Annotations et Objets de données
On peut ajouter des annotation et des objets de données à un flux de séquence ou une
activité pour garantir une meilleur lisibilité et présenter plus d’informations.
LE BPMN BASIQUE
Annotations et Objets de données
LE BPMN INTERMÉDIAIRE
LE BPMN INTERMÉDIAIRE
Porte Exclusive
Flux séquentiel par défaut vous permet
de diriger le flux si, pour une raison
quelconque, aucune autre condition n'est
remplie.
LE BPMN INTERMÉDIAIRE
LE BPMN INTERMÉDIAIRE
Porte Inclusive
Les branchements inclusifs permettent
un contrôle précis du flux.
Un branchement inclusif peut
déclencher plusieurs sorties
simultanément. Des conditions sont
requises.
Un branchement inclusif attend toutes
les entrées. Elles doivent toutes être
reçues et valides selon des conditions
pour que le flux continue.
LE BPMN INTERMÉDIAIRE
Type d’Activité
Une activité manuelle est
réalisée manuellement.
Une activité utilisateur est
réalisée par une personne via
une application.
Une activité de service est
réalisée d’une façon
automatisé.
Une activité appelante
représente un sous-processus.
LE BPMN INTERMÉDIAIRE
Type d’Evénement
Événement de départ (réception « Catch») débute un processus. Il doit avoir
au moins un flux séquentiel sortant.
Événement intermédiaire (émission ou réception), intervient au cours du flux
d'un processus. Il doit avoir au moins un flux séquentiel entrant et un sortant.
Événement de fin (émission « Throw»), termine un flux de processus. Il doit avoir
au moins un flux séquentiel entrant.
LE BPMN INTERMÉDIAIRE
Message
Un message est un moyen spécifique de transmettre des données d'un processus à
l'autre (courrier, appel, etc.). Avec BPMN, vous pouvez démarrer un processus à
partir de données provenant d'un autre processus.

Représentent les échanges


B2B: échangés entre entités
distinctes, donc entre pools
uniquement
LE BPMN INTERMÉDIAIRE
Message
Les messages s'adressent exclusivement
à des destinataires uniques tandis que
LE BPMN INTERMÉDIAIRE
les signaux sont diffusés à de nombreux
destinataires.
Signal
Un signal unique est diffusé et peut être reçu par plusieurs signaux. C'est utile
lorsque vous voulez que plusieurs actions soient déclenchées en parallèle.
LE BPMN INTERMÉDIAIRE
Minuterie
Les minuteries permettent de définir des intervalles ou des dates pendant
lesquels le processus sera en pause. Par exemple, une minuterie de début
permet de déclencher le processus toutes les 24 heures ou tous les premiers
mardis de chaque mois.
LE BPMN INTERMÉDIAIRE
Lien

Utile pour lier 2 points du


flux (fortement) éloignés
sans utiliser un flux séquence
(flèche) qui traverse tout.
Lien sont utilisés avec le
même nom, mais avec un «
qui lance» et l’autre « qui
reçoit».
– La tâche 2 est suivie de la tâche 6 qui doit être exécutée par
l’acteur 2. Pour éviter un flux séquence qui en traverse d’autres
(flèche rouge),
A LA PRATIQUE
Agenda

• Modélisation de processus
• Contexte BPMN
• Concepts de base
• Concepts avancés
• Conclusions
Modélisation de processus

• Business Process : “Un processus métier consiste en un ensemble d'activités


exécutées en coordination dans un environnement organisationnel et technique.
Ces activités réalisent conjointement un objectif d'affaires”

– Un objectif d’affaire (métier) est la cible qu'une organisation vise à atteindre en


exécutant correctement le processus métier associé.

• Actuellement, les processus métier sont au cœur de la plupart des systèmes


d'information:

– ligne de production d'un constructeur automobile, procédures d'achat de billets en


ligne ...

• Cela nécessite que les organisations spécifient leurs flux de travail pour
l'orchestration des participants, l'information et la technologie pour la
réalisation de produits et services.

• Pour gérer les processus d'entreprise, ils doivent être décrits et documentés en
termes de modèles de processus.
A premier exemple BPMN

Processus d'affaires concernant


le service de prêt de livres fourni
par une bibliothèque

• Une notation pour la modélisation des processus métiers définit


les symboles pour les différents éléments du processus, leur
signification correcte ainsi que leurs combinaisons possibles.
• Ainsi, une notation est un langage normalisé pour la description
des processus métiers.
Le but de la découverte de processus est de
capturer les principales composantes d'un
Le cycle de vie du processus processus (comment les choses doivent
être faites) et de documenter un processus
avec des manuels, des politiques, des
procédures.

1. Identification du processus Outil de


2. Processus de découverte (As Is) Process
Modeling
3. L'analyse des processus
4. Refonte du processus (To Be)
5. Implémentation du processus
Process
6. Surveillance du processus Management
Systems
Après avoir documenté le processus, il est
nécessaire de capturer son essence,
la forme d'un diagramme de processus métier
(modèle de processus), ce qui peut être réalisé via
l'activité Modélisation de processus.
Objectifs de la modélisation Modèles High-level
incluant
de processus Communication,
simulation, calcul des
Les modèles de processus sont
coûts par activité …
importants dans les étapes du
cycle de vie du processus.

Modèles detailles
incluant

Types de données, conditions,


mappages de données, gestion des
erreurs …
Integration, testing,
deploiment…

Les modèles produits seront très


différents selon la raison de leur
modélisation en premier lieu.
7
Modèles de processus
exécutables
• Les modèles de processus exécutables portent les instructions sur la façon dont
le travail doit se dérouler, qui doit le faire, les liens avec les autres systèmes, etc..
• Ils fournissent une méthode directe de traduction de l'intention stratégique et
tactique en processus metier.
• Pour être exécutés, les modèles de processus doivent répondre à des exigences
très strictes, car ils ne sont pas convertis en un programme informatique par un
être humain, mais directement traités par une machine.
• Actuellement, de nombreuses normes pour les descriptions de processus
exécutables ont été établies, telles que:
XPDL (XML Process Definition Language)
BPEL (Business Process Execution Language)]

... mais ces descriptions n'ont pas de notations graphiques, et la principale


application est la définition de processus automatiques.
• YAWL (Yet Another Workflow Language) est un langage de modélisation qui
permet une représentation graphique de modèles de processus exécutables.
Process Management
Systems
• Process Management System (PMS) : “un PMS est un système
logiciel générique piloté par des représentations de processus
explicites pour coordonner la mise en œuvre des processus
métier”.
It manages the
process routing

librarian
PMS
It takes a process
model as input It assigns tasks
to proper participants
system

– un PMS est piloté par un modèle de processus métier spécifique .


L'importance de la
modélisation de processus
• Modéliser un processus conduit à un certain nombre de questions:
- Quelles étapes sont vraiment nécessaires?
- Qui devrait les faire?
- Doivent-ils être gardés à l'interne ou sous-traités?
- Comment devraient-ils être faits?
- Quelles capacités sont nécessaires?
- Quels sont les résultats attendus et comment seront-ils suivis?

• Alors que les réponses à ces questions sont toujours spécifiques à la


situation ...
• ... sans la toile de fond d'une description communément acceptée
du processus métier en question, de telles réponses sont souvent
vagues et nébuleux.
Modeling Languages for
Business Processes
[7]
Repr. Capabilities (Data vs. Control Flow)

Artifact-centric
Business
Workflow Nets [5] [8]
Processes [4]

DECLARE [6]
Agenda

• Modélisation de processus
• Contexte BPMN
• Concepts de base
• Concepts avancés
• Conclusions
Business Process Modeling
Notation(BPMN)
• BPMN est le standard OMG pour représenter les processus d’affaire.

– D'autres normes, telles que les diagrammes d'activité d'UML, n'ont pas été acceptées
pour la modélisation de processus dans la pratique, car leur utilisation est limitée au
domaine de la conception de logiciel orienté objet.
• il y a beaucoup d’outils pour la modélisation BPMN des processus:
– Bizagi Process Modeller (it also provides an execution engine)
– JBPM (Eclipse plugin)
– Signavio
– TIBCO Business Studio (free download, quite large)
– IBM Websphere Business Modeler
– ARIS
– Oracle BPA
– Business Process Visual Architect (Visual Paradigm)
– Progress Savvion Business Modeller
Pourquoi BPMN?

• “L'objectif principal de BPMN est de fournir une notation est facilement


compréhensible par tous les utilisateurs professionnels, des
analystes d'affaires qui créent le projet initial de la processus, aux
développeurs techniques chargés de la mise en œuvre de la
technologie qui permettra de réaliser ces processus, et enfin aux gens
d'affaires qui vont gérer et surveiller ces processus..”

• “L'idée est de créer un pont normalisé pour le écart entre la


conception des processus d'affaires et mise en œuvre” [BPMN 2.0
spec.]
The vendors realized immediately there was
a need of a graphical representation for the
language oriented towards the needs of
L’histoire du BPMN business users. Not a notation that directly
represents the precise execution language
under development.

In 2001 BPMI
(Business Process
Management Initiative) In 2004 BPMN 1.0 was In Feb.2008 BPMN 1.1
developed BPML as an released to the public was released to the BPMN 1.2 does not
XML process and in 2006 it was public, making the include any significant
execution language. adopted as OMG meaning of the graphical changes;
standard. notation more modifications were
explicit. merely editorial. 15
BPMN 1.2 vs BPMN 2.0

• BPMN 1.2 fournit un mappage d'un diagramme BPMN "valide" à BPEL, de


sorte qu'un moteur puisse exécuter le processus.

– The 1.2 La spécification fournit uniquement des descriptions verbales


contenues des éléments de notations graphiques et des règles de modélisation.
Cela conduit à des interprétations erronées et à des confusions dans le
processus de traduction.
• BPMN 2.0 beta 2 a été introduit en Juin 2010.
– Il représente la plus grande révision de BPMN depuis sa création.
• BPMN 2.0 a reçu une définition formelle sous la forme d'un métamodèle, c'est-à-
dire une définition précise des constructions et des règles nécessaires à la création
de modèles spécifiques.
Qu'est-ce qu'un métamodèle?
BPMN 2.0 Métamodèle

• Le métamodèle offre un certain


nombre d'avantages:
– Il formalise la définition des modèles
et des entités.
– Il formalise la relation entre les
éléments.
– Cela permet l'interopérabilité.
• Le document de spécification de la
nouvelle version possède un
diagramme de classes UML complet
qui montre graphiquement les
caractéristiques des différentes
constructions BPMN et leurs relations.
BPMN 1.2 vs BPMN 2.0

• Le métamodèle a également des constructions de langage supplémentaires qui ne


peuvent pas être représentées dans les modèles graphiques.
– De telles constructions sont requises par les moteurs de processus pour capturer les
informations supplémentaires nécessaires à l'exécution du processus.

• De plus, le métamodèle a servi de base au développement sur un format d'échange


pour les modèles BPMN
– Jusqu'à présent, il était presque impossible de transférer des modèles BPMN d'un outil à
un autre.
– Certains outils ont des interfaces d'importation et d'exportation pour l'échange de modèles
BPMN au moyen du format XPDL, mais l'utilisation de XPDL à cette fin n'est pas encore
largement acceptée.
– De plus, XPDL n'a pas été implémenté uniformément par tous les fournisseurs, de sorte
qu'en pratique il y a souvent des problèmes avec l'échange de modèles.
BPMN 2.0

• Le modeleur typique n'a pas besoin de travailler avec le


métamodèle. Normalement, il utilise un outil de modélisation qui ne
permet que la création de modèles conformes à la spécification, et donc
au métamodèle.
• Ce sont plutôt les vendeurs d'outils de modélisation et les moteurs de
processus qui doivent faire face au métamodèle.
• BPMN 2.0 prend en charge 3 différents niveaux de modélisation de
processus:
- Cartes de processus: organigrammes simples des activités.
- Descriptions de processus: organigrammes étendus avec des informations
supplémentaires, mais pas assez pour définir pleinement les performances réelles.
- Modèles de processus: organigrammes étendus avec suffisamment d'informations pour
que le processus puisse être analysé, simulé et / ou exécuté.
Les Outils- Gartner Magic Quadrant
Agenda

• Modélisation de processus
• Contexte BPMN
• Concepts de base
• Concepts avancés
• Conclusions
Éléments de base BPMN

• 4 éléments de base, qui couvrent habituellement les


80% des besoins de modélisation.
C'est une unité de
travail atomique
qui a une durée.

Les événements représentent Les arcs imposent des Les éléments qui
des choses qui se produisent contraintes temporelles contrôlent le flux
instantanément. entre les objets de flux. d'exécution du
processus.
Connecter les activites
• Le flux de séquence définit l'ordre des objets de flux dans un processus (activités,
événements et passerelles). Chaque activité peut avoir un ou plusieurs flux de
séquence entrants et un ou plusieurs flux de séquence sortante.

• Généralement, une activité a tendance à avoir un seul flux de séquence entrant


et un seul flux sortant.
• Chaque processus doit toujours avoir au moins un événement de début (un cercle avec une bordure
fine), indiquant où une instance de processus peut démarrer et un événement de fin (un cercle avec
une bordure épaisse), pour indiquer quand une instance de processus est terminée.

• À partir d'un modèle de processus, une organisation exécute un certain nombre


d'instances indépendantes de ce processus.
Comportement de l'activité
• Une fois qu'une instance de processus a été créée, nous utilisons la notion de
jeton pour identifier la progression (ou l'état) de cette instance.
• Un jeton est un "objet théorique" utilisé pour créer une "simulation" descriptive du
comportement associé à chaque élément BPMN (il n'est pas actuellement une partie formelle de
la spécification BPMN).
• Un jeton est créé dans l'événement de début, traverse le flux de séquence et est détruit
dans un événement de fin. C'est-à-dire, il n'y a pas de temps associé au jeton
descendant un flux de séquence .
Un premier exemple: un processus
de gestion des commandes Ces activités sont
mutuellement exclusives.

Activites
événement de début Evénement de fin.
BPMN adopte la
Order
sémantique de
rejected terminaison
implicite.
X
Purchase
order
received
+ +
Order
fulfilled
Chaque événement de début Passerelles
/ fin doit être étiqueté, afin de exclusives
communiquer ce qui
déclenche une instance du Une instance de processus
processus ou quel est le se termine uniquement
Passerelles lorsque chaque jeton circulant
résultat lorsqu'une instance parallèles Ces activités peuvent être dans le modèle atteint un
de processus est terminée.
exécutées simultanément. événement de fin.
Un peu plus sur les passerelles

• Une passerelle implique qu'il existe un mécanisme de déclenchement


qui autorise ou interdit le passage des jetons à travers la passerelle.

• Lorsque les jetons arrivent à une passerelle, ils peuvent être fusionnés
en entrée ou séparés en fonction du type de passerelle.

• Une passerelle divisée représente un point où le flux de processus


diverge, tandis qu'une passerelle de jointure représente un point où
le flux de processus converge.
• Les divisions ont un flux de séquence entrant et plusieurs flux de séquence sortante
(représentant les branches qui divergent).
• Les jointures ont plusieurs flux de séquence entrants (représentant les branches à
fusionner) et un flux de séquence sortant .
Types des passerelles

• Passerelles Exclusives (XOR)


– Indique les emplacements dans un processus métier où le flux de
séquence peut prendre plusieurs chemins alternatifs.
– Un seul des chemins peut être pris.
– Décrit par une forme de diamant qui peut contenir un marqueur
qui a la forme d'un "X"
– Nous utilisons une jointure XOR pour fusionner deux ou plusieurs
branches alternatives qui ont déjà été forkées avec un fractionnement
XOR.
• Passerelles Parallelles (AND)
– Fournit un mécanisme pour synchroniser les flux parallèles (AND-join)
et pour créer des flux parallèles (AND-split), avec des activités qui
peuvent être exécutées simultanément.
– Représenté par une forme de diamant qui doit contenir un marqueur qui a la
forme d'un signe plus.
Passerelles exclusives -
Comportement de fractionnement
• Les passerelles exclusives sont des
emplacements dans un processus où il existe
deux ou plusieurs chemins alternatifs.
• Les critères de la décision, représentée par
la passerelle exclusive, existent en tant que
conditions sur chacun des flux de
séquence sortants.
• Lorsqu'un jeton arrive à une passerelle
exclusive, il y a une évaluation immédiate
des conditions qui se trouvent sur le flux
de la séquence sortante de la passerelle.
Une de ces conditions doit toujours être
vraie.
Conditions par défaut

• Une façon pour le modélisateur de


s'assurer que le processus ne reste
pas bloqué à une passerelle
exclusive consiste à utiliser une
condition par défaut pour l'un des
flux de séquence sortants.
• La condition par défaut peut
compléter un ensemble de conditions
standard pour fournir un mécanisme
d'échappement automatique au cas
où toutes les conditions standard
seraient fausses.
La condition par défaut a la • La valeur par défaut est choisie si
signification de "sinon", et elle
peut être laissée sans étiquette .
toutes les autres conditions de flux
de séquence s'avèrent être
fausses.
Passerelles exclusives -
Comportement de fusion
• Lorsqu'un jeton arrive à la passerelle exclusive, il n'y a pas d'évaluation des conditions
(sur le flux de la séquence entrante) et descend immédiatement le flux de la séquence
sortante.
Exercice

• Dès qu'une facture est reçue d'un client, elle doit être vérifiée
pour des discordances.

• La vérification peut entraîner l'une de ces trois options:


– i) il n'y a pas de discordance, auquel cas la facture est enregistrée;
– ii) il existe des discordances mais celles-ci peuvent être corrigées, auquel cas la
facture est renvoyée au client; et
– iii) il existe des discordances mais celles-ci ne peuvent pas être corrigées,
auquel cas la facture est bloquée.

• Une fois l'une de ces trois activités exécutée, la facture est


parquée et le processus est terminé.
Solution
Passerelles Parallelles –
Comportement de fractionnement

• Lorsqu'un jeton arrive à une passerelle parallèle, il


n'y a aucune évaluation des conditions sur le flux
de la séquence sortante.

• La passerelle parallèle créera des chemins


parallèles.

• Cela signifie que la passerelle créera un nombre


de jetons égal au nombre de flux de séquence
sortants. Un jeton se déplace vers le bas de
chaque flux de séquence sortant.
.
Passerelles Parallelles–
Comportement de fusion
• Pour synchroniser le flux, la passerelle parallèle attendra qu'un jeton arrive
de chaque flux de séquence entrant.
• Lorsque le premier jeton arrive, il n'y a pas d'évaluation d'une condition pour
le flux de séquence entrant, mais le jeton est "maintenu" à la passerelle et
ne continue pas.
• Lorsque tous les jetons sont arrivés, ils sont fusionnés et un jeton descend le
flux de séquence sortant.
Exercise

• Une fois la carte d'embarquement reçue, les passagers procèdent au


contrôle de sécurité. Ici, ils doivent passer le contrôle de sécurité
personnel et le contrôle des bagages. Ensuite, ils peuvent procéder au
niveau de départ.
Exercise
Seulement deux des trois chemins
• Décrivez le comportement de ce processus. seront utilisés à la fois. Ainsi, le
Le processus sera bloqué en attente
du troisième chemin.
Solution
Passerelles inclusives

• Passerelles inclusives (OR)


– Parfois, nous pouvons avoir besoin de prendre une ou plusieurs
branches après une activité de décision.
– Pour modéliser des situations où une décision peut mener à une ou
plusieurs options prises en même temps, nous devons utiliser une
passerelle partagée (OR).
– Une division OR (OR-split) est similaire à la division XOR, mais les
conditions sur ses branches sortantes n'ont pas besoin d'être
mutuellement exclusives, c'est-à-dire que plusieurs d'entre elles
peuvent être vraies en même temps.

– Lorsque nous rencontrons un OR-split, nous prenons ainsi une ou


plusieurs branches en fonction des conditions qui sont vraies.
Passerelles inclusives –
Comportement de fractionnement
• Les passerelles inclusives prennent en charge les
décisions où plus d'un résultat est possible au
point de décision.
• Une passerelle inclusive avec plusieurs flux de
séquence sortante crée un ou plusieurs chemins
en fonction des conditions de ce flux de séquence.

• En termes de sémantique des jetons, cela signifie


que la division OR prend le jeton d'entrée et génère
un nombre de jetons équivalent au nombre de
conditions de sortie qui sont vraies

• Toute condition évaluée comme vraie entraînera un


jeton se déplaçant vers le bas de ce flux de
séquence.
• Au moins une de ces conditions doit être vraie.
Passerelles inclusives –
Comportement de fusion
• Lorsque le premier jeton arrivera à la passerelle, la
passerelle "cherchera" en amont pour chacun des
autres flux de séquence entrants pour voir s'il y a un
jeton qui pourrait arriver plus tard.
• Ainsi, la passerelle tiendra le premier jeton qui est
arrivé dans le chemin supérieur jusqu'à ce que l'autre
jeton du chemin inférieur arrive.

• Lorsque tous les jetons attendus sont arrivés à la


passerelle, le flux de processus est synchronisé (les
jetons entrants sont fusionnés), puis un jeton
descend le flux de la séquence sortante de la
passerelle..
Exercice

Une entreprise possède deux entrepôts qui stockent différents


produits: Amsterdam et Hambourg.

Lorsqu'une commande est reçue, elle est répartie entre ces


entrepôts: si certains produits concernés sont conservés à
Amsterdam, une sous-commande y est envoyée; De même,
si certains produits pertinents sont conservés à Hambourg,
une sous-commande est envoyée à Hambourg.

Ensuite, la commande est enregistrée et le processus se


termine.
Une première solution

Certaines activités représentées


dans le modèle de processus
doivent être dupliquées.
Une seconde solution

Ce processus fonctionne également pour


les commandes vides (c'est-à-dire, pour
les commandes qui ne contiennent ni les
produits d'Amsterdam ni ceux de
Hambourg).
Une troisième solution avec des
passerelles OR
Quel type devrions-nous assigner à
cette jointure?
Quel type devrions-nous assigner à
cette jointure?
Essayons une Jointure-AND pour correspondre à la AND-split précédente.

Nous rappelons qu'une jointure-AND attend qu'un jeton arrive de chaque


branche entrante. Alors que le jeton de la branche avec l'activité "C"
arrivera toujours, le jeton de la branche avec les activités "B" et "D" peut ne
pas arriver si celui-ci est routé vers "E" par la division XOR.

Donc, si l'activité "D" n'est pas exécutée, la jointure-AND attendra


indéfiniment pour ce jeton la conséquence que l'instance de processus
ne pourra plus progresser.
Cette anomalie comportementale est appelée blocage et doit être évitée
Quel type devrions-nous assigner à
cette jointure?
Essayons une jointure-XOR. Nous rappelons que la jointure-XOR
fonctionne comme un relais en transmettant à sa branche de sortie
chaque jeton qui arrive par l'une de ses branches d'entrée.

Dans notre exemple, cela signifie que nous pouvons exécuter l'activité
"F" une ou deux fois, selon que la division XOR précédente achemine
le jeton vers "E" (dans ce cas "F" est exécuté une fois) ou vers "D" ("F"
"Est exécuté deux fois).
Bien que cette solution puisse fonctionner, nous avons le problème que nous
ne savons pas si l'activité "F" sera exécutée une ou deux fois, et nous
pouvons réellement ne pas vouloir l'exécuter deux fois.
De plus, si c'est le cas, nous signalerons que le processus s'est terminé deux
fois, puisque l'événement final suivant "F" recevra deux jetons. Et ceci,
encore une fois, est quelque chose que nous voulons éviter
Quel type devrions-nous assigner à
cette jointure?
Le seul type de joint restant à essayer est la jointure-OR.

Une jointure-OR attendra que toutes les branches actives entrantes soient
complétées. Si le XOR-split achemine le contrôle à "E", la jointure OR
n'attendra pas un jeton provenant de l'activité portant la branche "D", puisque
cela n'arrivera jamais.

Ainsi, il se poursuivra une fois que le jeton de l'activité "C" arrivera. D'un autre
côté, si le XOR-split achemine le contrôle vers "D", la jointure-OR attendra
qu'un jeton arrive également de cette branche, et une fois que les deux jetons
seront arrivés, il les fusionnera en un et enverra ce jeton out, de sorte que "F"
peut être exécuté une fois et le processus peut se terminer normalement.
Quand devrions-nous utiliser une
jointure-OR?
Comme la sémantique de la jointure-OR n'est pas simple, la
présence de cet élément dans un modèle peut perturber le lecteur.

Ainsi, nous suggérons de ne l'utiliser que lorsque cela est


strictement nécessaire.
De toute évidence, il est facile de voir qu'une jointure-OR doit être
utilisée chaque fois que nous avons besoin de synchroniser le
contrôle à partir d'une OR-split précédente. De même, nous
devons utiliser une jointure-AND pour synchroniser le contrôle
d'une AND-split précédente et d'une jointure-XOR pour fusionner
un ensemble de branches mutuellement exclusives.
Les Points de vue de modélisation de
processus Organization
Qui?

Quoi?
Function Quand?
Process

Lequel

Data / Service / Product


Éléments organisationnels dans les
modèles de processus
Deux abstractions de base:
• Ressource: Tout ou partie impliquée dans l'exécution d'une activité
de processus. Il peut s'agir d'un acteur humain, d'un équipement
(par exemple une imprimante) ou d'un système logiciel.
– Le point de vue des ressources d'un processus est intéressé par les ressources actives .
• Classe de ressources: ensemble de ressources avec des caractéristiques
partagées, par ex. Commis, directeurs, agents d'assurance
Une classe de ressources peut représenter soit:
• Rôle (compétence, compétence, qualification) Classification basée sur
ce qu'une ressource peut faire ou est censée faire (par exemple, un
employé est un rôle).
• Groupe (département, équipe, bureau, unité organisationnelle)
Classification basée sur la structure de l'organisation (par exemple,
le service administratif d'une organisation).
Modélisation des ressources dans
BPMN
• Dans BPMN, les classes de ressources sont capturées à l'aide de:
– Pools (Piscines)
• représentent des entités organisationnelles indépendantes dans un diagramme de processus
métier collaboratif, par exemple, le client est indépendant du fournisseur.
• Indépendant signifie qu'ils ne partagent aucun système commun qui leur permet de
communiquer implicitement. Par conséquent, ils doivent communiquer explicitement par
l'utilisation de messages.

– Lanes (voies d’eau)


• Représentent plusieurs classes de ressources dans le même espace organisationnel (c'est-à-dire dans le
même pool) et partager des systèmes communs.
• Le département des ventes et le département marketing de la même société peuvent être représentés
dans le même pool, mais dans des voies différentes. Ils peuvent communiquer directement.
• Les employés et les gestionnaires peuvent être modélisés dans deux voies (lanes) distinctes, mais dans le
même bassin (pool) représentant la banque.
o L’employer crée une nouvelle demande de prêt ...
o Un gestionnaire évalue la demande de prêt ...
Lanes & Pools – Notation Les pools agissent comme des conteneurs pour les
objets de flux d'un ensemble spécifique de classes
de ressources et communiquent au moyen de
En pratique, chaque pool représente un messages (lignes pointillées).
processus distinct et chaque ensemble de
classes de ressources a son propre pool. .

Dans chaque pool, nous pouvons avoir plusieurs lanes, souvent


supposées représenter des rôles métiers internes au sein d'un
processus. Les lanes fournissent en fait un mécanisme générique pour
partitionner les objets dans un pool.
Flux de messages
• Le flux de messages définit les messages / communications entre deux
participants séparés (représentés comme des pools) du diagramme .
• Le flux de messages doit toujours se produire entre deux pools distincts et ne
peut pas connecter deux objets dans un pool unique .

• Ce flux de messages est uniquement


utilisé dans les diagrammes de
collaboration avec deux pools ou plus.

• Le flux de séquence ne peut pas


traverser une limite de pool - c'est-à-
dire qu'un Processus est entièrement
contenu dans un pool.
Processus de gestion des
commandes avec pools
Processus de gestion des commandes
avec des Lanes
Lanes
• Les Lanes créent des sous-partitions pour les objets d'un pool.
• Ces partitions sont utilisées pour grouper des éléments de processus (en montrant
comment ils sont liés), ou quels rôles sont responsables de la réalisation des activités.

• Les Lanes représentent souvent des rôles d'organisation


(par exemple, gestionnaire, administration, associé, etc.),
mais peuvent représenter n'importe quelle classification
souhaitée (par exemple, technologie sous-jacente,
départements organisationnels, produits d'entreprise,
etc.).

• Le flux de séquence peut traverser les limites


de la Lane.
• Le flux de messages n'est pas utilisé dans ou
entre les Lanes d'un pool.
• Les Lanes peuvent être imbriquées.
Pools – boîtes noires
• Un pool n'est pas obligé de contenir un processus. Connu sous le nom de
"boîte noire", ces pools n'affichent pas d'activités ou de flux de séquence à
l'intérieur de ses limites.
• Dans cet exemple, le Pool "Client" est une boîte noire (en ce qui concerne
Mortgage Co, ils n'ont aucune connaissance des Processus de leur Client).

Lorsque le pool est une


boîte noire, le flux de
messages se connecte à
sa limite.
Les annotations de texte et les groupes ne
Artifacts portent aucune sémantique, ils n'affectent
donc pas le flux de jetons à travers le

(Artefacts) modèle de processus.

• Les artefacts fournissent un mécanisme pour capturer des informations


supplémentaires sur un processus. Cette information n'a pas d'impact
direct sur les caractéristiques de l'organigramme d'un processus.
• Trois types d'artefacts différents sont disponibles: Une annotation textuelle fournit au
Groupes, annotations de texte, objets de données. modélisateur la possibilité d'ajouter
d'autres informations descriptives ou
• Les modélisateurs et les fournisseurs d'outils peuvent des notes sur un processus ou ses
étendre BPMN en ajoutant de nouveaux types d'artefacts. éléments.

Un groupe est utilisé pour


entourer un groupe
d'objets de flux afin de les
mettre en évidence et / ou
de les classer.
Data Artifacts (Artefacts de données)

• Data Objects sont un mécanisme pour montrer comment les


données sont requises ou produites par les activités.

- Ils sont représentés par un rectangle dont le coin supérieur droit est
replié.
- Représentent l'entrée et la sortie d'une activité de processus.

• Data Stores: sont des conteneurs d'objets de données qui doivent être
Data
Store conservés au-delà de la durée d'une instance de processus.
• Les Associations sont utilisées pour lier des objets de données et des
data stores avec des objets de flux (par exemple, des activités et, parfois,
des événements).
• Les associations dirigées (Directed Associations) sont utilisées pour
comprendre quand les activités de processus peuvent lire / écrire des
objets de données depuis / vers des data stores.
Data Objects
• Data objects sont utilisés pour montrer comment les données et les documents sont
utilisés dans un processus comme inputs et outputs des activités.
• Data objects peuvent également avoir des «états» qui décrivent comment l'objet (document)
est mis à jour dans le processus. L'état est généralement affiché sous le nom de l'objet de
données et est placé entre parenthèses.

• En utilisant l'état d'un Data Object et en le


plaçant dans plusieurs emplacements au sein
d'un diagramme, le modélisateur peut
documenter les modifications qu'un objet de
données subira pendant le processus.

• Le flux de données représente le mouvement


des objets de données depuis et vers les
activités.
• Dans BPMN, le flux de données est découplé
du flux de séquence.
Extension du processus de gestion des
commandes

• Le document de commande d'achat sert d'input au contrôle de disponibilité des stocks. En


fonction du résultat de cette vérification, le statut du document est mis à jour, soit
«approuvé», soit «rejeté».
• Les objets de données d'entrée (input) sont requis pour qu'une activité soit exécutée.
Même si un jeton est disponible sur l'arc entrant de cette activité, ce dernier ne peut pas
être exécuté tant que tous les objets de données d'entrée (inputs) ne sont pas disponibles.
Exercice
Insérez des objets de données dans le modèle de processus suivant:
Solution
Insérez des objets de données dans le modèle de processus suivant:

Books DB

Book Information

Customer Info
Nouveaux objets de données
dans BPMN 2.0

• Un objet de données de collection représente une collection


d'informations, par exemple, une liste d'articles de commande.

• Une entrée de données Data Input est une entrée externe pour
l'ensemble du processus. Une sorte de paramètre d'entrée.

• Une sortie de données Data output est le résultat de l'ensemble du


processus. Un genre de paramètre de sortie.

• Un Data store est un endroit où le processus peut lire ou écrire des


données, par exemple, une base de données ou un classeur. Il
persiste au-delà de la durée de vie de l'instance de processus.
Éléments BPMN - Récapitulatif

Connections Swimlanes

Flow Objects Artifacts

Data
Store
Agenda

• Modélisation de processus
• Contexte BPMN
• Concepts de base
• Concepts avancés
• Conclusions
Catégories de processus

• BPMN 2.0 prend en charge quatre catégories principales de processus


1. Orchestration: eIles représentent la vision d'une entreprise ou d'une organisation
spécifique du processus. Il décrit comment une entité commerciale unique (c.-à-d. Un
participant au processus, tel qu'un acheteur, un vendeur, un expéditeur ou un
fournisseur) agit à propos de certaines choses. Un diagramme BPMN peut contenir
plus d'une orchestration, Si tel est le cas, chaque orchestration apparaît donc dans
son propre pool.
. Chaque orchestration ne peut représenter qu'un seul participant
2. Collaboration: Il s'agit simplement d'une collection de participants et de leur
interaction.
3. Chorégraphie: Ils représentent le
comportement attendu entre deux
participants ou plus.

4. Conversation: La relation logique


des échanges de messages.
Types spécialisés de tâches
• Il existe 7 types de tâches spécialisées (avec différents
marqueurs):
• None : Une tâche générique ou indéfinie.
• User : Une tâche où un acteur humain effectue la tâche avec
l'aide d'une application logicielle.
• Receive : Attend qu'un message arrive d'un participant externe
(par rapport au Business Process). Une fois reçue, la tâche est
terminée.
• Send : Envoie un message à un participant externe.
• Service : Liens vers une sorte de service, qui peut être un
service Web ou une application automatisée.
• Script : Effectue un script défini par le modeleur.
• Manual : Tâche non automatisée qu'un acteur humain entreprend
en dehors du contrôle du flux de travail ou du moteur PMS.
Activités BPMN

• Une Activité est un travail effectué dans le cadre d'un


processus métier.
• Cela peut prendre un certain temps et implique une ou
plusieurs ressources de l'organisation .
• Cela nécessite généralement un certain type d‘input et
produit une sorte d’output.
• Une activité peut être atomique (connue aussi comme une
tâche) ou composée (non atomique, dans le sens où vous
pouvez explorer un autre niveau du processus).

• Une tâche est utilisée lorsque le travail dans le processus


Un sous-processus a un "signe n'est pas décomposé à un niveau de détail plus fin
plus" placé dans le centre
inférieur de la forme, ce qui
• Le type composé d'une activité est appelé un sous-
indique qu'il peut être ouvert pour processus.
plus de détails.
Types de sous-processus

• Les sous-processus permettent le développement


de processus hiérarchiques.
• Nous nous référons à un processus qui contient un sous-
processus en tant que processus parent pour le sous-
processus. Inversement, le sous-processus est le
processus fils du processus qui le contient.
• Pour une version étendue d'un sous-processus, les
détails (c.-à-d. Un autre processus) sont visibles dans
sa limite.
• Il existe deux types de sous-processus: Incorporé
(embedded) et indépendant

Expanded sub-process
Sous-processus incorporés
• Un processus modélisé qui fait partie du processus parent. Les sous-processus intégrés ne
sont pas réutilisables par d'autres processus. Toutes les «données pertinentes du
processus» utilisées dans le processus parent sont directement accessibles par le sous-
processus incorporé (puisqu'il fait partie du parent).

• Une caractéristique importante d'un sous-processus incorporé est qu'il ne peut commencer
qu'avec un événement de début nul, c'est-à-dire sans déclencheur explicite tel qu'un message.
Sous-processus indépendants

• Un processus modélisé séparément qui pourrait être utilisé dans plusieurs contextes (par
exemple, vérifier le crédit d'un client). Les «données pertinentes du processus» du processus
parent (appelant) ne sont pas automatiquement disponibles pour le sous-processus. Toutes
les données doivent être transférées spécifiquement, parfois reformatées, entre le parent
et le sous-processus.

• Le transfert de données du processus parent vers le sous-processus réutilisable reposera sur


un «mappage» entre les éléments de données des deux niveaux.
• Tout comme un sous-processus incorporé, un sous-processus indépendant doit avoir un
événement None Start. Les sous-processus indépendants maximisent la réutilisation.
Comportement à travers les
niveaux de processus
Le sous-processus est
actif

Le sous-processus est
termine
Exercice. Identifier les sous-processus\1
Exercice. Identifier les sous-processus\2
Exercice. Identifier les sous-processus\3

Nous pouvons simplifier le


modèle en cachant le contenu
de ses sous-processus. Nous
sommes en train de réduire les
sous-processus dans les
activités composées.
Looping
• Dans une activité, il est possible de définir une condition de
boucle qui détermine le nombre de fois où effectuer cette
activité. Il existe deux variantes pour la boucle d'activité:
– While Loop (ou While-Do) - La condition de boucle est vérifiée
avant l'exécution de l'activité. Si la condition de boucle s'avère
être vraie, alors l'activité est effectuée. Sinon, l'activité se
termine et le processus se poursuit (un jeton se déplace vers le
bas du flux de séquence sortant), même si l'activité n'a jamais
été effectuée. Le cycle de vérification de la condition de boucle
et d'exécution de l'activité se poursuit jusqu'à ce que la condition
de boucle soit False.
– Until Loop (ou Do-While): la condition de boucle est vérifiée
après l'exécution de l'activité.

• En utilisant les attributs d'activité, il est possible de définir le nombre maximum de boucles
(loop maximum) pour les boucles while et until. Une fois que l'activité a atteint le maximum
de la boucle, elle s'arrête (même si la condition de boucle est toujours vraie).
Exemple

Nous pouvons utiliser une


annotation pour spécifier la
condition de boucle
Activités multi-instances

• Activité à effectuer plusieurs fois


simultanément avec différents ensembles
de données.
• La valeur de l'attribut de condition de
boucle détermine le nombre de fois que
l'activité est effectuée.
• Le point clé a comprendre que l'activité ne
boucle pas, est que chaque exécution de
l'activité est distincte des autres

• Les instances individuelles d'une activité


multi-instances peuvent se produire en
parallèle ou en séquence.
Exemple

Ceci est une collection d'objets de données similaires (une liste de


fournisseurs, dans notre cas). Lorsqu'une collection est utilisée comme Après que toutes les citations ont
entrée pour une activité multi-instance, le nombre d'éléments dans la été reçues, elles sont évaluées et
collection détermine le nombre d'instances d'activité à créer. la meilleure citation est
sélectionnée.

Dans un processus d'approvisionnement,


un devis doit être obtenu auprès de tous
les fournisseurs privilégiés.
Exemple

Fondamentalement, une activité


multi-instance peut être modélisée
via des passerelles AND.

Il y a deux problèmes avec ce


modèle:
1) Lisibilité
2) Mise à jour
Exercice

Après un accident de voiture, une déclaration de deux témoins


sur les cinq présents est requise afin de déposer la réclamation
d'assurance.

Dès que les deux premiers relevés sont reçus, la réclamation


peut être déposée auprès de la compagnie d'assurance sans
attendre les autres relevés.
Solution
Events

• Un événement est quelque chose qui "se


Start produit instantanément" au cours d'un
processus métier.
Intermediate • Un événement peut affecter le flux du
processus et avoir généralement un
End déclencheur ou un résultat.
• Ils peuvent démarrer, retarder, interrompre
ou terminer le flux du processus.
– Les événements sont des cercles et le type de
limite détermine le type d'événement.
Start Events

None • Un événement de début montre où un processus peut


commencer.

Message • Un événement de départ est un petit cercle ouvert


avec une limite unique et mince.
• Il existe différents types d'événements de démarrage pour
Timer
indiquer les différentes circonstances pouvant déclencher
le démarrage d'un processus.
Conditional • Ces circonstances, telles que l'arrivée d'un message
ou d'une minuterie "en cours", sont appelées
Signal déclencheurs
• Un événement de début ne peut avoir que des flux de
séquence sortants
Multiple
• Les événements de démarrage déclenchés par un déclencheur
ne peuvent figurer que dans les processus de niveau supérieur
Parallel
(ils ne sont donc jamais utilisés dans les sous-processus).
Multiple
Le Comportement des Start Events

• Les événements de début sont l'endroit où le


flux d'un processus commence et, par
conséquent, sont les endroits où les jetons
sont créés. Lorsqu'un événement de
démarrage est déclenché, le jeton est
généré.

• Immédiatement après que les déclencheurs


d'événement de début et le jeton ont été
générés, le jeton quitte l'événement de
départ et descend le flux de séquence
sortant.
Timer Start Event

• Le Timer Start Event indique que le processus est démarré (c'est-


à-dire, déclenché) lorsqu'une condition de temps spécifique s'est
produite.
– Cela peut être une date et une heure spécifiques (par exemple, le 1er janvier
2009 à 8 heures du matin) ou une heure récurrente (par exemple, tous les
lundis à 8 heures du matin).
Message Start Event
• Le Message Start Event représente une situation dans laquelle un
processus est initié (c'est-à-dire déclenché) par la réception d'un
message.
• Un message est une communication directe entre deux participants
d'affaires. Ces participants doivent être dans des pools séparés (ils
ne peuvent pas être envoyés depuis une autre piste à l'intérieur d'un
même pool).
Signal Start Event

• Il indique que le processus est démarré (c'est-à-dire déclenché) lorsqu'un signal est
détecté.
• Ce signal était une communication diffusée par un participant professionnel ou un autre
processus. Les signaux n'ont pas de cible ou de destinataire spécifique, c'est-à-dire que
tous les processus et les participants peuvent voir le signal et qu'il appartient à chacun
d'entre eux de décider de réagir ou non.
– Contrairement aux messages, les signaux peuvent fonctionner dans un processus (peut-
être entre un sous-processus et son processus d'appel parente).
Conditional Start Event

• L'événement de démarrage conditionnel représente une situation dans laquelle un processus


est démarré (c'est-à-dire, déclenché) lorsqu'une condition prédéfinie devient vraie.
• Une condition est utilisée pour définir les détails de la modification des données
attendues.
– La condition pour l'événement doit devenir fausse, puis vraie à nouveau avant
que l'événement puisse être déclenché à nouveau.
Multiple & Parallel
Multiple Start Events
• L'événement de démarrage multiple représente une collection de deux
déclencheurs d'événement de démarrage ou plus. Les déclencheurs peuvent être
n'importe quelle combinaison de messages, de minuteurs, de conditions et / ou de
signaux.

– L'un de ces déclencheurs instanciera le processus.


– Si l'un des autres déclencheurs se produit ou si le même déclencheur se produit à
nouveau, une autre instance Processus est générée.

• Pour l'événement de démarrage multiple parallèle, une combinaison de


déclencheurs est requise avant que le processus puisse être instancié.
End Events

• Il existe différents types d'événements de fin qui indiquent


None différentes catégories de résultats pour le processus.
– Un résultat est quelque chose qui se produit à la fin
Message d'un chemin particulier du processus (par exemple, un
message est envoyé ou un signal est diffusé).
– Tous les événements finaux sont des résultats de
Signal lancer.(throw results)
• Seul le flux de séquence entrant est autorisé (c'est-à-dire
Multiple que le flux de séquence ne peut pas partir d'un événement
de fin).

Terminate • Un événement de fin None est toujours utilisé pour marquer


la fin des sous-processus (déplacement d'un niveau à
l'autre).
Comportement des End Events

• Lorsqu'un jeton arrive à un événement de fin, le


résultat de l'événement, le cas échéant, se
produit et le jeton est consommé.

• Il est possible d'avoir un ou plusieurs chemins


(threads) qui continuent même après que le
jeton dans un chemin a atteint un événement de
fin et a été consommé.

• Si le processus contient toujours un jeton non


consommé, le processus est toujours "actif".
Une fois que tous les chemins actifs ont
atteint un événement de fin, le processus est
alors terminé
Terminate End Event

• L'événement Terminate End provoquera la cessation immédiate de l'instance


Processus à son niveau actuel et pour tous les sous-processus (même s'il y a
encore une activité en cours), mais elle ne mettra pas fin à un processus parent de
niveau supérieur.
Lorsque le chemin inférieur atteint l'événement
de fin de terminaison, le travail du chemin
supérieur sera arrêté, arrêtant ainsi la boucle
infinie.
Intermediate Events
Catching Throwing

• Un événement intermédiaire indique où quelque


None
chose se produit / arrive après le début d'un
processus et avant sa fin.
Timer
• Ils peuvent également interrompre le traitement
normal d'une activité.
Message
• Chaque type d'événement intermédiaire peut lancer
Signal (throw) ou attraper (catch) l'événement.
• Un catching Intermediate Event attend que quelque
Conditional chose se produise (à savoir, attendre la circonstance
définie sur le déclencheur).
Link • Un throwing Intermediate Event se déclenche
immédiatement (créant ainsi la circonstance définie
Multiple sur le déclencheur).

Parallel
Multiple
Catch Intermediate Events-
Comportement
• Un jeton arrivant à un catch Intermediate
Event attendrait jusqu'à ce que le trigger
se produise Puis le jeton partirait
immédiatement et descendrait le Flow de
séquence sortant.

• Un événement intermédiaire Catch (à


l'exception de l'événement de lien) peut
également être lié à la limite d'une activité.

• Lorsque l'activité commence, la minuterie le fait aussi.


• Si l'activité se termine en premier, elle se termine
normalement et le processus se poursuit normalement.
• Si la minuterie s'éteint avant la fin de l'activité,
l'activité est immédiatement interrompue et le processus
continue dans le flux de la séquence à partir de
l'événement intermédiaire du minuteur.
Throw Intermediate Events -
Comportement
• Un jeton arrivant à un jet
Intermediate Event déclencherait
immédiatement le trigger. Il partirait
alors immédiatement et descendrait
le flux séquentiel sortant.

• Un événement intermédiaire de
lancement ne peut pas être attaché à la
limite d'une activité.
Intermediate Events -
Comportement
• Lorsqu'un jeton arrive à un événement
intermédiaire de message attrape, le
processus s'interrompt jusqu'à l'arrivée
d'un message.

Discuss
• Lorsqu'un jeton arrive à lancer un Confirmation
événement intermédiaire de message, il Confirmation
déclenche immédiatement l'événement,
qui envoie le message à un participant
spécifique. Discuss
Confirmation
Confirmation

Si le jeton est en attente à l'événement


intermédiaire et que le message arrive,
l'événement se déclenche.
Exemple
Link Intermediate Event
• Les événements intermédiaires de lien sont toujours utilisés par paires, avec une source
et un événement cible. Pour garantir l'association, les événements de liaison source et
cible doivent avoir la même étiquette.
• L'utilisation d'une paire d'événements de liaison crée un flux de séquence virtuel.
• Il ne peut y avoir qu'un seul événement de lien cible (target), mais plusieurs événements
de lien de source peuvent être associés au même événement de lien Catch.

• Une fois que l'événement de lien de


source est déclenché (The Throw), le
jeton saute immédiatement à
l'événement de lien de Catch (Target).

• L'arrivée du jeton à l'événement de


lien cible déclenche immédiatement
l'événement
Exemple d'un événement
intermédiaire multiple
Passerelles- Portes Logique
(Gateways)
• Les passerelles sont des éléments de
Exclusive modélisation qui contrôlent la façon dont le
processus diverge ou converge.
• Ils représentent des points de contrôle pour
Event
les chemins dans le processus.
• Ils divisent (split) et fusionnent (merge) le flux
Parallel d'un processus (à travers un flux de séquence).
• Comme il existe différentes façons de contrôler le
flux de processus, il existe différents types de
Inclusive passerelles.
• Le type (fractionnement et fusion) d'une seule
passerelle doit le même, c'est-à-dire qu'une
Complex passerelle ne peut pas être parallèle du côté de
l'entrée et Exclusive du côté de la sortie.
Event-based Exclusive
Gateways
• Les passerelles exclusives basées sur des événements
représentent un point de branchement alternatif dans lequel
la décision est basée sur deux ou plusieurs événements
susceptibles de se produire, plutôt que sur des conditions
orientées données (comme dans une passerelle exclusive).

• Ces événements, qui doivent être de type catch, sont


les premiers objets connectés par le flux séquentiel
sortant de la passerelle. Les jetons y resteront jusqu'à
ce que l'un des événements soit déclenché.

• Les événements intermédiaires qui font partie de la


configuration de la passerelle sont impliqués dans une
condition de concurrence. Celui qui finit premier
(Fires) gagnera la course et prendra le contrôle du
processus avec son jeton.
• Ensuite, le jeton continuera immédiatement son flux
séquentiel sortant, en désactivant les autres chemins.
Complex Gateways –
Splitting Behaviour
• Avec une passerelle complexe, les modélisateurs fournissent leurs propres expressions
qui déterminent le comportement de fusion et / ou de division de la passerelle.
• Une Gateway Complexe utilise une seule affectation dans la passerelle, plutôt qu'un
ensemble de conditions distinctes sur le flux de la séquence sortant.
• Une affectation a deux parties: une condition et une action. Lorsqu'une affectation est
effectuée, elle évalue la condition et, si elle est vraie, elle effectue ensuite l'action, telle
que la mise à jour de la valeur d'une propriété Process ou Data Object.
• L'affectation sortante peut envoyer un jeton vers le bas d'un ou de plusieurs flux sortants
de la passerelle. L'affectation sortante peut faire référence à des données du processus ou
de ses objets de données et à l'état du flux de séquence entrant.

• Par exemple, une affectation sortante peut évaluer les données de processus et
sélectionner ensuite différents ensembles de flux de séquence sortants, en fonction des
résultats de l'évaluation.
– Cependant, l'assignation sortante doit garantir qu'au moins un des flux sortants sortants sera
toujours choisi.
Complex Gateways –
Merging Behaviour
• Il existe de nombreux modèles pouvant être réalisés avec la passerelle complexe, tels que
le comportement de passerelle inclusive typique, le traitement par lot de plusieurs jetons,
l'acceptation de jetons de certains chemins mais l'ignorance des jetons des autres, etc.
• La passerelle est la même pour chacun de ces modèles. Le modeleur doit donc utiliser une
annotation de texte pour informer le lecteur du diagramme de son utilisation.
• La passerelle complexe utilise une affectation entrante lorsque les jetons arrivent. La
condition peut faire référence à des informations de processus ou d'objet de données et à l'état
du flux de séquence entrant.
– Si la condition est fausse, il ne se passe rien d'autre que le jeton y est détenu.
– Si la condition est vraie, alors l'action pourrait être définie pour transmettre le jeton au côté
de sortie de la passerelle, activant ainsi l'affectation sortante, ou l'action pourrait être définie
pour consommer le jeton.
Exercice
Concevoir un exemple de processus de remboursement des dépenses. Ce processus prévoit le
remboursement des dépenses engagées par les employés pour l'entreprise. Par exemple, acheter
un livre technique, des fournitures de bureau ou un logiciel. Dans une journée normale, plusieurs
centaines d'instances de ce processus sont créées. Concentrez-vous sur le flux de base du
processus ...

Après la réception d'un rappel de réunion, un nouveau compte doit être créé si
l'employé n'en a pas déjà un. Le rapport est ensuite examiné pour approbation
automatique. Les montants inférieurs à 200 $ sont automatiquement approuvés,
tandis que les montants égaux ou supérieurs à 200 $ doivent être approuvés par le
superviseur. En cas de refus, l'employé doit recevoir un avis de refus par courriel. Le
remboursement est versé au compte bancaire du dépôt direct de l'employé. Si la
demande n'est pas complétée dans les 7 jours, l'employé doit recevoir un courriel
«d'approbation en cours». Si la demande n'est pas terminée dans les 30 jours, le
processus est arrêté et l'employé notifié
Exercice - Solution
Autres concepts avancés

• Événements d'erreur et gestion des exceptions


• Événements d’annulation, des événements de
compensation et des transactions
• Processus ad hoc
• Diagrammes de conversation
• Diagrammes de chorégraphie
Événements d'erreur
• L'événement intermédiaire d'erreur est utilisé pour gérer
Error End Event – l'occurrence d'une erreur nécessitant l'interruption d'une
Catching activité (à laquelle elle est attachée).

Error Intermediate Event -


Throwing • Une erreur est générée par des applications ou des
systèmes impliqués dans le travail (qui sont
transparents au processus) ou par des événements
de fin.
• L'événement de fin d'erreur est utilisé pour lancer une erreur.
• L'événement intermédiaire d'erreur ne peut être utilisé que lorsqu'il est attaché à la
limite d'une activité, il ne peut donc être utilisé que pour détecter une erreur.

• Lorsqu'une erreur se produit, tout le travail s'arrête pour ce processus.


• Toutefois, ces événements n'interrompent pas l'activité puisqu'ils ne sont opérationnels
qu'une fois l'activité terminée.
Gestion des exceptions
• L'erreur déclenchée par l'événement sera
interceptée par un événement intermédiaire à un
niveau supérieur.
• Les erreurs ont une portée de visibilité
spécifique. Une erreur ne peut être vue que
par un processus parent. Les autres processus
au même niveau ou dans des pools différents
ne peuvent pas voir l'erreur.
• Les erreurs ne se déplacent que dans la
hiérarchie du processus.
• S'il se trouve qu'il y a plus d'un niveau de
processus supérieur à l'événement de fin d'erreur,
le premier niveau associé à un événement
intermédiaire d'erreur de capture sera interrompu,
même s'il existe des niveaux supérieurs
susceptibles d'attraper la même erreur.
Le jeton quitte l'objet de flux

Gestion des exceptions


précédent et arrive à l'activité
avec l'événement intermédiaire
attaché.

Le jeton entre dans l'activité et commence le


travail de l'activité. En même temps, un
autre jeton est créé et réside dans
l'événement intermédiaire sur sa limite.

Si l'activité se termine avant le


déclenchement, le jeton de l'activité se
déplace vers le bas du flux de
séquence sortant normal de l'activité
et le jeton supplémentaire est
consommé.

Cependant, si l'événement intermédiaire


attaché se déclenche avant la fin de
l'activité, l'activité est interrompue (tous
les travaux sont interrompus). Dans ce
cas, le jeton de l'événement descend son
flux de séquence sortant. Le jeton qui
était sur l'activité est consommé.
Transactions
Un modèle de processus (c'est-à-
dire, dans un pool), montre les
activités du sous-processus de • Une transaction est un ensemble
transaction pour un seul des d'activités qui, logiquement, forment
participants.
un même groupe.
• Dans BPMN, une Transaction est une
relation business formelle et un accord
entre deux participants ou plus.

• Pour qu'une transaction réussisse,


toutes les parties impliquées doivent
effectuer leurs propres activités et
atteindre un point d'accord.
• Si l'un d'entre eux se retire ou ne parvient
pas à terminer, la transaction annule et
toutes les parties doivent annuler tout le
travail qui a été effectué.
Transactions
• Les sous-processus de transaction ont des comportements spéciaux.
• Premièrement, ils sont associés à un protocole de transaction. Cela signifie que les entreprises
impliquées dans la Transaction doivent être en mesure d'envoyer et de recevoir tous les messages
de handshaking entre les participants.
• Deuxièmement, si le travail de toutes les activités du
sous-processus de transaction se termine normalement
et que tous les jetons atteignent un événement final, le
sous-processus n'est toujours pas terminé.
• Troisièmement, si une erreur de traitement ou
technique se produit pour l'un des participants de la
Transaction, il y a deux possibilités pour interrompre
le sous-processus de transaction:
– Un événement intermédiaire d'erreur attaché est déclenché
(souvent appelé danger – a hazard-) et le sous-processus de
transaction est interrompu.
– Un événement intermédiaire lié à la transaction et au
processus de transaction est annulé.
Cancel Events
• L'événement d'annulation intermédiaire est conçu pour gérer une
situation dans laquelle une transaction est annulée.

• les événements d'annulation intermédiaire peuvent uniquement intercepter une


annulation de transaction. les événements d'annulation la fin renvoie l'annulation.
• L'événement d'annulation intermédiaire peut uniquement être attaché à la limite d'un
sous-processus de transaction. Il peut être déclenché par un événement de fin
d'annulation dans le sous-processus ou par une annulation reçue via le protocole de
transaction affecté au sous-processus de transaction.

• Lorsqu'il est déclenché, le sous-processus de transaction est interrompu (tous les


travaux sont interrompus) et le sous-processus est annulé, ce qui peut entraîner la
compensation de certaines des activités du sous-processus.
• Pour annuler le sous-processus de transaction, l'événement de fin d'annulation doit être
contenu dans le sous-processus ou dans un sous-processus de niveau inférieur.
Compensation Events
• Il existe deux types d'événements intermédiaires de
compensation: lancer (throwing) et capturer
(catching), c'est-à-dire envoyer et recevoir.
• L'événement Intermédiaire Compensation de capture ne peut être utilisé qu'en les
attachant à la limite d'une activité. Cependant, l'événement intermédiaire de
compensation de lancer est utilisé en flux normal.
• L'événement de fin de compensation indique que la fin d'un chemin de processus
entraîne le déclenchement d'une compensation.
• Dans la définition de l'événement de fin de compensation, le nom d'une activité peut
être identifié comme l'activité qui doit être compensée. L'activité doit faire partie du
processus, soit au niveau du processus de niveau supérieur, soit au sein d'un sous-
processus.
• Si l'activité nommée a été complétée et qu'il y a un événement intermédiaire de
compensation joint, alors cette activité sera compensée.
Risque dans un sous-processus de
transaction
• Lorsqu'il y a un problème inconnu, une
annulation et une compensation normales
ne suffisent pas à régler la situation.
• La transaction est ensuite interrompue.
• L'erreur peut se produire dans le sous-
processus de transaction ou dans un
processus (invisible) des autres participants
à la transaction.

• L'erreur de l'un des autres participants sera envoyée via le protocole de transaction.

• Lorsque l'événement intermédiaire d'erreur se déclenche, tous les travaux dans le sous-
processus sont terminés immédiatement - il n'y a pas de compensation.
• Le jeton est ensuite envoyé dans le flux de séquence sortant de l'événement d'erreur pour
atteindre les activités qui traiteront la situation.
Annulation dans un sous-
processus de transaction
• un sous-processus de transaction peut être
annulé par un événement interne au sous-
processus ou par une annulation envoyée
via un protocole de transaction.

• Lorsqu'un sous-processus de transaction


est annulé, l'événement d'annulation
intermédiaire lié à sa limite est déclenché.

• Le jeton se poursuivra éventuellement dans le flux de séquence sortant de l'événement


intermédiaire d'annulation, mais le comportement du sous-processus de transaction
implique plus que simplement interrompre le travail dans le sous-processus.

• En effet, tout le travail en cours au sein de la transaction est annulé.


Compensation dans un sous-
processus de transaction
• Cependant, il se peut que le travail terminé
(dans le sous-processus de transaction)
doive être annulé, ce qui nécessite un
«retour en arrière» avant que le processus
parent puisse continuer.

• Cela signifie que chaque activité, à son tour,


dans l'ordre inverse, est vérifiée pour voir si
elle nécessite ou non une compensation. La
compensation est la perte du travail qui a été
accompli.

• Un jeton peut être utilisé pour tracer cette


annulation en remontant le processus après
l'annulation d'un sous-processus de
transaction.
Compensation dans un sous-
processus de transaction
• La compensation ne se fait pas
automatiquement. Une autre activité est
requise pour annuler le travail de
l'activité originale.
• L'activité de compensation est liée à
chaque activité via l'événement
intermédiaire de compensation lié à sa
limite.
• Le lien entre l'activité normale et l'activité de compensation est effectué via une association
plutôt qu'un flux de séquence.
• L'événement intermédiaire de compensation n'est jamais déclenché pendant le
déroulement normal du processus. Il ne peut être déclenché que lors de l'annulation du
sous-processus de transaction. Une seule activité de rémunération peut être associée à
l'événement intermédiaire de compensation.
• Lorsque l'inversion du jeton atteint une activité associée à un événement intermédiaire de
compensation, cet événement de compensation se déclenche et le jeton est ensuite envoyé à
l'activité de compensation associée.
Compensation dans un sous-
processus de transaction
• Lorsque l'activité de compensation est
terminée, le jeton continue son voyage
en arrière dans la transaction en quittant
l'activité dont le travail a été annulé.

• Lorsque toutes les activités du sous-


processus de transaction ont été
vérifiées et, si nécessaire, compensées,
l'annulation de la transaction est
terminée.

• Cela permet au jeton du processus parent


de parcourir le flux de séquence sortant
de l'événement intermédiaire de
compensation joint.
Processus Ad Hoc
• Le processus ad hoc représente les processus dans lesquels les activités peuvent se
dérouler dans n'importe quel ordre, et à n'importe quelle fréquence - il n'y a pas de
commande spécifique ou de décisions évidentes.
• Généralement, les activités
dans un processus ad hoc
impliquent des exécutants
humains qui prennent les
décisions quant aux activités à
effectuer, à la manière de les
exécuter et au nombre de fois.
• Le processus ad hoc a un
attribut de condition
d'achèvement non graphique qui
est utilisé pour déterminer si le
travail du processus est terminé.
Diagrammes de conversation
Éléments de conversation
Coreography Diagram

127
Éléments de chorégraphie

128
Conclusions
Conclusions

130

Vous aimerez peut-être aussi