De la modélisation à l’exécution
Positionnement par rapport aux Architectures Orientées
Services
PARTIE 1
2
BUSINESS PROCESS MANAGEMENT
INTRODUCTION AU BPM
L’IMPORTANCE DE LA STANDARDISATION
PROCESSUS MÉTIER : DE LA MODÉLISATION À
L’EXÉCUTION
ARCHITECTURES ORIENTÉES SERVICES
CONCLUSION
3
Constat sur la gestion actuelle des
processus 1/4
4
Constat sur la gestion actuelle des
processus 2/4
«Time to Market» trop important pour passer de la
modélisation à l’exécution des processus, puis pour
modifier les processus existants et rendre ces
modifications effectives
Modélisation du Déploiement
Modélisation
processus métier,
fonctionnelle et
technique
Déploiement
5
Constat sur la gestion actuelle des
processus 3/4
Il n’existait pas jusqu’ici d’outil unique
permettant aux acteurs réalisant les
processus de collaborer
Pour réaliser un processus exécutable, il y a
actuellement cinq étapes :
1. Modélisation par les utilisateurs métiers dans un outil.
2. Nouvelle modélisation par l’équipe technique – sans
pouvoir capitaliser sur les processus modélisés dans
l’étape précédente.
3. Phase d’implémentation (où la majorité du code est
réalisé à la main).
4. Déploiement du code réalisé
5. Recette technique et fonctionnelle.
6
Constat sur la gestion actuelle des
processus 4/4
Eléments sensibles
La rupture existant entre la modélisation métier et la modélisation
technique entraîne des décalages entre les besoins exprimés au départ
et les applications effectivement réalisées
Une fois le processus déployé, la phase d’interaction permet de
l’optimiser. Cette phase permet, au niveau technique et métier,
d’identifier les modifications à effectuer. Pour les réaliser, on entre alors
dans une autre phase de modélisation, et ce cycle se répète. Comme il
existe une rupture entre la modélisation fonctionnelle et la modélisation
technique, il est complexe de maintenir les deux spécifications
cohérentes et de les rendre évolutives. Généralement, après trois
itérations, il est plus simple de redévelopper l’application hébergeant le
processus que d’en modifier l’implémentation.
Points d’améliorations
il devrait être possible d’importer les définitions des processus métiers
dans les outils techniques pour ajouter le lien avec les applications du
SI
les capacités de modélisation métier et technique des outils devraient
permettre de déployer directement les processus modélisés sans passer
par une phase d’implémentation
7
Constat sur la gestion actuelle des
processus 5/5
Pour résumer, il est nécessaire de fournir un
modèle et des outils permettant aux
équipes métier, méthode, et technique de
collaborer pour la définition, le
déploiement, l’exécution et le contrôle de
processus permettant de capitaliser sur les
applications du système d’information
(intégration) et de mettre en jeu des
actions utilisateurs (workflow).
8
Les limitations des solutions actuelles
9
Les limitations des solutions actuelles:
Le Workflow
Le Workflow peut être défini comme « l’automatisation de processus métiers
par échange de documents, informations et tâches entre acteurs pour
action ». Le workflow a pour objectif la coordination automatisée de
tâches réalisées par des intervenants humains.
Le moteur de workflow transfère des documents entre les participants d’un
processus en leur assignant des tâches (valider le document, effectuer
une modification, etc.).
Avantages:
les concepts sont clairs,
les outils relativement aisés à mettre en place.
Inconvénients:
les participants humains, on ne tient pas compte des applications du
système d’information. L’intégration du workflow aux systèmes est une
tâche difficile qui nécessite beaucoup de code propriétaire
Les documents et les tâches ne sont pas suffisants pour
l’automatisation des processus métiers. Il est nécessaire d’avoir un
niveau d’abstraction supplémentaire, où l’on parle plus généralement de
services, et d’informations.
10
Les limitations des solutions actuelles:
L’EAI – Enterprise Application Integration 1/2
EAI signifie « intégration des applications d’entreprise ». A l’origine, les
progiciels EAI avait pour vocation la collaboration des applications
d’une entreprise pour accomplir des objectifs métiers, mais dans
les faits leur utilisation est beaucoup plus technique.
11
Les limitations des solutions actuelles:
L’EAI – Enterprise Application Integration 2/2
Avantages
Réutilisabilité: il permet de capitaliser sur les applications
existantes : l’application de facturation récupère les bons de
commande pour générer automatiquement les factures, etc.
C’est une réponse au souci technique d’intégration mais
malheureusement cela ne suffit pas
Inconvénients
Les fonctionnalités de gestion des processus métiers des
outils d’EAI sont généralement complexes à utiliser et
dissociées de l’offre technique d’intégration
Les processus sont définis à un niveau technique, et les
décideurs n’ont aucune visibilité sur leur SI
Il est impossible de réconcilier cette vision avec la vision
workflow : comment faire intervenir les utilisateurs dans les
processus ?
12
Les limitations des solutions actuelles:
Le B2Bi – Business to Business integration
Les outils de B2Bi visent à définir les processus de collaboration
entre entreprises partenaires, partant du principe que les
processus intra-entreprise, donc d’EAI, n’ont pas les mêmes
contraintes que les processus externalisés.
Le résultat est que ces outils fournissent surtout un moyen
technique de surveillance d’une collaboration avec un
partenaire : gestion de la sécurité des échanges, fiabilité du
transport (le bon de commande a bien été envoyé, et reçu
par le partenaire), support des protocoles EDI, etc. Cela
pose un certain nombre de problèmes :
Ces outils doivent pouvoir collaborer avec les outils d’EAI –
les processus B2B se déclinant en un processus interne par
participant de la collaboration ;
Pourquoi avoir deux outils différents pour les processus
internes et externalisés ? Ces deux types de processus
participent en réalité au même processus métier !
13
Les limitations des solutions actuelles:
Les progiciels intégrés
Les progiciels intégrés sont une solution « clé en main » : des progiciels
tels que ceux de SAP ou CommerceOne fournissent une solution
complète d’eProcurement, de comptabilité, de facturation, etc.
Le problème qui se pose ici est celui de l’adaptabilité :
La mise en place d’un tel progiciel demande un long projet de
paramétrage et d’adaptation. L’entreprise s’adapte aux processus
définis par le progiciel et non l’inverse
Pour modifier un processus, il est nécessaire de customiser la
plateforme. Cela peut s’avérer coûteux et problématique dans le
cas de migration de version par exemple. De manière plus
générale, il n’est pas aisé d’adapter un processus pour répondre à
un besoin métier urgent et critique
Les progiciels changent régulièrement de versions, en stoppant le
support des versions précédentes, ce qui force la mise à jour. Le
principal problème est que les outils de migration ne prennent pas
en compte les customisations du progiciel, qui sont inévitables ! Il
est donc nécessaire de refaire les customisations sur la nouvelle
version après migration.
14
Les limitations des solutions actuelles:
Les moteurs de règles métiers
Les moteurs de règles métiers (Business Rules Engine)
permettent de modéliser les règles métiers de
l’entreprise, par exemple « un bon de commande reçu
de la part de tel client doit être traitée par telle
division du service commercial »
15
Le BPM: enjeu et objectif
L’enjeu du BPM est d’unifier sous un seul outil
toutes ces visions, pour fournir à l’entreprise la
possibilité de définir ses processus au niveau
métier, et de faire intervenir les utilisateurs et
les applications de l’entreprise en tant que
partie prenante à ces processus.
18
Processus métier : définitions
Processus métier
Un processus métier est une chorégraphie
d’activités incluant une interaction entre
participants sous la forme d’échange
d’informations. Les participants peuvent être :
Des applications / services du SI
Des acteurs humains
D’autres processus métiers
19
Processus métier : exemple
Exemple: processus
métier de gestion des
bons de commande
Cet exemple fait intervenir
deux participants :
Le département marketing
de l’entreprise,
et un processus
automatisé de gestion des
bons de commande
20
Processus métier
Processus collaboratif: définition
Un processus collaboratif est un processus métier mettant en jeu des
entreprises partenaires. Un processus collaboratif incluant n
partenaires est composé de deux parties :
une interfaces
et n implémentations
21
Processus métier
Processus collaboratif: exemple 1/2
Processus collaboratif de gestion de commande mettant en jeu
trois partenaires – un client, un fournisseur et un sous traitant
22
Processus métier
Processus collaboratif: exemple 2/2
Voici un exemple d’implémentation, pour le partenaire « sous
traitant » du processus ci-dessus (les activités en bleu
correspondent aux activités présentes dans l’interface)
23
Processus métier
Processus collaboratif (suite)
Un processus collaboratif est plus communément appelé «
processus métier B2B ». Il met en jeu une interface
publique et des implémentations privées, qui sont souvent
appelées « processus métiers EAI »
24
Processus métier
Processus exécutables
Un processus peut être rendu exécutable de trois
façons
Il peut orchestrer les applications
services du SI
ainsi que des actions utilisateurs pour rendre une
tâche automatisée.
26
BUSINESS PROCESS MANAGEMENT
INTRODUCTION AU BPM
L’IMPORTANCE DE LA STANDARDISATION
PROCESSUS MÉTIER : DE LA MODÉLISATION À
L’EXÉCUTION
ARCHITECTURES ORIENTÉES SERVICES
CONCLUSION
27
Objectif : des outils collaboratifs
La standardisation du BPM se fait à différents niveaux :
Modélisation du processus: il est nécessaire d’avoir une notation
graphique commune à tous les outils de modélisation, et un format
d’import / export, pour que les outils de modélisation et les outils
d’implémentation puissent communiquer. La notation graphique doit
permettre la modélisation métier, et le renseignement des informations
techniques pour rendre les processus exécutables.
28
Les acteurs de la standardisation
Comme sur tout sujet novateur, il existe
deux types d’acteurs pour la
standardisation :
les innovateurs,
et les organismes d’industrialisation
29
Les acteurs de la standardisation:
les innovateurs
BPMI.org – Business Process Management
Initiative – définit le socle de BPM
30
Les acteurs de la standardisation:
les innovateurs (suite)
BPMI.org propose à ce jour trois spécifications
BPMN – Business Process Modeling Notation.
BPML – Business Process Modeling Language, qui a
servi de base au standard BPEL – Business Process
Execution Language – soumis à OASIS par Intalio,
IBM et Microsoft.
BPQL – Business Process Query Language.
31
Les acteurs de la standardisation:
les organismes d’industrialisation
Une fois les spécifications stabilisées, leur viabilité
dépend de leur adoption par les éditeurs, et par un
organisme de standardisation indépendant. Pour cela,
les spécifications réalisées dans le cadre du BPMI.org
sont soumises à deux organismes :
OASIS – Organisation for the Advancement of
Structured Information – a formé un groupe de
travail, regroupant entre autres Intalio, IBM, Microsoft
et BEA, pour l’adoption de BPEL comme standard pour
l’exécution des processus métiers
OMG – Object Management Group – qui maintient la
spécification UML, étudie BPMN comme standard de
représentation graphique des processus métiers, pour
l’introduire en tant que nouveau diagramme UML 2.x.
Le W3C, qui standardise les spécifications XML
32
La modélisation des processus:
Utilisation de UML
UML – Unified Modeling Language – propose des
diagrammes spécialisés (dont les diagrammes
d’activité, de séquence, de classe, etc.) ayant chacun
une fonction précise.
Il n’existe pour le moment pas de diagramme UML
spécialisé pour la modélisation des processus métiers.
UML propose cependant un mécanisme d’extensibilité
permettant de spécialiser chaque diagramme pour
une utilisation particulière.
Il est par exemple possible de spécialiser les diagrammes
d’activité pour la modélisation des processus métiers -
un tel « profil UML » est proposé par IBM sur son site
developerworks
33
La modélisation des processus:
La réponse par les standards : BPMN
En réponse à la RFP soumise par l’OMG, et aux contraintes d’exécution des
processus modélisés, le BPMI.org a proposé la spécification BPMN –
Business Process Modeling Notation
34
L’exécution des processus
En ce qui concerne l’exécution des
processus métiers, le premier langage
qui fût proposé est BPML – Business
Process Modeling Language.
Pour des raisons marketing, ce langage
a été adapté et renommé BPEL –
Business Process Execution Language
35
L’exécution des processus:
Concepts
BPEL est la représentation XML d’un processus exécutable, qui peut
être déployée sur n’importe quel moteur de processus métier.
L’élément atomique d’un processus BPEL est une « activité »,
qui peut être l’envoi d’un message, la réception d’un message,
l’appel d’une opération (envoi d’un message, attente d’une
réponse), ou une transformation de données. BPEL offre les
fonctionnalités suivantes :
36
L’exécution des processus:
Concepts (suite)
Un processus BPEL définit, en XML, les activités réalisées dans
le cadre de l’exécution du processus métier. Toutes les
informations techniques nécessaires sont décrites.
<process>
<partners/> // Définition des partenaires (WebServices)
<containers/> // Définition des conteneurs de données
<sequence>
<receive/> // Réception d’une requête
<assign/> // Transformation de données
<invoke/> // Appel de Web Service
<assign/> // Transformation de données
<reply/> // Envoi de la réponse
</sequence>
</process>
37
L’exécution des processus:
Concepts (suite)
Le nom exact de la spécification BPEL est BPEL4WS – Business Process Execution
Language for Web Services. Ce nom est trompeur car un processus BPEL ne se limite
pas à l’orchestration de Web Services : il est aussi possible d’inclure des connecteurs
transactionnels comme des EJB ou des procédures stockées SQL. Pour cela BPEL
repose sur les capacités d’extension de WSDL, le langage de définition des interfaces
Web Services.
Un processus peut donc être utilisé pour orchestrer tout type de ressources
techniques: on capitalise sur les applications du SI.
RMI
EJB
38
L’exécution des processus:
L’intérêt d’un langage interprété
Il y a deux alternatives pour rendre un processus modélisé
exécutable:
La première est la technique classique de génération de code
la seconde est la génération d’un document interprété par un
serveur de processus (le couple BPMN/BPEL)
39
La connectivité vers les applications
Les outils d’EAI trouvent la justification de
leurs coûts dans la batterie de connecteurs
propriétaires qu’ils proposent, permettant
d’accéder aux applications / progiciels du
SI.
Ces technologies sont cependant en cours de
banalisation : les Web Services s’imposent
graduellement comme les connecteurs
standards applicatifs
40
La connectivité vers les applications:
Web Services : définition
Un Web Service est un composant métier ou technique
accessible par des protocoles standards
41
La connectivité vers les applications:
Web Services : définition (suite)
Le schéma suivant positionne les spécifications
formant le socle des Web Services :
SOAP – Simple Object Access Protocol : format
des messages échangés pour invoquer un Web
Service
WSDL – Web Service Definition Language :
langage de définition des interfaces des services
offerts
UDDI – Universal Description, Discovery and
Integration : annuaire des Web Services.
42
La connectivité vers les applications:
Web Services : définition (suite)
Web service
Client du
web service Implémentation
Interface
SOAP
Applications du
SI
UDDI
43