-1-
Plan du cours
A quels besoins rpond le SOA ? Pourquoi les solutions actuelles sont insuffisantes ? Quels sont les principes de base du SOA ? Quels sont les lments cl dune architecture oriente services ? Quel est le c cle de vie dun service ? Quelles mthodes et outils permettent de mettre en oeuvre une architecture oriente services ?
-3-
A quels besoins rpond le SOA ? Pourquoi les solutions actuelles sont insuffisantes ?
-4-
Pas de &u$ual%sa$%o# des d,veloppe&e#$s e#$re pro0e$s e$ peu de r,u$%l%sa$%o# poss%.le (c) 2007, Occello Audrey, SAR -7-
1o2$s (o#s%d,ra.les da#s la -es$%o# des 'lu3 e#$re d,par$e&e#$s e$ da#s l4%#$,-ra$%o# de leurs SI (c) 2007, Occello Audrey, SAR -8-
%veloppements co3teu' Interconne'ions redondantes )point point* 4rande comple'it &aintenance difficile (c) 2007, Occello Audrey, SAR -9-
- 11 -
Ob5ets et encapsulation
Gra#ular%$, e#(ore $rop '%#e &al adapte la pro!rammation !rande chelle 1oupla-e 'or$ ;end difficile la rutilisation Accro<t la comple'it des S st$mes OO
- 12 -
- 13 -
I#$,r5$
1o#'%-ura$%o# du (o&posa#$
Interface de configuration
Interfaces fournies
- 15 -
Interfaces requises
;e-confi!uration d namique
Consommer: payer, selectionner, prendre Gerer: ouvrir, remplir, mettreMonnaie Rparer: ouvrirCapot, fermerCapot Facturer: encaisser, rendreMonnaie
Distributeur de boissons
Facturation version 1
Facturer: encaisser, rendreMonnaie
BCDust in time bindin!CE Permet de modifier l#application chaud sans modification du code en manipulant les assembla!es (c) 2007, Occello Audrey, SAR
Facturation version 2
Facturer: encaisser, rendreMonnaie
- 16 -
Ob5ectif / faire voluer le SI au m1me r thme que la strat!ie et l#or!anisation des mtiers de l#entreprise
legacy services portail
(((
!"#"l d$%c&"#'e donnes processus
NonInterruptible Receive Invoke Invoke Reply Invoke Reply Fault
partenaires
((( - 20 -
- 21 -
.orrespond un prim$tre fonctionnel que lon souhaite e'poser des consommateurs +st faiblement coupl )indpendant des autres services* +'pose un petit nombre doprations offrant un traitement de bout en bout Sans tat (c) 2007, Occello Audrey, SAR - 23 -
- 24 -
(6e(=1red%$
(rea$e:oa# se#d1o#'%r&a$%o#
"oanA!ent est li "oanApproval et "oan "oanApproval est li Account "oan est li S&S4ateNa (c) 2007, Occello Audrey, SAR - 25 -
Quest ce que "oanProcess ? ?n pro(essus &,$%er Q Il permet dor(6es$rer les services RS coupla!e lTche (c) 2007, Occello Audrey, SAR - 26 -
?n pro(essus est compos de sous pro(essus= de d,(%s%o#s )Husiness rules* et da($%v%$,s ?n sous processus a son propre but= entres et sorties "es activits
6 correspondent au' parties du processus mtier qui nincluent pas de dcision et sont associes des rUles 6 Sont ralises par des s st$mes ou des humains
%es &esures )VPI pour Ve Performance Indicators* permettent de capturer les performances du processus ?n processus est le r,sul$a$ d4u#e or(6es$ra$%o# de service "e processus est lui-m1me accessible en tant que service
- 27 -
- 28 -
1es d%'',re#$s &odes de (oupla-e so#$ #,(essa%res e$ d,pe#de#$ du #%veau da#s l4ar(6%$e($ure
1o au up #% lave e au 'a l o % .l e -% *u e
E3 >
1o up l
'o r$
- 29 -
e-store / .ouches
AccountController Default !ignOut Presentation Layer y Account Edit Account Create Account !ignIn !earch Category Items Item Details !hopping Cart Help Error CartController
Check out
Order Billing
Order !hipping
Order Process
Account
Profile
Product
Item
Inventory
Cart
OrderInsert
OrderRead
IAccount
IProfile
IProduct
IItem
IInventory
IOrder
- 30 -
e-store / %omaines
Default !ignOut Presentation Layer y Account Edit Account Create Account !ignIn !earch Category Items Item Details !hopping Cart Help Error
Check out
Order Billing
Order !hipping
Order Process
Account
Profile
Product
Item
Inventory
Cart
OrderInsert
OrderRead
Customer
Catalog
Inventory
!hopping
Billing
- 31 -
e-store / %omaines
Presentation Layer
Customer
Catalog
Inventory
!hopping
Billing
- 32 -
e-store / Services
Presentation Layer
!ervice Layer
anage Customer
!ho" Catalog
ake Inventory
!hop
Bill
- 33 -
Hnfices mtier
Amliorer la!ilit et la fle'ibilit du mtier Jaciliter la !estion des processus mtier Offrir la capacit casser les barri$res or!anisationnelles )silos* ;duire en temps le c cle de dveloppement des produits Amliorer le retour sur investissement Accro<tre les opportunits de revenu
(c) 2007, Occello Audrey, SAR - 34 -
Hnfices techniques
;duire la comple'it de la solution .onstruire les services une seule fois et les utiliser frquemment 4arantir une int!ration standardise et le support de clients htro!$nes Jaciliter la maintenabilit
(c) 2007, Occello Audrey, SAR - 35 -
- 36 -
Service consumer
;epositor
1o#$ra($
Service provider
;e!istr
- 37 -
Standards de larchitecture
"es standards sont un lment cl dune SOA= ils assurent linteroprabilit
SOAP
W3
WSDL
W3
UDDI
(icro&o)t* I+(* ,'
BPEL
#a&i&
- 38 -
Identification des Instances de Process 4estion des transactions lon!ue dure )scope= compensation* 4estion des fautes (c) 2007, Occello Audrey, SAR - 40 -
- 41 -
B'aul$Ea#dlers8 (a$(6 a#d &a#a-e e3(ep$%o#s C6e# (us$o&er 6as a .ad (red%$ 6%s$orD
lo! PartnerLin"
Bre(e%ve8 asD#(6ro#ous (all.a(=s 'ro& lo#-ru##%#- loa# pro(essors BsC%$(68 $o $6e loCes$ loa# o''er
loan.bpel
- 42 -
http/((arcad8essi8fr(riveill8old(ensei!nement(FGG[-G\(SA;GF(SA;
.est le point dentre vers un service RS invocation indirecte du service au travers du bus .e point dentre doit 1tre normalis mais on ne sait pas qui fournit le service et comment il le fournit )implmentation*8 Infrastructure qui optimise les chan!es entre consommateurs et fournisseurs de services8 Il peut prendre en char!e / 6 ;outa!e 6 transformation des donnes 6 transactions= 6 scurit= 6 qualit de service= 6 A +'/ voir http/((petals8oNF8or!(Nhat-is-petals-esb8html "e but dun +SH est de permettre de communiquer de mani$re simple et standardise entre des applications htro!$nes (c) 2007, Occello Audrey, SAR - 44 -
.ommunications inities par les applications seront donc homo!$nes Pas d^orchestration= parce que pas dintermdiaire/ invocations de services directement pilotes par le code Peu de transactions= ou alors les !rer - 46 _ la main`
%ans cet e'emple= hormis le HP+" process= tous les autres lments applicatifs sont des services e'ternes au bus8 &ais= par e'8 un lment pourrait 1tre un autre HP+" process ou un composant +DH=
ou autre= dplo %AKS le bus= et vu comme un service interne8 (c) 2007, Occello Audrey, SAR
H. et S+ peuvent se ra5outer )et senre!istrer* sur le bus d namiquement (c) 2007, Occello Audrey, SAR
- 49 -
6 "es architectures orientes service impliquent une vision !lobale 6 "a !ouvernance permet de casser les silos de lentreprise - 50 -
Ser#ice O!ner Appro#al Ser#ice reusa,ility %ommission %an$i$ate %onsumers I$enti ie$
Serv%(e Ide#$%'%(a$%o#
Ser#ice Speci ication %reate$ Pro#i$er Inter aces Documente$ Ser#ice/Process Wor" lo! %reate$
no
Serv%(e Spe(%'%(a$%o#
De#elop %omponents Integrate & Test %reate Deployment Unit Acceptance Test %o$e in repository
Serv%(e Develop&e#$
Plan (e! )ersion Decommis sion Ser#ice Deprec ate Ser#ice
%erti y Ser#ice
Ser#ice in registry
Ser#ice in use
'onitor ser#ice
Serv%(e Ma#a-e&e#$
- 53 -
A#alDs$e &,$%er
%finit les processus mtiers et les VPI associes Identification des services mtier Optimise les processus via la simulation
o# % $ % (a
#$ e &
pe p lo
#$ e &
D,veloppeur
o# % $ es
Ges$%o##a%re
Publie les services 4$re le c cle de vie des services .ontrUle la qualit de service
- 54 -
6 attention une !ranularit trop _paisse` 6 un service qui fait trop de chose= risque de ne pas 1tre rutilisable
Approche Lop-doNn /
6 On part des interactions mtier pour aboutir au' interactions techniques 6 ;alise !nralement par la &OA 6 Plus adquat pour dmarrer un nouveau pro5et
- 56 -
- 64 -
"e _Serv%(e :%$&us Tes$` d#IH& aide trouver les _bons` services e'poser
SLT
- 65 -
- 66 -
1.1.1
7eck Rate&
1.1.2
(ake Re&ervation
1.2.1
1ocate Re&ervation
1.2.2
(o/i)y Re&ervation
1.2.3
reate Rental %0ree"ent
1.2.8
!i0n-out 6e7icle )ro" 1ot
1.3.1
1ocate Rental %0ree"ent
1.3.2
'roce&& Return In)or"ation
1.3.3
'roce&& 'ay"ent
1.3.8
Return 6e7icle to 1ot
././0/.
%on irm Rental In ormation
././0/0
1et %ustomer In ormation
././0/5
1et Payment In ormation
././0/6
%on irm Reser#ation
././0/7
%reate Reser#ation
./././.
1et Location 2Pic"3up/$rop3o 4
./././0
1et Date / time 2Pic"3up/$rop3o 4
./././5
%*oose )e*icle
./././6
1et Options In ormation
./././7
%*ec" )e*icle A#aila,ility
./././8
O er Rates 9or Selection
- 67 -
Quelles mthodes et outils permettent de mettre en oeuvre une architecture oriente services ?
- 69 -
&odeleurs de processus
Outils de modlisation des processus mtier
O 6 6 6 6 6 6 6 6 IBM Ae.Sp6ere Bus%#ess Modeler Bull Bo#%$a De Ga&&a BPM &+4A Aris .orporate &odeler Iin%esi!n PoNer A&. Pop7in S stem Architecture - 71 -
- 72 -
.ontrUleurs(moniteurs
HA& )Husiness Activit &onitorin!*
O O O O IBM Ae.Sp6ere Bus%#ess Mo#%$or Ora(le BAM S star Husiness Hrid!e H&. Service Impact &ana!er
.omposants de scurit
O Oracle Ieb Service &ana!er O Obli'
- 73 -
+u&ine&& %naly&t
!ervice %rc7itect
Serv%(e Spe(%'%(a$%o#
HP+" VPIs
We,Sp*ere Integration De#eloper Serv%(e Develop&e#$ We,Sp*ere Ser#ice Repository & Registry
!ervice Re0i&trar
IS%"
.eveloper
Inte0ration .eveloper
+u&ine&& %naly&t
!erver %/"ini&trator
9overnance (ana0er
'er)or"ance (ana0er
- 74 -
.onclusions
- 75 -
%u d5 vu ?
SOA est une volution des plate-forme passes= tout en prservant les caractristiques russies des architectures traditionnelles 6 .ontractualisation des services
%esi!n b .ontract )&e er*
6 %coupla!e fournisseur(comsommateur
&essa!e Oriented &iddleNare )&O&*
SOA es$ u#e ,volu$%o# plu$L$ *u4u#e r,volu$%o# (c) 2007, Occello Audrey, SAR - 76 -
* *
*
ser#ices
composants
ser#ices
S nth$se
Depuis
Orient fonctionnalits .oncu pour durer . cle de dveloppement lon!
Vers
Orient processus .oncu pour chan!er %veloppement et dploiement interactif
- 78 -
Avanta!es et inconvnients
Architecture adaptative ;utilisation du code ?tilisation de standards Productivit accrue
&anque de maturit des standards "enteur de'cution %ifficile effectivement implmenter +ncore peu de chose sur la contractualisation
(c) 2007, Occello Audrey, SAR - 79 -
http/((NNN-,GZ8ibm8com(softNare(fr(soa(
http/((NNN8orchestranetNor7s8com(fr(soa(inde'8cfm
http/((NNN8research8ibm8com(5ournal(s5(PPP(cherba7ov8h tml - 82 -
6 Open..& http/((openccm8ob5ectNeb8or!( 6 Sofa http/((dsr!8mff8cuni8c>(pro5ects(sofa(tools(doc(comp model8html (c) 2007, Occello Audrey, SAR - 83 -