• Aucun résultat trouvé

CHAPITRE IV : Méthode et style pour l’identification et la spécification des processus

2.1. BPMN 2.0

2.1.1. Introduction

BPMN 2.0 est un langage de modélisation des processus dont la sémantique est supportée par un standard proposé par l’OMG (OMG01, 2011). Par conséquent, BPMN ne dépend pas d’un seul vendeur et sa compréhension n’est pas limitée aux utilisateurs d’un seul outil. De plus, l’OMG ne propose pas de méthodologie officielle pour BPMN. D’où la forte adoption de BPMN dans la communauté BPM (Recker, 2008).

La modélisation des processus métier avec une notation adaptée au métier comme BPMN contribue à faciliter l’alignement entre le métier et l’IT. En effet, BPMN fournit une notation intuitive et compréhensible à ses utilisateurs dans l'entreprise, depuis les analystes métier qui créent les ébauches initiales des processus jusqu'aux développeurs responsables de la mise en place de processus exécutables. BPMN supporte les approches de modélisations ascendantes et descendantes : soit l’analyste métier modélise le processus métier qui est ensuite raffiné par les développeurs pour le rendre exécutable, soit, le développeur crée un ou plusieurs processus de bas niveau qui sont ensuite combinés par des utilisateurs professionnels pour répondre rapidement aux exigences du marché.

On a recensé cinq améliorations significatives dans la spécification BPMN 2.0 :

1. Le méta-modèle BPMN représente l’apport majeur de la version 2.0. On discutera amplement le méta-modèle BPMN dans la section suivante.

2. Définition d’un mécanisme d’extensibilité des modèles et des éléments graphiques de BPMN. Les utilisateurs de BPMN peuvent étendre son méta-modèle en restant

BPMN-compliant.

3. Définition de nouveaux types de diagrammes : diagramme de conversation et diagramme de chorographie.

86 4. Ajout des Non-Interrupting Events : quand un événement du type Sub-Processes

Interrupting ou Boundary Interrupting est déclenché, il interrompt l’exécution normale

de l’activité parente qui se termine immédiatement. Alors que le déclenchement d’un événement de type Non-Interrupting n’interrompt pas l’exécution de l’activité qui continue de s’exécuter normalement.

5. Extension de la définition des interactions humaines en alignant BPMN 2.0 avec la spécification BPEL4People (OASIS02, 2010).

La promesse de BPMN 2.0 est de fournir un langage de modélisation de processus de haut niveau exécutable. Cette tendance est confirmée par une étude récente (Chinosi et al., 2012) auprès d’un groupe d’experts et de professionnel BPMN. Ainsi, 37% des sondés utilisent BPMN pour modéliser des processus exécutables. Cependant, il faut noter qu’il y a une différence de taille entre BPMN 2.0 comme langage de modélisation exécutable et Web Services Business Process

Execution Language (WS-BPEL) (OASIS03, 2007). En effet, WS-BPEL offre un niveau

d’abstraction moins élevé que BPMN, il est utilisé pour la composition, l’orchestration et la coordination des web-services (Matjaz et al., 2006). En plus, contrairement à BPMN dans WS-BPEL toutes les taches sont implémentées avec des Web-services, décrites avec un WSDL et invoquées avec des messages SOAP.

2.1.2. Le méta-modèle BPMN

Le plus grand effort entre BPMN 1.2 et BPMN 2.0 s’est porté sur la définition du méta-modèle et non sur la notation. À tel point que l’OMG a changé l’acronyme de BPMN généralement connu sous le nom de Business Process Modeling Notation qui est devenue Business

Process Model and Notation.

Un méta-modèle (Définition 17- Méta-modèle) est un modèle d’un langage de modélisation (Clark et al., 2008). Le méta-modèle doit remplir certaines caractéristiques : il doit incorporer l’ensemble des propriétés du langage modélisé (1), les décrire avec les syntaxes (concrète et abstraite) (2), préciser les contraintes du langage de modélisation (3) et la sémantique du langage de modélisation (4) et doit lui-même (i.e. le méta-modèle du langage de modélisation) être décrit avec un langage qui possède aussi son méta-modèle (5). Ce méta-modèle unique est appelé méta-méta-modèle dans l’architecture de méta-modélisation (Clark et al., 2008) (Figure IV-2).

87 Figure IV-2. Description du méta-modèle

(Définition 18 - Syntaxe concrète) Les langages fournissent une notation pour faciliter la présentation et la construction de modèles ou de programmes dans un langage. Cette notation est connue sous le nom de syntaxe concrète. Principalement, il y a deux types de syntaxe concrète : les syntaxes textuelle et graphique (Clark et al., 2008).

Le méta-modèle BPMN 2.0 est disponible sous forme de deux syntaxes textuelles XML maintenues et synchronisées par l’OMG :

XML Metadata Interchange (XMI) (OMG06, 2011) qui représente le Complete Meta Object

Facility (CMOF) (OMG07, 2011) méta-modèle de BPMN proposé par l’OMG.

XML Schema Definition (XSD) proposé par le W3C (W3C09, 2004).

Dans la spécification la syntaxe textuelle utilisée pour décrire les concepts du méta-modèle BPMN 2.0 est basée sur XSD, en effet XMI est moins populaire que XSD (Hille-Doering, 2010), notamment dans le développement des applications logicielles basées sur SOA.

Pour illustrer comment les syntaxes, la sémantique et les contraintes constituant le méta-modèle BPMN 2.0 sont utilisées, on a choisi de prendre pour exemple le concept BPMN Task (Figure IV-3 et Figure IV-4).

<xsd:elementname="task" type="tTask" substitutionGroup="flowElement"/> <xsd:complexTypename="tTask">

<xsd:complexContent>

<xsd:extensionbase="tActivity"/>

</xsd:complexContent> </xsd:complexType>

Figure IV-3. Syntaxe concrète textuelle (XSD) du concept Task

Figure IV-4. Syntaxe concrète graphique du concept Task

La syntaxe abstraite (Définition 19 - Syntaxe abstraite) décrit le vocabulaire des concepts fournis par un langage et la façon dont ils peuvent être combinés pour créer des modèles. Elle

88 permet de définir les concepts et leurs relations. Il est important de noter que la syntaxe abstraite s’intéresse uniquement à la structure des concepts du langage et à leurs relations sans prendre en compte ni leur représentation (textuelle ou graphique), ni leur signification (sémantique) (Clark et al., 2008). Cependant, généralement les noms des concepts dans la syntaxe abstraite sont porteurs de sémantique, ils fournissent des informations sur les concepts (Figure IV-5).

Figure IV-5. Syntaxe abstraite des relations du concept Task.

(Définition 20 - Sémantique) La syntaxe abstraite ne fournit pas a priori d’information sur la signification des concepts autre qu'à travers leurs noms. Plus d’informations sont nécessaires pour capter la sémantique du langage afin de clarifier ce qu’il représente et signifie. Par exemple, la sémantique apporte une réponse à la question « Qu’est-ce que c’est un Task ? ». BPMN 2.0 décrit un Task comme : « An atomic Activity within a Process flow. A Task is used when the

work in the Process cannot be broken down to a finer level of detail. Generally, an end-user and/or applications are used to perform the Task when it is executed (OMG01, 2011).

(Définition 21 - Contraintes) Les contraintes précisent le rôle et la portée des concepts (la sémantique). Dans la spécification BPMN 2.0 les contraintes ne sont ni explicitement regroupées dans un ensemble de règles à respecter ni exprimées par un langage formel d’expression de contraintes comme Object Constraint Language (OCL) (OMG08, 2011). Elles sont dispersées dans les 508 pages de la spécification.

Documents relatifs