Upload
wassim-attia
View
218
Download
0
Embed Size (px)
Citation preview
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
1/59
Zenika 2009 BPEL Orchestration de Web Services 1
Orchestration de Web Services
Grgory Le [email protected]
26 novembre 2009
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
2/59
Zenika 2009 BPEL Orchestration de Web Services 2
Zenika Conseil / Dveloppement / Formation Localisation : Paris et Rennes
Nos partenaires
Mon exprience Consultant JEE/SOA depuis 8 ans Spring / GWT / Flex ... BPEL / WS / ESB / EIP...
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
3/59
Zenika 2009 BPEL Orchestration de Web Services 3
SommaireSommaire
SOA : rappels
BPEL : orchestration de services
BPEL : bonnes pratiques
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
4/59
Zenika 2009 BPEL Orchestration de Web Services 4
SOASOA
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
5/59
Zenika 2009 BPEL Orchestration de Web Services 5
SOA : pourquoi ?SOA : pourquoi ?
ObjectifRconcilier le monde mtier et le monde technique
L'entreprise doit s'adapter continuellement L'entreprise est de plus en plus dpendante des
technologies le SI peut devenir un frein C'est pas notre faute, c'est un problme informatique...
Acteurs mtiers Acteurs techniques
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
6/59
Zenika 2009 BPEL Orchestration de Web Services 6
SOA : principesSOA : principes
Simplicit Efficacit Communication mtier/technique
Flexibilit et maintenabilit Prennit des systmes
Rutilisabilit Rduction des anomalies Gain de productivit
Indpendance vis vis des technologies S'appuyer sur les standards et les bonnes pratiques
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
7/59Zenika 2009 BPEL Orchestration de Web Services 7
SOA : comment ?SOA : comment ?
Dfinition
dsigne un type d'architecture fournissant unensemble de services localisables, desapplications clientes ou d'autres servicesdistribus sur un rseau, via des interfacespublies
Service = lment central de la dmarche SOA Fonctions Objet Service
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
8/59Zenika 2009 BPEL Orchestration de Web Services 8
Service = Contrat Fonctionnalits mtier Performances ; Robustesse ...
Intgration via des services Les systmes communiquent via des protocoles et des
formats standards La vision service remplace la vision silo Intgration de l'existant via des services
SOA : volution du SISOA : volution du SI
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
9/59Zenika 2009 BPEL Orchestration de Web Services 9
SOA et Web ServicesSOA et Web Services
Ne pas confondre Web Services et SOA SOA = architecture WS = technologie
SOA n'est pas li aux technologies SOA compatible avec : WS, MOM, POX les Web Services restent malgr tout une technologie
rpondant aux critres SOA
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
10/59Zenika 2009 BPEL Orchestration de Web Services 10
Web ServicesWeb Services
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
11/59Zenika 2009 BPEL Orchestration de Web Services 11
Web Services : principesWeb Services : principes
WSDL
Web Services(JEE, .Net ...)
SOAP
Dcrit Reli
Permet la communicationavec
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
12/59Zenika 2009 BPEL Orchestration de Web Services 12
SOAPSOAP
Couche message Bas sur XML Indpendant de la couche transport Normalis par W3C
WS-* (WS-STAR) Extensions de SOAP : WS-Addressing ; WS-Security ;
WS-Reliability ; ...
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
13/59Zenika 2009 BPEL Orchestration de Web Services 13
132465789
CREATION
123
SOAP : formatSOAP : format
EnveloppeEntte
Corps
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
14/59Zenika 2009 BPEL Orchestration de Web Services 14
WSDLWSDL
Dcrit le Web Service types, messages ; operations ; protocole ; adresse Bas sur XML
Normalis par W3C
WSDL = Contrat
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
15/59Zenika 2009 BPEL Orchestration de Web Services 15
Dfinitionstypes
messages
protocole
oprations
adresse
WSDL : FormatWSDL : Format
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
16/59Zenika 2009 BPEL Orchestration de Web Services 16
BPELBPEL
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
17/59Zenika 2009 BPEL Orchestration de Web Services 17
BPELBPEL
Business Process Execution Language
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
18/59Zenika 2009 BPEL Orchestration de Web Services 18
BPEL, c'est quoi ?BPEL, c'est quoi ?
Standard issu du consortium OASIS WS-BPEL 1.1 2004 WS-BPEL 2.0 2007 Diffrentes implmentations (Oracle, Apache,)
Langage Description de Business Processes Interactions avec des Web Services crit en XML
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
19/59Zenika 2009 BPEL Orchestration de Web Services 19
BPEL, quelle utilit ?BPEL, quelle utilit ?
Business Process Requte / Rponse Modle de donnesActivits et tches
Sous-processus / Services
Business process = Processus BPEL
Processus BPEL = Web Service
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
20/59Zenika 2009 BPEL Orchestration de Web Services 20
BPEL, quelle utilit ?BPEL, quelle utilit ?
Orchestrateur de Web ServicesAbstraction Un processus BPEL orchestre l'appel d'autres WS Granularit inconnue du WS appel
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
21/59
Zenika 2009 BPEL Orchestration de Web Services 21
Processus BPEL WSDL Types Messages Oprations / PortTypes
BPEL PartnerLinks
VariablesActivits
BPEL, a ressemble quoi ?BPEL, a ressemble quoi ?
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
22/59
Zenika 2009 BPEL Orchestration de Web Services 22
BPEL, a ressemble quoi ?BPEL, a ressemble quoi ?
Processus BPEL
Partenaires
Variables globales
Activits
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
23/59
Zenika 2009 BPEL Orchestration de Web Services 23
Oracle BPELOracle BPEL
Process Console
MANAGE
J2EE Application Server
(Oracle AS, WebLogic, JBoss, WebSphere)
Core BPEL Engine
BPEL
JDeveloper
BPEL Designer
BPEL Process Manager
Integrated BPM Services
Workflow Decision
ServiceSensors
Metadata Repository
(Oracle Database)
WSDL Binding
File, FTP
Web services
Java, JMS
Database
Apps
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
24/59
Zenika 2009 BPEL Orchestration de Web Services 24
Oracle BPEL : retour d'exprienceOracle BPEL : retour d'exprience
Mise en uvre d'un projet d'orchestrationTlcom
Oracle BPEL 10.1.3 (WS-BPEL 1.1)Avant-vente Architecture Dveloppement
Chantier robustesse/performances Production Plusieurs centaines de milliers de requtes par jour Web Services, MQ/JMS
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
25/59
Zenika 2009 BPEL Orchestration de Web Services 25
Dmonstration n1 Orchestration de 2 processus BPEL Cration dun processus BPEL parent Dploiement Simulation sur Oracle BPEL PM 10.1.3.1
DmonstrationDmonstration
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
26/59
Zenika 2009 BPEL Orchestration de Web Services 26
Qu'est-ce que BPEL sait faire ?Qu'est-ce que BPEL sait faire ?
Le langage BPEL est compos dun nombrerestreint de briques logicielles (activits BPEL) quipermettent :
De communiquer avec des web services
De manipuler des donnes XML De grer des exceptions De grer la compensation (ie. rollback)
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
27/59
Zenika 2009 BPEL Orchestration de Web Services 27
Activits BPEL de base (1/3)Activits BPEL de base (1/3)
Nom Symbole Description
Assign
Permet de manipuler lesvariables dun processusInitialisation de variableCopie de variableManipulation XML (XPath)
Scope
Dcoupe de manire logique unprocessus BPEL. Il permet :De dclarer des variableslocalesDe rcuprer des exceptions
Flow
Excute diffrents traitements enparallle.
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
28/59
Zenika 2009 BPEL Orchestration de Web Services 28
Activits BPEL de base (2/3)Activits BPEL de base (2/3)
Nom Symbole Description
Switch
Fournit n branches.Chacune de ces branches estassocie une expressionboolenne.La premire branche (degauche droite) dont la conditionest vraie est excute.Il est possible de fournir unebranche otherwise qui est lancesi aucune des autres branchesnest valide.
While
Effectue un traitement tant que lacondition associe nest pasrespecte.
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
29/59
Zenika 2009 BPEL Orchestration de Web Services 29
Symbole
Activits BPEL de base (3/3)Activits BPEL de base (3/3)
Nom
Nom Symbole Description
Throw
Lance une exception interne. Lesexceptions peuvent ensuite trercupres dans un Catch dumme processus BPEL.
Catch
Rcupre au sein dun scope lesexceptions dun type donn etpermet dy associer un traitementspcifique.
CatchAll
Permet de rcuprer lensembledes exceptions non rcuprespar des catchs simples.
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
30/59
Zenika 2009 BPEL Orchestration de Web Services 30
Activits BPEL d'orchestrationActivits BPEL d'orchestration
Nom Symbole Description
InvokeAppelle un web service partenaire(PartnerLink)
Receive Permet de recevoir un messagedun web service partenaire
ReplyEnvoie un message (ou uneexception) en sortie deprocessus.
Pick
Permet de combiner plusieursReceive et Timeout (Une seulebranche peut tre prise encompte).
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
31/59
Zenika 2009 BPEL Orchestration de Web Services 31
Processus synchrone/asynchroneProcessus synchrone/asynchrone
2 catgories principales de processus BPEL
Processus synchrone attente active (appel bloquant) de la rponse
traitements courts (quelques secondes) sortie = message ou exception
Processus asynchrone pas dattente active (appel non bloquant) dune ventuelle rponse traitements longs sortie = message
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
32/59
Zenika 2009 BPEL Orchestration de Web Services 32
DmonstrationDmonstration
Dmonstration n2 Cration de 2 processus BPEL
Synchrone Asynchrone avec timer de 20 secondes
Dploiement Simulation sur Oracle BPEL PM 10.1.3.1
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
33/59
Zenika 2009 BPEL Orchestration de Web Services 33
Base de dshydratationBase de dshydratation
Dshydratation = Mmoire long terme
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
34/59
Zenika 2009 BPEL Orchestration de Web Services 34
Base de dshydratationBase de dshydratation
Pourquoi dshydrater ? Ncessit technique (gestion mmoire) Robustesse du systme Cohrence et intgrit
Quand dshydrater ? Selon implmentationActivits BPEL spcifiques (Receive, Wait)Action utilisateur
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
35/59
Zenika 2009 BPEL Orchestration de Web Services 35
Dshydratation : quand ?Dshydratation : quand ?
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
36/59
Zenika 2009 BPEL Orchestration de Web Services 36
Communications asynchronesCommunications asynchrones
Problmatique : dbloquer une instance BPEL en attentede rponse
Processus appelant : attente passive
cest au processus appel de rveiller le processusappelant
Rveil = envoi dun message (appel WS)
C i t h iC i t h i
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
37/59
Zenika 2009 BPEL Orchestration de Web Services 37
Comparaison technique :Comparaison technique :synchrone/asynchronesynchrone/asynchrone
...
...
...
Synchrone...
...
...
Asynchrone
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
38/59
Zenika 2009 BPEL Orchestration de Web Services 38
WS-AddressingWS-Addressing
Spcifications W3C : mcanismes permettant aux WS decommuniquer des informations dadressage
donnes de routage de messages incluses au headerSOAP
utilis par Oracle BPEL pour grer lescommunications asynchrones
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
39/59
Zenika 2009 BPEL Orchestration de Web Services 39
WS-Addressing - tapeWS-Addressing - tape 11
123http://localhost:9700/process/callback
ProcessAppel ProcessWait
Processus Id Contexte
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
40/59
Zenika 2009 BPEL Orchestration de Web Services 40
WS-Addressing - tapeWS-Addressing - tape 22
ProcessAppel ProcessWait
Processus Id Contexte
ProcessAppel 123
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
41/59
Zenika 2009 BPEL Orchestration de Web Services 41
WS-Addressing - tapeWS-Addressing - tape 33
ProcessAppel ProcessWait
Processus Id Contexte
ProcessAppel 123
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
42/59
Zenika 2009 BPEL Orchestration de Web Services 42
WS-Addressing - tapeWS-Addressing - tape 44
123
ProcessAppel ProcessWait
Processus Id Contexte
ProcessAppel 123
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
43/59
Zenika 2009 BPEL Orchestration de Web Services 43
Fonction XPathFonction XPath
XPath est une syntaxe (non XML) pour dsigner une portion dundocument XML (variable XML dans Oracle BPEL).
XPath = langage dinterrogation
Oracle BPEL propose un ensemble de fonctions de basepermettant de manipuler plus finement les expressions XPath
nombre de fonctions XPath limit Oracle BPEL permet de construire des fonctions personnalises (
base de classe Java)
Fonction XPath = Pont BPEL/Java
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
44/59
Zenika 2009 BPEL Orchestration de Web Services 44
Corrlation custom Corrlation custom
Permet dassocier un message une instance deprocessus donne
Quelles utilisations ?
o Dblocage extrieuro WS-Addressing non gr par le processus appel
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
45/59
Zenika 2009 BPEL Orchestration de Web Services 45
Corrlation custom : dblocageCorrlation custom : dblocage
initiate
correlate
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
46/59
Zenika 2009 BPEL Orchestration de Web Services 46
Corrlation custom tapeCorrlation custom tape 11
123456
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
47/59
Zenika 2009 BPEL Orchestration de Web Services 47
Corrlation custom tapeCorrlation custom tape 22
123456
Processus Id Correlation
ProcessCorrelate 965 123456
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
48/59
Zenika 2009 BPEL Orchestration de Web Services 48
Corrlation custom tapeCorrlation custom tape 33
Processus Id Correlation
ProcessCorrelate 965 123456
Id Contexte
965
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
49/59
Zenika 2009 BPEL Orchestration de Web Services 49
Corrlation custom tapeCorrlation custom tape 44
123456
Processus Id Correlation
ProcessCorrelate 965 123456
Id Contexte
965
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
50/59
Zenika 2009 BPEL Orchestration de Web Services 50
Corrlation custom tapeCorrlation custom tape 55
123456
Processus Id Correlation
ProcessCorrelate 965 123456
Id Contexte
965
en cours
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
51/59
Zenika 2009 BPEL Orchestration de Web Services 51
BPEL : bonnes pratiquesBPEL : bonnes pratiques
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
52/59
Zenika 2009 BPEL Orchestration de Web Services 52
BPEL : une brique parmi dautresBPEL : une brique parmi dautres
Services SOA s'appuie avant tout sur la notion de service
ESB Outil d'intgration
BPEL pour orchestrer des services...il faut des services
EIP
Les patterns de l'intgration ...
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
53/59
Zenika 2009 BPEL Orchestration de Web Services 53
BPEL et Systme d'informationBPEL et Systme d'information
SI = Ensemble de systmes htrognes
Les diteurs fournissent des adaptateurs
Les adaptateurs Oracle BPEL Fichier JMS
MQ ...
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
54/59
Zenika 2009 BPEL Orchestration de Web Services 54
Oracle BPEL : les adaptateursOracle BPEL : les adaptateurs
Les adaptateurs Oracle s'appuient sur latechnologie JCA
Interface Web Service intgration simplifie BPEL
Adaptateurs non dfinis par les spcifications BPEL
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
55/59
Zenika 2009 BPEL Orchestration de Web Services 55
Adaptateurs : AlternativeAdaptateurs : Alternative
BPEL est un langage ddi aux Web ServicesAdaptateur = Web Service MOM, BDD, Fichiers mise en uvre de WebServices
Possibilit de mettre en place des Web Servicesasynchrones via le systme de customcorrelation
http://java-soa.blogspot.com
BPEL l b i
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
56/59
Zenika 2009 BPEL Orchestration de Web Services 56
BPEL : les bonnes pratiquesBPEL : les bonnes pratiques
Utiliser BPEL comme intermdiaire entre lesystme appelant et les systmes appels
Implmenter dans loutil la logique de routage etdchange avec les autres systmes
Concevoir un processus comme une suite dchangesavec des services
Sparer ce qui est du ressort du moteur BPEL dece qui ne lest pas
Ne pas lutiliser comme un langage de programmation
P f t b tP f t b t
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
57/59
Zenika 2009 BPEL Orchestration de Web Services 57
Performances et robustessePerformances et robustesse
Importance du sizing serveur Clustering Importance du tuning JVM et BPEL
Possibilit de mettre en place Oracle Coherencesur la base de dshydration Performances
Failover
O l BPEL j d'h iO l BPEL j d'h i
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
58/59
Zenika 2009 BPEL Orchestration de Web Services 58
Oracle BPEL aujourd'huiOracle BPEL aujourd'hui
Dernire version : 11g R1
Intgration la suite SOA Oracle 11g
Architecture SCA Simplification des dploiements et de l'intgration aux autres
briques SOA (ESB, BAM...) Gestion des Policy (scurit, robustesse...)
D ti ?D ti ?
7/22/2019 Presentation_BPEL_Jeudis_Objet.pdf
59/59
Grgory LE [email protected]
Des questions ?Des questions ?