chorégraphie distribuée à partir d’un processus d’orchestration bpmn

31
1

Upload: mmchaal

Post on 06-Dec-2014

679 views

Category:

Technology


2 download

DESCRIPTION

Approche dirigée par les modèles pour la génération d’une chorégraphie distribuée à partir d’un processus d’orchestration BPMN

TRANSCRIPT

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

1

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

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

2 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Business Process Management

• Modélisation, exécution, optimisation des Business Process

• Comment exécuter ces Business Process (BP) ?

3 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Solution existante

• Approche centralisée avec moteur d’exécution

4 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Solution existante

• Approche centralisée avec moteur d’exécution

• Architecture orientée service (SOA)

• Orchestration synchrone

5 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

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

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

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

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

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

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

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

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

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)

10 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Problème

Comment est-il possible d’exécuter un Business Process dans une architecture

distribuée asynchrone ?

11 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

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

12 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Solution: ED-BPM

• Approche décentralisée

• Architecture Orientée Evénement (EDA)

– Evènement

– Complex Event Processor

• Chorégraphie asynchrone

13 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

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

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

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

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

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

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

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

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

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

Page 19: Chorégraphie distribuée à partir d’un processus d’orchestration 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

19

Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

BPMN

Page 20: Chorégraphie distribuée à partir d’un processus d’orchestration 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

20 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

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

21 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

Implémentation: Architecture ED-BPM

22 Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion

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

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

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

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

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

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

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

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

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

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

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

28

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

Annexes

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

Test du prototype

30

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

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