Mineure Architectures Orientes Services SOA Excution de processus
Mineure SOA
Excution de processus
Idir AIT SADOUNE
[email protected]
Mineure Architectures Orientes Services SOA Excution de processus
Plan
Qu'est-ce qu'excuter un processus ?
Moteur de workflow
Moteur d'orchestration, BPEL
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Qu'est-ce qu'excuter un processus ?
Excution dun processus ?
o Excuter un processus = transformer le processus en programme
o
o
o
o
Variables pour stocker les donnes
Instructions pour raliser les actions
Entres/sorties/connecteurs pour l'interaction avec l'utilisateur et le reste du SI
Boucles, conditionnelles
o Ncessit d'une plateforme d'excution
= un programme qui excute le processus-programme
o Gre la mmoire, excute les instructions, gre les entres/sorties/connecteurs
o Plateformes utilises dans la dmarche SOA,
appuyes sur l'ESB :
o Moteur de workflow : processus semi-automatiss
o Moteur d'orchestration : processus tout automatiss
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Qu'est-ce qu'excuter un processus ?
Entreprise Service Bus (ESB)
Orchestration
Workflow
Mineure Architectures Orientes Services SOA Excution de processus
Plan
Qu'est-ce qu'excuter un processus ?
Moteur de workflow
Moteur d'orchestration, BPEL
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Moteur de workflow
Moteur de workflow
o Editeur pour le dveloppement processus-programme
o Tches humaines : gnration automatique ou semi-automatique d'applications
(formulaires, pages web)
o Tches automatiques : utilisation de connecteurs (web services, emails)
o Plateforme d'excution pour grer les liens logiques entre les tches
o Serveur d'application
o Application de suivi des tches
o Administration et suivi
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Moteur de workflow
Entreprise Service Bus (ESB)
Workflow
Mineure Architectures Orientes Services SOA Excution de processus
Plan
Qu'est-ce qu'excuter un processus ?
Moteur de workflow
Moteur d'orchestration, BPEL
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Moteur d'orchestration, BPEL
Exemple de moteur d'orchestration : GlassFish ESB
o JBI (Java Business Integration)
= norme qui dfinit 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 Fonctionnalits :
o
o
o
o
Orchestration de web service
Transformation de donnes
Requtes
Gestion des vnements
jeudi 8 janvier 2015
Mineure Architectures Orientes Services SOA Excution de processus
Moteur dorchestration, BPEL
Entreprise Service Bus (ESB)
Orchestration
Mineure Architectures Orientes Services SOA Excution de processus
Moteur dorchestration, BPEL
BPEL 2.0 (Business Process Execution Language)
o BPEL = langage pour dcrire des processus excutables
langage de programmation trs simple
o Textuel (mais il existe des reprsentations graphiques)
o Bas sur XML
o BPEL est ddi l'orchestration de web services
Web
Service
Web
Service
Web
Service
Orchestration
Web
Service
Web
Service
Chorgraphie
Web
Service
o Complmentaire de BPMN : un sous ensemble de BPMN peut tre transform en
BPEL pour tre excut sur un moteur d'orchestration
jeudi 8 janvier 2015
11
Mineure Architectures Orientes Services SOA Excution de processus
Moteur dorchestration, BPEL
Structure d'un modle BPEL
<process>
<! Definition and roles of process participants -->
<partnerLinks> ... </partnerLinks>
<!- Data/state used within the process -->
<variables> ... </variables>
...
<!- Exception handling -->
<faultHandlers> ... </faultHandlers>
<!- Error recovery undoing actions -->
<compensationHandlers> ... </compensationHandlers>
<!- Business process flow -->
(activities)*
</process>
jeudi 8 janvier 2015
12
Mineure Architectures Orientes Services SOA Excution de processus
Moteur dorchestration, 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>
jeudi 8 janvier 2015
13
Mineure Architectures Orientes Services SOA Excution de processus
Moteur dorchestration, BPEL
Exemple
jeudi 8 janvier 2015
14