
Le modĂšle et la notation des processus mĂ©tiers (BPMN) 2.0 fournissent un langage standardisĂ© pour dĂ©crire les flux de travail. Bien que les Ă©tapes internes du processus soient simples Ă modĂ©liser, l’intĂ©gration d’entitĂ©s situĂ©es en dehors de l’organisation nĂ©cessite des techniques de modĂ©lisation spĂ©cifiques. Les participants externes incluent les clients, les partenaires, les systĂšmes tiers ou les organismes rĂ©gulateurs. ReprĂ©senter correctement ces interactions garantit une exĂ©cution prĂ©cise du processus et une communication claire. Ce guide dĂ©taille les mĂ©canismes de connexion des participants externes dans la spĂ©cification BPMN 2.0.
Comprendre les limites đ
Le dĂ©fi fondamental dans la modĂ©lisation des interactions externes rĂ©side dans la dĂ©finition de la limite du processus. Dans BPMN, un PoolreprĂ©sente un participant. Un processus possĂšde gĂ©nĂ©ralement un seul pool reprĂ©sentant l’organisation exĂ©cutant le flux de travail. Toute entitĂ© situĂ©e en dehors de ce pool est considĂ©rĂ©e comme externe.
- Pools internes :Contiennent les activitĂ©s appartenant Ă l’organisation.
- Pools externes :Représentent les participants qui interagissent avec le processus mais ne contrÎlent pas sa logique interne.
Lorsque vous modĂ©lisez un processus impliquant des parties externes, vous devez distinguer ce qui se passe Ă l’intĂ©rieur de l’organisation de ce qui se passe dans le monde extĂ©rieur. Cette distinction dĂ©termine le type de flux utilisĂ© pour relier les activitĂ©s.
Flux de messages vs. Flux de sĂ©quence đŹ
L’une des distinctions les plus importantes dans BPMN rĂ©side dans la diffĂ©rence entre les flux de sĂ©quence et les flux de messages. Confondre ces deux Ă©lĂ©ments peut entraĂźner des modĂšles techniquement non valides ou logiquement ambigus.
- Flux de sĂ©quence :ReprĂ©sentent l’ordre d’exĂ©cution Ă l’intĂ©rieurd’un seul participant (Ă l’intĂ©rieur d’un seul pool). Ce sont des flĂšches pleines.
- Flux de messages :ReprĂ©sentent l’Ă©change d’information entredeux participants (entre deux pools). Ce sont des flĂšches pointillĂ©es.
Lors de la connexion de participants externes, vous devez utiliser des flux de messages. Utiliser un flux de sĂ©quence entre deux pools constitue une erreur de modĂ©lisation. Un flux de sĂ©quence implique un contrĂŽle, ce qui signifie que l’activitĂ© amont dĂ©clenche directement l’activitĂ© aval. Un flux de messages implique une communication, oĂč une partie envoie un message et attend une rĂ©ponse ou une confirmation.
Représentation visuelle
| Type de flux | Direction | Style de ligne | Contexte d’utilisation |
|---|---|---|---|
| Flux de sĂ©quence | Interne | Ligne pleine | ActivitĂ© Ă activitĂ© dans un mĂȘme pool |
| Flux de message | Externe | Ligne pointillée | Pool à pool (participante à participante) |
| Association | Interne/Externe | Ligne pointillée | Liaison des objets de données ou des annotations |
Types d’Ă©vĂ©nements pour la communication externe đš
Les Ă©vĂ©nements sont le mĂ©canisme principal pour initier ou terminer une interaction avec des participants externes. Vous pouvez catĂ©goriser ces interactions en fonction du moment et de l’intention.
ĂvĂ©nements de dĂ©marrage
Un Ă©vĂ©nement de dĂ©marrage marque le dĂ©but d’un processus. Lorsqu’un participant externe dĂ©clenche un processus, l’Ă©vĂ©nement de dĂ©marrage est gĂ©nĂ©ralement unĂvĂ©nement de dĂ©marrage par message.
- Cet événement indique que le processus attend un message entrant avant de continuer.
- Il est placé au tout début du pool.
- Le flux de message entrant est directement connecté à cet événement.
Par exemple, une confirmation de commande envoyĂ©e par un client dĂ©clenche un processus de livraison. Le processus n’existe pas avant l’arrivĂ©e du message.
ĂvĂ©nements intermĂ©diaires
Les événements intermédiaires se produisent au cours du cycle de vie du processus. Ils sont utiles pour capturer des messages pendant que le processus est actif.
- ĂvĂ©nement intermĂ©diaire de rĂ©ception de message : Le processus s’arrĂȘte ici jusqu’Ă la rĂ©ception d’un message spĂ©cifique. C’est courant pour les mises Ă jour asynchrones, comme une confirmation de paiement provenant d’un systĂšme bancaire.
- ĂvĂ©nement intermĂ©diaire d’envoi de message : Le processus envoie un message Ă ce stade. Cela est utilisĂ© lorsque le processus doit informer une partie externe d’un changement d’Ă©tat.
ĂvĂ©nements de bordure
Les Ă©vĂ©nements de bordure sont attachĂ©s Ă la bordure d’une activitĂ©. Ils vous permettent de gĂ©rer les exceptions ou les dĂ©lais d’attente sans interrompre immĂ©diatement le flux principal.
- ĂvĂ©nement de bordure de message : Si une partie externe envoie une demande d’annulation pendant que le processus est en cours, cet Ă©vĂ©nement la capture.
- Cela permet au processus de rĂ©agir Ă une interfĂ©rence externe sans abandonner l’activitĂ© en cours.
Passerelles et prise de dĂ©cision đ
Les participants externes introduisent souvent de la complexitĂ© Ă travers des points de dĂ©cision. Un processus peut avoir besoin de se diviser en fonction d’une rĂ©ponse reçue d’une source externe. Les passerelles gĂšrent ces chemins.
Passerelles XOR
Une passerelle exclusive (XOR) sĂ©lectionne un seul chemin parmi plusieurs options. Dans le contexte d’une interaction externe, cela est souvent utilisĂ© aprĂšs avoir reçu une rĂ©ponse.
- Si le systÚme externe renvoie un message « SuccÚs », le processus suit un chemin.
- Si le message indique « Erreur », le processus suit un chemin différent.
- Le flux de message entrant doit ĂȘtre connectĂ© Ă une passerelle ou un Ă©vĂ©nement qui prĂ©cĂšde la dĂ©cision.
Passerelles AND
Une passerelle inclusive permet de suivre plusieurs chemins simultanément si les conditions sont remplies. Toutefois, avec les flux de messages, la synchronisation est essentielle.
- Une passerelle de fusion attend que tous les chemins entrants soient terminés.
- Lors de la communication avec des parties externes, les délais sont fréquents. Vous devez vous assurer que la passerelle attend les messages nécessaires avant de poursuivre.
Gestion de l’asynchronicitĂ© âł
Les interactions externes sont rarement immĂ©diates. Les systĂšmes peuvent ĂȘtre hors ligne, ou les rĂ©ponses peuvent prendre du temps. BPMN 2.0 gĂšre cela grĂące Ă un comportement asynchrone.
- Non-bloquant : Lorsqu’un processus envoie un message, il ne bloque pas en attendant une rĂ©ponse immĂ©diate, sauf si cela est explicitement modĂ©lisĂ©.
- RĂ©tention des messages : Le moteur de processus stocke le message jusqu’Ă ce qu’il soit reçu.
- DĂ©lais d’attente : Si aucune rĂ©ponse n’est reçue dans un dĂ©lai dĂ©fini, un Ă©vĂ©nement intermĂ©diaire temporisateur peut dĂ©clencher une escalade.
Cela est crucial pour les processus longs. Si un processus attendait de maniĂšre synchrone chaque appel externe, il consommerait les ressources de maniĂšre inefficace. La messagerie asynchrone permet au processus de passer Ă d’autres tĂąches pendant l’attente.
Ăchange de donnĂ©es et charges utiles đŠ
Les messages ne sont pas seulement des signaux ; ils transportent des données. Dans BPMN, les données sont représentées parObjets de données et Entrées / Sorties de données.
- Objets de données :Symboles visuels représentant les informations utilisées ou produites par les activités.
- Entrée de données :Information nécessaire pour démarrer une activité.
- Sortie de données : Informations générées par une activité.
Lors de la connexion à des participants externes, le contenu du message est essentiel. Vous devez documenter le chargement de données attendu dans la spécification du message.
| Composant | Fonction | Rélevance externe |
|---|---|---|
| Message | Conteneur de donnĂ©es | DĂ©finit le contrat d’interface |
| Objet de donnĂ©es | ĂlĂ©ment de donnĂ©es spĂ©cifique | Montre ce qui est transfĂ©rĂ© |
| Association | Lien entre un objet et un élément | Précise le sens du flux de données |
PĂ©chĂ©s courants Ă Ă©viter â ïž
La modélisation des participants externes introduit des risques spécifiques. Des erreurs courantes peuvent rendre un modÚle de processus invalide ou difficile à exécuter.
- Connexion des pools par des flux de séquence : Comme mentionné, cela est invalide. Utilisez toujours des flux de messages pour la communication entre pools.
- ĂvĂ©nements de dĂ©marrage par message manquants : Si un processus dĂ©marre par une entrĂ©e externe, il doit utiliser un Ă©vĂ©nement de dĂ©marrage par message. Un Ă©vĂ©nement de dĂ©marrage gĂ©nĂ©rique implique que le processus dĂ©marre de l’intĂ©rieur.
- Chemins inaccessibles : Assurez-vous que chaque chemin impliquant une entrĂ©e externe dispose d’une rĂ©ponse correspondante. Les blocages se produisent si un processus attend un message qui n’arrive jamais.
- Ignorer la gestion des erreurs : Les systĂšmes externes Ă©chouent. ModĂ©lisez toujours les chemins d’erreur Ă l’aide d’Ă©vĂ©nements limites ou d’Ă©vĂ©nements de fin d’erreur.
- SurcomplexitĂ© des lignes : Ne crĂ©ez pas une ligne pour chaque entitĂ© externe. Gardez le pool pour l’entitĂ© externe et utilisez les lignes uniquement pour les rĂŽles internes au sein de cette entitĂ© si nĂ©cessaire.
Meilleures pratiques pour la clartĂ© â
Pour maintenir un modÚle compréhensible à la fois par les équipes techniques et les parties prenantes métiers, suivez ces directives.
- Libellés clairs : Nommez les flux de messages explicitement (par exemple, « Confirmation de commande », « Mise à jour de statut »).
- Utilisez les diagrammes de collaboration : Pour les interactions complexes impliquant plusieurs parties, un diagramme de collaboration est souvent plus clair qu’un seul grand pool.
- SĂ©parez les prĂ©occupations : ModĂ©lisez la logique interne du processus sĂ©parĂ©ment de la logique d’interface externe, lorsque cela est possible.
- Documentez les interfaces : Attachez des annotations ou des spécifications techniques distinctes pour le schéma de données utilisé dans les messages.
- Mise en forme cohĂ©rente : Utilisez le mĂȘme style de ligne et le mĂȘme codage par couleur pour tous les flux de messages afin de les distinguer des flux de sĂ©quence.
Le cycle de vie d’une interaction externe đ
Comprendre le cycle de vie aide à placer les éléments corrects. Une interaction typique suit cette séquence :
- Initiation : Une partie externe envoie un message. Cela déclenche un événement de démarrage par message.
- Traitement : Les activités internes traitent les données. Des événements intermédiaires peuvent survenir si des données externes supplémentaires sont nécessaires.
- Réponse : Le processus envoie un message de retour à la partie externe.
- Terminaison : Un événement de fin marque la terminaison réussie du processus.
Si le processus expirĂ© ou reçoit une erreur, le cycle de vie se termine diffĂ©remment, souvent en nĂ©cessitant un flux de compensation ou d’annulation.
Conclusion sur la connectivitĂ© externe đŻ
La modélisation des participants externes exige une précision. La distinction entre le contrÎle interne et la communication externe est la fondation des diagrammes BPMN 2.0 valides. En appliquant correctement les flux de messages, les événements appropriés et des définitions claires des limites, vous créez un plan directeur qui reflÚte fidÚlement la réalité métier.
L’attention aux dĂ©tails dans ces domaines prĂ©vient les erreurs d’exĂ©cution et garantit que tous les intervenants comprennent comment le systĂšme interagit avec le monde extĂ©rieur. L’objectif est un modĂšle qui n’est pas seulement visuellement correct, mais Ă©galement sĂ©mantiquement solide.












