1
Contexte• Busines Process (BP)– Ensemble de séquences de taches produisant une valeur ajoutée• Workflow– Séquence possible...
Business Process Management• Modélisation, exécution, optimisation des BusinessProcess• Comment exécuter ces Business Proc...
Solution existante• Approche centraliséeavec moteurd’exécution4Contexte - Solution existante - Problème - Solution - Implé...
Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone...
Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone...
Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone...
Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone...
Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone...
Orchestration SOA - FaiblessesTrafic inutile:Information transitant inutilement par le moteurd’exécutionSingle point of fa...
ProblèmeComment est-il possible d’exécuter unBusiness Process dans une architecturedistribuée asynchrone ?11Contexte - Sol...
Démarche• Concevoir une architecture distribuée avecéchange de messages asynchrone• Imaginer l’exécution d’un Business Pro...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorég...
Approche dirigée par les modèlesDécoupage du modèle en pairesClassification : types de relationTâche ↔ Évènement Tâche ↔ T...
Approche dirigée par les modèlesDécoupage du modèle en pairesClassification : types de relationTâche ↔ Évènement Tâche ↔ T...
ED-BPM: Avantages et Inconvénients• Avantages :– Solutions aux problèmes de l’orchestration SOA– Découplage entre producte...
Implémentation: Architecture ED-BPM22Contexte - Solution existante - Problème - Solution - Implémentation - Génération - C...
Implémentation: Prototype d’exécution de BPPhase d’implémentation• Implémentation desévènements• Implémentation des taches...
Pour la génération d’une chorégraphie distribuéeMDA: Model Driven Architecture• Méta-model BPMN 2.0• Modèle de Business Pr...
Génération de code• 1ière phase de génération : « generateStartEvent.mt »– Génération des fichiers d’initialisation de l’e...
Conclusion• Orchestration centralisée Vs Chorégraphie distribuée• Transformation du Business Process• Prototype implémenté...
Perspectives• Ajouts d’autres types d’éléments du standard BPMN• Ajouts d’autres types d’évènements (complexes)• Évolution...
28
Annexes
Test du prototype30
Formalisation du problème de transformation• Soit notre modèle de Business Process 𝑃1 = 𝑃 𝐸1, 𝑇1, 𝐿1 , 𝑃1 ∈ ℘ :𝑃 𝐸1, 𝑇1, 𝐿...
Prochain SlideShare
Chargement dans…5
×

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

1 360 vues

Publié le

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

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 360
Sur SlideShare
0
Issues des intégrations
0
Intégrations
16
Actions
Partages
0
Téléchargements
59
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. 1
  2. 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 commande2Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  3. 3. Business Process Management• Modélisation, exécution, optimisation des BusinessProcess• Comment exécuter ces Business Process (BP) ?3Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  4. 4. Solution existante• Approche centraliséeavec moteurd’exécution4Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  5. 5. Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone5Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  6. 6. Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone61 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  7. 7. Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone72 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  8. 8. Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone83 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  9. 9. Solution existante• Approche centraliséeavec moteurd’exécution• Architecture orientéeservice (SOA)• Orchestrationsynchrone94 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  10. 10. Orchestration SOA - FaiblessesTrafic inutile:Information transitant inutilement par le moteurd’exécutionSingle point of failure:Moteur d’exécution en panne =Aspect central du moteur d’exécution et échanges synchronesScalabilty:limitation des performances globales(goulot d’étranglement)10Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  11. 11. ProblèmeComment est-il possible d’exécuter unBusiness Process dans une architecturedistribuée asynchrone ?11Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  12. 12. Démarche• Concevoir une architecture distribuée avecéchange de messages asynchrone• Imaginer l’exécution d’un Business Processdans une telle architecture• Trouver une méthode de transformation d’unBusiness Process en code qui s’exécute telqu’imaginé précédemment12Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  13. 13. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone13Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  14. 14. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone14Pub1 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  15. 15. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone15PubSub1 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  16. 16. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone16PubSub1 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  17. 17. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone17PubSub1 foisContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  18. 18. Solution: ED-BPM• Approche décentralisée• Architecture OrientéeEvénement (EDA)– Evènement– Complex Event Processor• Chorégraphieasynchrone18BPM + SOA + EDAContexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  19. 19. Approche dirigée par les modèlesDécoupage du modèle en pairesClassification : types de relationTâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway19Contexte - Solution existante - Problème - Solution - Implémentation - Génération - ConclusionBPMN
  20. 20. Approche dirigée par les modèlesDécoupage du modèle en pairesClassification : types de relationTâche ↔ Évènement Tâche ↔ Tâche Tâche ↔ Gateway20Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  21. 21. ED-BPM: Avantages et Inconvénients• Avantages :– Solutions aux problèmes de l’orchestration SOA– Découplage entre producteur et consommateurd’évènement• Inconvénients:– Nécessité d’identifier de façon unique uneinstance d’évènement– Vue globale, monitoring et diagnostic del’exécution21Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  22. 22. Implémentation: Architecture ED-BPM22Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  23. 23. Implémentation: Prototype d’exécution de BPPhase d’implémentation• Implémentation desévènements• Implémentation des tacheset de leurs agents• Décomposition du Gatewayen règles métiersPhase de configuration• HornetQ Server en modeStandalone• Déploiements des WebServices (Serveur Tomcat)• Lancer les process dechaque tâche23Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  24. 24. Pour la génération d’une chorégraphie distribuéeMDA: Model Driven Architecture• Méta-model BPMN 2.0• Modèle de Business ProcessAcceleo : Model to Text• Configuration du projet Acceleo• Etude du Méta-modèle EMF• Phases de génération de code24Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  25. 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 agents25Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  26. 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)26Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  27. 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 échelle27Contexte - Solution existante - Problème - Solution - Implémentation - Génération - Conclusion
  28. 28. 28
  29. 29. Annexes
  30. 30. Test du prototype30
  31. 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

×