SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
1
Contexte
• Busines Process (BP)
– Ensemble de séquences de taches produisant une valeur ajoutée
• Workflow
– Séquence possible de taches (A→B→C)
• Tâche
– Elaboration d’un cahier des charges, réalisation des tests,
annulation d’une commande
2Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Business Process Management
• Modélisation, exécution, optimisation des Business
Process
• Comment exécuter ces Business Process (BP) ?
3Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
4Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
• Architecture orientée
service (SOA)
• Orchestration
synchrone
5Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
• Architecture orientée
service (SOA)
• Orchestration
synchrone
6
1 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
• Architecture orientée
service (SOA)
• Orchestration
synchrone
7
2 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
• Architecture orientée
service (SOA)
• Orchestration
synchrone
8
3 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution existante
• Approche centralisée
avec moteur
d’exécution
• Architecture orientée
service (SOA)
• Orchestration
synchrone
9
4 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Orchestration SOA - Faiblesses
Trafic inutile:
Information transitant inutilement par le moteur
d’exécution
Single point of failure:
Moteur d’exécution en panne =
Aspect central du moteur d’exécution et échanges synchrones
Scalabilty:
limitation des performances globales
(goulot d’étranglement)
10Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Problème
Comment est-il possible d’exécuter un
Business Process dans une architecture
distribuée asynchrone ?
11Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Démarche
• Concevoir une architecture distribuée avec
échange de messages asynchrone
• Imaginer l’exécution d’un Business Process
dans une telle architecture
• Trouver une méthode de transformation d’un
Business Process en code qui s’exécute tel
qu’imaginé précédemment
12Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
13Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
14
Pub
1 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
15
PubSub
1 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
16
PubSub
1 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
17
PubSub
1 fois
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Solution: ED-BPM
• Approche décentralisée
• Architecture Orientée
Evénement (EDA)
– Evènement
– Complex Event Processor
• Chorégraphie
asynchrone
18
BPM + SOA + EDA
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Approche dirigée par les modèles
Découpage du modèle en paires
Classification : types de relation
Tâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway
19
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
BPMN
Approche dirigée par les modèles
Découpage du modèle en paires
Classification : types de relation
Tâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway
20Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
ED-BPM: Avantages et Inconvénients
• Avantages :
– Solutions aux problèmes de l’orchestration SOA
– Découplage entre producteur et consommateur
d’évènement
• Inconvénients:
– Nécessité d’identifier de façon unique une
instance d’évènement
– Vue globale, monitoring et diagnostic de
l’exécution
21Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Implémentation: Architecture ED-BPM
22
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Implémentation: Prototype d’exécution de BP
Phase d’implémentation
• Implémentation des
évènements
• Implémentation des taches
et de leurs agents
• Décomposition du Gateway
en règles métiers
Phase de configuration
• HornetQ Server en mode
Standalone
• Déploiements des Web
Services (Serveur Tomcat)
• Lancer les process de
chaque tâche
23
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Pour la génération d’une chorégraphie distribuée
MDA: Model Driven Architecture
• Méta-model BPMN 2.0
• Modèle de Business Process
Acceleo : Model to Text
• Configuration du projet Acceleo
• Etude du Méta-modèle EMF
• Phases de génération de code
24
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Génération de code
• 1ière phase de génération : « generateStartEvent.mt »
– Génération des fichiers d’initialisation de l’exécution
• 2ième phase de génération : « generateTask.mt »
– Génération des tâches distribuées dans l’ED-BPM
• 3ième phase de génération de code : « generateGateway.mt »
– Génération des règles métiers dans le CEP
• 4ième phase de génération de code : « generateEndEvent.mt»
– Génération des fichiers de terminaison d’exécution
• 5ième phase de génération de code : « generateSequenceFlow.mt »
– Générations du code des agents
25
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Conclusion
• Orchestration centralisée Vs Chorégraphie distribuée
• Transformation du Business Process
• Prototype implémenté et exécuté avec succès
• Automatisation de la transformation (M2T)
26
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
Perspectives
• Ajouts d’autres types d’éléments du standard BPMN
• Ajouts d’autres types d’évènements (complexes)
• Évolution du M2T
• Analyse des performances à grande échelle
27
Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
28
Annexes
Test du prototype
30
Formalisation du problème de transformation
• Soit notre modèle de Business Process 𝑃1 = 𝑃 𝐸1, 𝑇1, 𝐿1 , 𝑃1 ∈ ℘ :
𝑃 𝐸1, 𝑇1, 𝐿1 = 𝑃 𝑒1, 𝑒2, 𝑒3 , 𝑡1, 𝑡2, 𝑡3, 𝑡4 , {𝑙1, 𝑙2, 𝑙3, 𝑙4, 𝑙5, 𝑙6}
Où 𝑙1= 𝑒1 ≺ 𝑡1, 𝑙2 = 𝑡1 ≺ 𝑡2 ,𝑙3 = 𝑡2 ≺ 𝑡3, 𝑙4 = 𝑡3 ≺ 𝑒2, 𝑙5 = 𝑡2 ≺ 𝑡4, 𝑙6 = 𝑡4 ≺ 𝑒3
• Soit 𝜔 𝑃 𝑘 = {𝑊1
𝑃 𝑘
, 𝑊2
𝑃 𝑘
, … , 𝑊𝑚
𝑃 𝑘
} l’ensemble de Workflows d’un Business Process 𝑃𝑘 ∈ ℘ ∶
𝑊1
𝑃1
= ( 𝑒𝑠𝑡𝑎𝑟𝑡 , 𝑒 𝑒𝑛𝑑 , 𝑡1, 𝑡2, 𝑡3 , 𝑙1, 𝑙2, 𝑙3, 𝑙4 ) et 𝑊2
𝑃1
= ( 𝑒𝑠𝑡𝑎𝑟𝑡 , 𝑒 𝑒𝑛𝑑 , 𝑡1, 𝑡2, 𝑡4 , 𝑙1, 𝑙2, 𝑙5, 𝑙6 )
• Soit 𝑃𝑥𝑜𝑟 ∈ 𝑃 : 𝑊1
𝑃𝑥𝑜𝑟
= 𝑃( 𝑡1, 𝑡2 , 𝑙 𝑎), 𝑊2
𝑃𝑥𝑜𝑟
= 𝑃( 𝑡1, 𝑡3 , 𝑙 𝑏) (Gateway)
Tâche ↔ Tâche Tâche ↔ Évènement Tâche ↔ Gateway
𝑙𝑖 𝑝𝑢𝑏(𝑗)
= 𝑡𝑖 ⋯ 𝑒𝑖 𝑝𝑢𝑏 𝑗
et
𝑙𝑖 𝑠𝑢𝑏(𝑗)
= 𝑡𝑗 ⋯ 𝑒𝑖 𝑠𝑢𝑏(𝑗)
(∀ 𝑗 > 𝑖 𝑒𝑡 ∀𝑙 𝑖 ∈ 𝑃𝑘)
𝑙1 𝑝𝑢𝑏
= [𝐶𝐸𝑃] ⋯ 𝑒𝑠𝑡𝑎𝑟𝑡 et
𝑙1 𝑠𝑢𝑏
= 𝑡1 ⋯ 𝑒𝑠𝑡𝑎𝑟𝑡
𝑙 𝑁 𝑝𝑢𝑏
= 𝑡 𝑁 ⋯ 𝑒 𝑒𝑛𝑑 et
𝑙 𝑁 𝑠𝑢𝑏
= [𝐶𝐸𝑃] ⋯ 𝑒 𝑒𝑛𝑑
𝑙1 𝑝𝑢𝑏
= 𝑡1 ⋯ 𝑒 𝑥𝑜𝑟 et
𝑙1 𝑠𝑢𝑏
= 𝐶𝐸𝑃 ⋯ 𝑒 𝑥𝑜𝑟
𝑙 𝑎 𝑝𝑢𝑏
= [𝐶𝐸𝑃] ⋯ 𝑒 𝑎 et
𝑙 𝑎 𝑠𝑢𝑏
= 𝑡2 ⋯ 𝑒 𝑎
𝑙 𝑏 𝑝𝑢𝑏
= [𝐶𝐸𝑃] ⋯ 𝑒 𝑏 et
𝑙 𝑏 𝑠𝑢𝑏
= 𝑡3 ⋯ 𝑒 𝑏
31

Weitere ähnliche Inhalte

Andere mochten auch

ADIRA groupe ba - analyse de la Valeur 18 nov. 2016
ADIRA groupe ba - analyse de la Valeur 18 nov. 2016ADIRA groupe ba - analyse de la Valeur 18 nov. 2016
ADIRA groupe ba - analyse de la Valeur 18 nov. 2016Bruno BERTRAND
 
BPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationBPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationKhaled Fayala
 
Business Analysis, une activité qui se professionnalise
Business Analysis, une activité qui se professionnaliseBusiness Analysis, une activité qui se professionnalise
Business Analysis, une activité qui se professionnaliseMBonn
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationSanae BEKKAR
 
Soutenance (thèse de doctorat de Aymen BAOUAB)
Soutenance (thèse de doctorat de Aymen BAOUAB) Soutenance (thèse de doctorat de Aymen BAOUAB)
Soutenance (thèse de doctorat de Aymen BAOUAB) baouab
 
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...BAFS
 
Ryan Matt - Senior Business Analyst
Ryan Matt - Senior Business AnalystRyan Matt - Senior Business Analyst
Ryan Matt - Senior Business AnalystRyan Matt
 
Manual bosch horno blanco multifunción hba43 s422e
Manual bosch   horno blanco multifunción hba43 s422eManual bosch   horno blanco multifunción hba43 s422e
Manual bosch horno blanco multifunción hba43 s422eAlsako Electrodomésticos
 
C est l_amour
C est l_amourC est l_amour
C est l_amourRong Reu
 
Projet sur les carrières en informatique
Projet sur les carrières en informatiqueProjet sur les carrières en informatique
Projet sur les carrières en informatiqueJoelAllard
 

Andere mochten auch (20)

BonitaSoft, la solution BPM
BonitaSoft, la solution BPMBonitaSoft, la solution BPM
BonitaSoft, la solution BPM
 
ADIRA groupe ba - analyse de la Valeur 18 nov. 2016
ADIRA groupe ba - analyse de la Valeur 18 nov. 2016ADIRA groupe ba - analyse de la Valeur 18 nov. 2016
ADIRA groupe ba - analyse de la Valeur 18 nov. 2016
 
Bpmn poster[1]
Bpmn poster[1]Bpmn poster[1]
Bpmn poster[1]
 
BPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationBPMN : Business Process Modelling Notation
BPMN : Business Process Modelling Notation
 
Business Analysis, une activité qui se professionnalise
Business Analysis, une activité qui se professionnaliseBusiness Analysis, une activité qui se professionnalise
Business Analysis, une activité qui se professionnalise
 
Introduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling NotationIntroduction à BPMN 2.0 - Business Process Modeling Notation
Introduction à BPMN 2.0 - Business Process Modeling Notation
 
UX methode-paris web
UX methode-paris webUX methode-paris web
UX methode-paris web
 
Soutenance (thèse de doctorat de Aymen BAOUAB)
Soutenance (thèse de doctorat de Aymen BAOUAB) Soutenance (thèse de doctorat de Aymen BAOUAB)
Soutenance (thèse de doctorat de Aymen BAOUAB)
 
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...
BAFS 2015 : Jacques Rossard - Business Analyst et Startups : Un amour impossi...
 
Ryan Matt - Senior Business Analyst
Ryan Matt - Senior Business AnalystRyan Matt - Senior Business Analyst
Ryan Matt - Senior Business Analyst
 
Manual balay campana 3bc872m
Manual balay   campana 3bc872mManual balay   campana 3bc872m
Manual balay campana 3bc872m
 
Nevera Smeg FAB30LP1
Nevera Smeg FAB30LP1Nevera Smeg FAB30LP1
Nevera Smeg FAB30LP1
 
Manual bosch horno blanco multifunción hba43 s422e
Manual bosch   horno blanco multifunción hba43 s422eManual bosch   horno blanco multifunción hba43 s422e
Manual bosch horno blanco multifunción hba43 s422e
 
Horno Siemens HB676G5W1
Horno Siemens HB676G5W1Horno Siemens HB676G5W1
Horno Siemens HB676G5W1
 
Exposition paris 1900
Exposition paris 1900Exposition paris 1900
Exposition paris 1900
 
C est l_amour
C est l_amourC est l_amour
C est l_amour
 
Lavadora Siemens WM16W570EE
Lavadora Siemens WM16W570EELavadora Siemens WM16W570EE
Lavadora Siemens WM16W570EE
 
Manual balay cocina 3cgb462bs
Manual balay   cocina 3cgb462bsManual balay   cocina 3cgb462bs
Manual balay cocina 3cgb462bs
 
Projet sur les carrières en informatique
Projet sur les carrières en informatiqueProjet sur les carrières en informatique
Projet sur les carrières en informatique
 
Microondas Teka MWL 22 EGL
Microondas Teka MWL 22 EGLMicroondas Teka MWL 22 EGL
Microondas Teka MWL 22 EGL
 

Ähnlich wie Chorégraphie distribuée à partir d’un processus d’orchestration BPMN

Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Implémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexesImplémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexesGeeks Anonymes
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Sébastien Mosser
 
Migration de Sage ligne 100 vers OpenERP v6
Migration de Sage ligne 100 vers OpenERP v6Migration de Sage ligne 100 vers OpenERP v6
Migration de Sage ligne 100 vers OpenERP v6riyadadva
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?cyrilpicat
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAFrédéric Sagez
 
14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisationGeorges OLE
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013rbschange
 
symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...Fabien Potencier
 
WS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaWS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaOlivier BAZOUD
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...CERTyou Formation
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?Marc Bojoly
 

Ähnlich wie Chorégraphie distribuée à partir d’un processus d’orchestration BPMN (20)

Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
Présentation de jBPM 3.1
Présentation de jBPM 3.1Présentation de jBPM 3.1
Présentation de jBPM 3.1
 
Retour d'expérience sur PowerShell
Retour d'expérience sur PowerShellRetour d'expérience sur PowerShell
Retour d'expérience sur PowerShell
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Implémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexesImplémentation efficace et durable de processus métiers complexes
Implémentation efficace et durable de processus métiers complexes
 
Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011Talk Session COSMAL du GDR GPL 2011
Talk Session COSMAL du GDR GPL 2011
 
Migration de Sage ligne 100 vers OpenERP v6
Migration de Sage ligne 100 vers OpenERP v6Migration de Sage ligne 100 vers OpenERP v6
Migration de Sage ligne 100 vers OpenERP v6
 
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
Softshake 2015 - Comment tester et optimiser la performance d'un SI ?
 
ASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSAASFA - Organisation et Méthodologie du projet COLSA
ASFA - Organisation et Méthodologie du projet COLSA
 
Lunch learn 5 sep2013
Lunch learn 5 sep2013Lunch learn 5 sep2013
Lunch learn 5 sep2013
 
14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation
 
La parallélisation au service de l'optimisation
La parallélisation au service de l'optimisationLa parallélisation au service de l'optimisation
La parallélisation au service de l'optimisation
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013
 
symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...symfony : Simplifier le développement des interfaces bases de données (PHP ...
symfony : Simplifier le développement des interfaces bases de données (PHP ...
 
WS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - XebiaWS User Group - Spring Batch - Xebia
WS User Group - Spring Batch - Xebia
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...
Taleb formation-talend-open-studio-data-integration-les-bases-et-perfectionne...
 
PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?PerfUG Comment tester et optimiser la performance d'un SI ?
PerfUG Comment tester et optimiser la performance d'un SI ?
 

Chorégraphie distribuée à partir d’un processus d’orchestration BPMN

  • 1. 1
  • 2. Contexte • Busines Process (BP) – Ensemble de séquences de taches produisant une valeur ajoutée • Workflow – Séquence possible de taches (A→B→C) • Tâche – Elaboration d’un cahier des charges, réalisation des tests, annulation d’une commande 2Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 3. Business Process Management • Modélisation, exécution, optimisation des Business Process • Comment exécuter ces Business Process (BP) ? 3Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 4. Solution existante • Approche centralisée avec moteur d’exécution 4Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 5. Solution existante • Approche centralisée avec moteur d’exécution • Architecture orientée service (SOA) • Orchestration synchrone 5Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 6. Solution existante • Approche centralisée avec moteur d’exécution • Architecture orientée service (SOA) • Orchestration synchrone 6 1 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 7. Solution existante • Approche centralisée avec moteur d’exécution • Architecture orientée service (SOA) • Orchestration synchrone 7 2 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 8. Solution existante • Approche centralisée avec moteur d’exécution • Architecture orientée service (SOA) • Orchestration synchrone 8 3 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 9. Solution existante • Approche centralisée avec moteur d’exécution • Architecture orientée service (SOA) • Orchestration synchrone 9 4 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 10. Orchestration SOA - Faiblesses Trafic inutile: Information transitant inutilement par le moteur d’exécution Single point of failure: Moteur d’exécution en panne = Aspect central du moteur d’exécution et échanges synchrones Scalabilty: limitation des performances globales (goulot d’étranglement) 10Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 11. Problème Comment est-il possible d’exécuter un Business Process dans une architecture distribuée asynchrone ? 11Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 12. Démarche • Concevoir une architecture distribuée avec échange de messages asynchrone • Imaginer l’exécution d’un Business Process dans une telle architecture • Trouver une méthode de transformation d’un Business Process en code qui s’exécute tel qu’imaginé précédemment 12Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 13. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 13Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 14. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 14 Pub 1 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 15. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 15 PubSub 1 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 16. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 16 PubSub 1 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 17. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 17 PubSub 1 fois Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 18. Solution: ED-BPM • Approche décentralisée • Architecture Orientée Evénement (EDA) – Evènement – Complex Event Processor • Chorégraphie asynchrone 18 BPM + SOA + EDA Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 19. Approche dirigée par les modèles Découpage du modèle en paires Classification : types de relation Tâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway 19 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion BPMN
  • 20. Approche dirigée par les modèles Découpage du modèle en paires Classification : types de relation Tâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway 20Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 21. ED-BPM: Avantages et Inconvénients • Avantages : – Solutions aux problèmes de l’orchestration SOA – Découplage entre producteur et consommateur d’évènement • Inconvénients: – Nécessité d’identifier de façon unique une instance d’évènement – Vue globale, monitoring et diagnostic de l’exécution 21Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 22. Implémentation: Architecture ED-BPM 22 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 23. Implémentation: Prototype d’exécution de BP Phase d’implémentation • Implémentation des évènements • Implémentation des taches et de leurs agents • Décomposition du Gateway en règles métiers Phase de configuration • HornetQ Server en mode Standalone • Déploiements des Web Services (Serveur Tomcat) • Lancer les process de chaque tâche 23 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 24. Pour la génération d’une chorégraphie distribuée MDA: Model Driven Architecture • Méta-model BPMN 2.0 • Modèle de Business Process Acceleo : Model to Text • Configuration du projet Acceleo • Etude du Méta-modèle EMF • Phases de génération de code 24 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 25. Génération de code • 1ière phase de génération : « generateStartEvent.mt » – Génération des fichiers d’initialisation de l’exécution • 2ième phase de génération : « generateTask.mt » – Génération des tâches distribuées dans l’ED-BPM • 3ième phase de génération de code : « generateGateway.mt » – Génération des règles métiers dans le CEP • 4ième phase de génération de code : « generateEndEvent.mt» – Génération des fichiers de terminaison d’exécution • 5ième phase de génération de code : « generateSequenceFlow.mt » – Générations du code des agents 25 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 26. Conclusion • Orchestration centralisée Vs Chorégraphie distribuée • Transformation du Business Process • Prototype implémenté et exécuté avec succès • Automatisation de la transformation (M2T) 26 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 27. Perspectives • Ajouts d’autres types d’éléments du standard BPMN • Ajouts d’autres types d’évènements (complexes) • Évolution du M2T • Analyse des performances à grande échelle 27 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  • 28. 28
  • 31. Formalisation du problème de transformation • Soit notre modèle de Business Process 𝑃1 = 𝑃 𝐸1, 𝑇1, 𝐿1 , 𝑃1 ∈ ℘ : 𝑃 𝐸1, 𝑇1, 𝐿1 = 𝑃 𝑒1, 𝑒2, 𝑒3 , 𝑡1, 𝑡2, 𝑡3, 𝑡4 , {𝑙1, 𝑙2, 𝑙3, 𝑙4, 𝑙5, 𝑙6} Où 𝑙1= 𝑒1 ≺ 𝑡1, 𝑙2 = 𝑡1 ≺ 𝑡2 ,𝑙3 = 𝑡2 ≺ 𝑡3, 𝑙4 = 𝑡3 ≺ 𝑒2, 𝑙5 = 𝑡2 ≺ 𝑡4, 𝑙6 = 𝑡4 ≺ 𝑒3 • Soit 𝜔 𝑃 𝑘 = {𝑊1 𝑃 𝑘 , 𝑊2 𝑃 𝑘 , … , 𝑊𝑚 𝑃 𝑘 } l’ensemble de Workflows d’un Business Process 𝑃𝑘 ∈ ℘ ∶ 𝑊1 𝑃1 = ( 𝑒𝑠𝑡𝑎𝑟𝑡 , 𝑒 𝑒𝑛𝑑 , 𝑡1, 𝑡2, 𝑡3 , 𝑙1, 𝑙2, 𝑙3, 𝑙4 ) et 𝑊2 𝑃1 = ( 𝑒𝑠𝑡𝑎𝑟𝑡 , 𝑒 𝑒𝑛𝑑 , 𝑡1, 𝑡2, 𝑡4 , 𝑙1, 𝑙2, 𝑙5, 𝑙6 ) • Soit 𝑃𝑥𝑜𝑟 ∈ 𝑃 : 𝑊1 𝑃𝑥𝑜𝑟 = 𝑃( 𝑡1, 𝑡2 , 𝑙 𝑎), 𝑊2 𝑃𝑥𝑜𝑟 = 𝑃( 𝑡1, 𝑡3 , 𝑙 𝑏) (Gateway) Tâche ↔ Tâche Tâche ↔ Évènement Tâche ↔ Gateway 𝑙𝑖 𝑝𝑢𝑏(𝑗) = 𝑡𝑖 ⋯ 𝑒𝑖 𝑝𝑢𝑏 𝑗 et 𝑙𝑖 𝑠𝑢𝑏(𝑗) = 𝑡𝑗 ⋯ 𝑒𝑖 𝑠𝑢𝑏(𝑗) (∀ 𝑗 > 𝑖 𝑒𝑡 ∀𝑙 𝑖 ∈ 𝑃𝑘) 𝑙1 𝑝𝑢𝑏 = [𝐶𝐸𝑃] ⋯ 𝑒𝑠𝑡𝑎𝑟𝑡 et 𝑙1 𝑠𝑢𝑏 = 𝑡1 ⋯ 𝑒𝑠𝑡𝑎𝑟𝑡 𝑙 𝑁 𝑝𝑢𝑏 = 𝑡 𝑁 ⋯ 𝑒 𝑒𝑛𝑑 et 𝑙 𝑁 𝑠𝑢𝑏 = [𝐶𝐸𝑃] ⋯ 𝑒 𝑒𝑛𝑑 𝑙1 𝑝𝑢𝑏 = 𝑡1 ⋯ 𝑒 𝑥𝑜𝑟 et 𝑙1 𝑠𝑢𝑏 = 𝐶𝐸𝑃 ⋯ 𝑒 𝑥𝑜𝑟 𝑙 𝑎 𝑝𝑢𝑏 = [𝐶𝐸𝑃] ⋯ 𝑒 𝑎 et 𝑙 𝑎 𝑠𝑢𝑏 = 𝑡2 ⋯ 𝑒 𝑎 𝑙 𝑏 𝑝𝑢𝑏 = [𝐶𝐸𝑃] ⋯ 𝑒 𝑏 et 𝑙 𝑏 𝑠𝑢𝑏 = 𝑡3 ⋯ 𝑒 𝑏 31