Documente Academic
Documente Profesional
Documente Cultură
Oriente Service
Modules SAR O2/SAR O3 SI3
Revu par F. Baude, M2 MIAGE
NTDP, 2008
(essentiellement simplification,
raccourcissements, + quelques details)
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 cycle de vie dun service ?
Quelles mthodes et outils permettent de mettre en
oeuvre une architecture oriente services ?
Dveloppements coteux
Interconnexions redondantes (point point)
Grande complexit
Maintenance difficile
Design pattern
...
Objets et encapsulation
Granularit encore trop fine
Mal adapte la programmation grande chelle
Couplage fort
Rend difficile la rutilisation
Accrot la complexit des Systmes OO
Intrt
Configuration du composant
Interface de
configuration
Interfaces
requises
Interfaces
fournies
Re-configuration dynamique
Consommer:
payer,
selectionner,
prendre
Gerer:
ouvrir,
remplir,
mettreMonnaie
Facturer:
encaisser,
rendreMonnaie
Distributeur de
boissons
Rparer:
ouvrirCapot,
fermerCapot
Facturation
version 1
Facturer:
encaisser,
rendreMonnaie
Facturation
version 2
Facturer:
encaisser,
rendreMonnaie
From :
services
portail
...
Canal d'change
donnes
processus
partenaires
...
Un Service expose un
Contrat
in
out
LoanApproval
calculateRisk
Account
Loan
SMSGateway
checkCredit
createLoan
sendConfirmation
CheckAccount
Balance
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
Ex
:
Co
up
l
ag
e
fo
rt
**
Co
au up
ou n lag
vi a ive e
si u au fa
on n
i v te i b l
S C ea c e
A u hn i
lo q
gi ue
qu
e
:
Co
au up
ni lag
ve e
au fa
l o i bl e
gi
qu
e
e-store : Couches
AccountController
CartController
Default
SignOut
SignIn
Search
Category
Items
Presentation
Layer
My
Account
Business
Logic
Layer
Data
Access
Layer
Edit
Account
Item
Details
Shopping
Cart
Check
out
Create
Account
Account
Profile
Product
Item
Inventory
IAccount
IProfile
IProduct
IItem
IInventory
Cart
Help
Order
Billing
OrderInsert
Error
Order
Shipping
OrderRead
IOrder
Order
Process
e-store : Domaines
Default
SignOut
SignIn
Search
Category
Items
Presentation
Layer
My
Account
Business
Logic
Layer
Data
Access
Layer
Edit
Account
Account
Item
Details
Check
out
Create
Account
Profile
Shopping
Cart
Product
Item
Inventory
Cart
Help
Order
Billing
OrderInsert
Error
Order
Shipping
Order
Process
OrderRead
1.0
1.0
10.0
5.1
1.0
1.1
2.0
11.2
5.2
6.0
1.2
3.5
11.5
5.3
7.0
IAccount
IProfile
Customer
IProduct
Catalog
IItem
IInventory
Inventory
IOrder
Shopping
Billing
e-store : Domaines
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
Customer
Catalog
Inventory
Shopping
Billing
e-store : Services
Presentation
Layer
Business
Logic
Layer
Service
Layer
Data
Access
Layer
Manage
Customer
Show
Catalog
Make
Inventory
Shop
Bill
Bnfices mtier
Amliorer lagilit et la flexibilit du mtier
Faciliter la gestion des processus mtier
Offrir la capacit casser les barrires
organisationnelles (silos)
Rduire en temps le cycle de dveloppement
des produits
Amliorer le retour sur investissement
Accrotre les opportunits de revenu
Bnfices techniques
Rduire la complexit de la solution
Construire les services une seule fois et les
utiliser frquemment
Garantir une intgration standardise et le
support de clients htrognes
Faciliter la maintenabilit
Service
consumer
Repository
Contract
Service
provider
2.b
Execute
process
Business service
orchestrator
Business
process description
Registry
Standards de larchitecture
Les standards sont un lment cl dune SOA, ils
assurent linteroprabilit
SOAP
WSDL
UDDI
BPEL
W3C
W3C
Microsoft, IBM, HP
Oasis
Simple Object
Access Protocol
Web Services
Description Language
Universal Description
Discovery and Integration
Business Process
Execution Language
Transporte
Dcrit le contrat
Spec pour
Repository/Registry
Dcrit les
processus mtier
Le langage BPEL
Standard de lOASIS
Norme permettant de dcrire des processus en XML
Propose les fonctions basiques dun langage de
programmation:
sequence, flow, loop, switch
PartnerLink
PartnerLink
PartnerLink
loan.bpel
Plusieurs connecteurs
Orchestration importante
Transactions consquentes
Sans ESB
Dans cet exemple, hormis le BPEL process, tous les autres lments applicatifs sont des services externes au
bus.
Mais, par ex. un lment pourrait tre un autre BPEL process ou un composant EJB, ou autre, dploy DANS
le bus, et vu comme un service interne.
Identification
Spcification
Dveloppement
Gestion
Search for
Existing
Implementation
Service
Identified
exists?
no
Service Identification
Service Owner
Approval
Service
reusability
Commission
Candidate
Consumers
Identified
Service
Specification
Review
Service Specification
Develop
Components
Integrate
& Test
Create
Deployment Unit
Acceptance
Test
Code in
repository
Service Development
Certify
Service
Service in
registry
Service
in use
Monitor
service
Service Management
Plan
New
Version
Decommis
sion
Service
Deprec
ate
Service
on
i
t
ca
Analyste
mtier
i
f
f
ci
ti
n
e
Sp Dfinit les services pour les use
Id Dfinit les processus mtiers et les
KPI associes
Identification des services mtier
Optimise les processus via la
simulation
nt
e
m
pe
p
elo Assemble les services
v
D
on
i
t
es
cases
Modlise les services
nt
e
em
Intgrateur
p
p
o
l
ve Implmente les services
Gestionnaire
Dvel
Approche Top-down :
On part des interactions mtier pour aboutir aux interactions techniques
Ralise gnralement par la MOA
Plus adquat pour dmarrer un nouveau projet
Approche Outside in
Dans la pratique on utilise rarement une seule approche
Pour obtenir une granularit pertinente des services, il est
ncessaire de concilier les 2
Faire lanalyse Top-down sans se proccuper de lexistant
Faire lanalyse Buttom-up en ne considrant que lexistant
Comparer les services remonts avec ceux dduits des processus
Faire les compromis ncessaires pour rutiliser le maximum de
code
Modeleurs de processus
Outils de modlisation des processus mtier
Contrleurs/moniteurs
BAM (Business Activity Monitoring)
Composants de scurit
Oracle Web Service Manager
Oblix
Business Analyst
Service Architect
WebSphere Business
Modeler
Service Specification
BPEL
Rational Software
Architect
WSDL
Developer
KPIs
Integration
Developer
WebSphere
Integration Developer
Rational Application
Developer
Service Development
WebSphere Service
Repository & Registry
Service Registrar
Business Analyst
WebSphere Business
Monitor
Server Administrator
Governance
Manager
Performance
Manager
WebSphere
Business Services
Fabric
Conclusions
Du dj vu ?
SOA est une volution des plate-forme passes, tout en
prservant les caractristiques russies des architectures
traditionnelles
Contractualisation des services
Design by Contract (Meyer)
Dcouplage Interface/Implmentation,
interoprabilit, transparence des communications,
Middlewares la CORBA
Dcouplage fournisseur/comsommateur
Message Oriented Middleware (MOM)
Assembleur
Langages machine
objets
Langages
procduraux
**
composants
01011
10100
11000
01011
services
services
Synthse
Depuis
Orient fonctionnalits
Conu pour durer
Vers
Orient processus
Conu pour changer
Dveloppement et
dploiement interactif
Silos applicatifs
Orchestration de Services
Couplage fort
Couplage faible
Orient Objet
Orient message
Avantages et inconvnients
Architecture adaptative
Rutilisation du code
Utilisation de standards
Productivit accrue
http://www-306.ibm.com/software/fr/soa/
http://www.orchestranetworks.com/fr/soa/index.cfm
http://www.research.ibm.com/journal/sj/444/cherbakov.h
tml
OpenCCM
http://openccm.objectweb.org/
Sofa
http://dsrg.mff.cuni.cz/projects/sofa/tools/doc/comp
model.html