Mineure SOA Exécution de processus Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - <idir.aitsadoune@supelec.fr>
Plan 1 Qu'est-ce qu'exécuter un processus? 2 Moteur de workflow 3 Moteur d'orchestration, BPEL 2
Qu'est-ce qu'exécuter un processus? Exécution d un processus? o Exécuter un processus = transformer le processus en programme o Variables pour stocker les données o Instructions pour réaliser les actions o Entrées/sorties/connecteurs pour l'interaction avec l'utilisateur et le reste du SI o Boucles, conditionnelles o Nécessité d'une plateforme d'exécution = un programme qui exécute le processus-programme o Gère la mémoire, exécute les instructions, gère les entrées/sorties/connecteurs o Plateformes utilisées dans la démarche SOA, appuyées sur l'esb : o Moteur de workflow : processus semi-automatisés o Moteur d'orchestration : processus tout automatisés 3
Qu'est-ce qu'exécuter un processus? Entreprise Service Bus (ESB) Orchestration Workflow Idir AIT SADOUNE - <idir.aitsadoune@supelec.fr>
Plan 1 Qu'est-ce qu'exécuter un processus? 2 Moteur de workflow 3 Moteur d'orchestration, BPEL 5
Moteur de workflow Moteur de workflow o Editeur pour le développement processus-programme o Tâches humaines : génération automatique ou semi-automatique d'applications (formulaires, pages web ) o Tâches automatiques : utilisation de connecteurs (web services, emails ) o Plateforme d'exécution pour gérer les liens logiques entre les tâches o Serveur d'application o Application de suivi des tâches o Administration et suivi 6
Moteur de workflow Entreprise Service Bus (ESB) Workflow Idir AIT SADOUNE - <idir.aitsadoune@supelec.fr>
Plan 1 Qu'est-ce qu'exécuter un processus? 2 Moteur de workflow 3 Moteur d'orchestration, BPEL 8
Moteur d'orchestration, BPEL Exemple de moteur d'orchestration : GlassFish ESB o JBI (Java Business Integration) = norme qui définit l'architecture d'un ESB basé sur le serveur d'applications Java EE o Binding Components (BC) o Normalized Message Router (NMR) o Service Engine (SE) o GlassFish ESB = ESB basé sur JBI o Fonctionnalités : o Orchestration de web service o Transformation de données o Requêtes o Gestion des événements 9
Moteur d orchestration, BPEL Entreprise Service Bus (ESB) Orchestration Idir AIT SADOUNE - <idir.aitsadoune@supelec.fr>
Moteur d orchestration, BPEL BPEL 2.0 (Business Process Execution Language) o BPEL = langage pour décrire des processus exécutables langage de programmation très simple o Textuel (mais il existe des représentations graphiques) o Basé sur XML o BPEL est dédié à l'orchestration de web services Web Service Orchestration Web Service Chorégraphie Web Service Web Service Web Service Web Service o Complémentaire de BPMN : un sous ensemble de BPMN peut être transformé en BPEL pour être exécuté sur un moteur d'orchestration 11
Moteur d orchestration, BPEL Structure d'un modèle BPEL <process> <! Definition and roles of process participants --> <partnerlinks>... </partnerlinks> <!- Data/state used within the process --> <variables>... </variables>... </process> <!- Exception handling --> <faulthandlers>... </faulthandlers> <!- Error recovery undoing actions --> <compensationhandlers>... </compensationhandlers> <!- Business process flow --> (activities)* 12
Moteur d orchestration, BPEL Exemple <variables> <variable name="outputvar" messagetype="ns1:responsemessage" /> <variable name="inputvar" messagetype="ns1:requestmessage" /> </variables> <sequence> <receive name="start" partnerlink="synchronous" operation="operation1" porttype="ns1:porttype1" variable="inputvar" createinstance="yes" /> <assign name="assign1"> <copy> <from>$inputvar.inputtype/ns2:parama</from> <to>$outputvar.resulttype/ns2:parama</to> </copy> </assign> <reply name="end" partnerlink="synchronous" operation="operation1" porttype="ns1:porttype1" variable="outputvar" /> </sequence> 13
Moteur d orchestration, BPEL Exemple 14