Académique Documents
Professionnel Documents
Culture Documents
SI5/Master IFI
Audrey Occello
occello@polytech.unice.fr
http://anubis.polytech.unice.fr/cours/2012_2013:si5:soa:start
- 1 -
Intgrateurs
- 2 -
Contenu du module
Les concepts que vous allez apprendre
des notions : composants, services, processus mtier ...
des principes : d'orchestration, de contratualisation,
d'urbanisation
tout en rvisant vos connaissances : bus, annuaire, web services ...
- 3 -
- 4 -
Introduction lArchitecture
Oriente Service
Module Architecture SOA
SI5 - Master 2 IFI
- 5 -
Plan du cours
A quels besoins rpond SOA ?
Quels sont les principes de base de SOA ?
Quels sont les liens entre objets et services ?
Quels sont les lments cl de larchitecture technique ?
- 6 -
- 7 -
linverse
- 8 -
- 9 -
(constituants informatiques)
Pas dimplication
de la MOA dans
le pilotage de la
variante
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 10 -
Rutilisation vs cloisonnement
Le dcoupage de l'architecture 3-tiers facilite le travail
de la MOE mais favorise le cloisonnement en silos
applicatifs indpendants (blocs monolithiques)
Certaines fonctions sont redondantes : une version pour
chaque application
Application 1
Application 2
Application 3
Prsentation
Prsentation
Prsentation
Logique applicative
Logique applicative
Logique applicative
Base de donnes
Base de donnes
Base de donnes
- 11 -
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
Order
Process
OrderRead
IOrder
- 12 -
SignIn
Search
Category
Items
Presentation
Layer
My
Account
Business
Logic
Layer
Data
Access
Layer
Edit
Account
Shopping
Cart
Check
out
Create
Account
Account
Profile
Product
Item
Inventory
IAccount
IProfile
IProduct
IItem
IInventory
Client
Item
Details
Catalogue
Inventaire
Cart
Help
Order
Billing
OrderInsert
Error
Order
Shipping
Order
Process
OrderRead
IOrder
Shopping
Facturation
- 13 -
Silos et transversalit
Entreprises dcoupes en dpartements fonctionnels
Mais :
Processus mtiers de + en + inter-dpartementaux
Les processus franchissent les fontires de l'entreprise
qui doit pouvoir prendre en compte les activits et
processus des partenaires pour tre reactive
- 14 -
Dveloppements coteux
Interconnexions redondantes (point point)
Grande complexit
Rutilisation & maintenance difficile Source : DotNetGuru.org
- 15 -
services
portail
...
Canal d'change
donnes
processus
partenaires
NonInterruptible
Receive
Invoke
Invoke
Reply
Invoke
...
Reply
Fault
- 16 -
- 17 -
- 18 -
- 19 -
- 20 -
LoanAgent
LoanApproval
calculateRisk
Account
Loan
SMSGateway
checkBalance
createLoan
sendConfirmation
- 21 -
LoanApproval
calculateRisk
Account
Loan
SMSGateway
checkBalance
createLoan
sendConfirmation
- 22 -
CheckAccount
Balance
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
- 23 -
CheckAccount
Balance
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
- 24 -
CheckAccount
Balance
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
- 25 -
CheckAccount
Balance
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
- 26 -
- 27 -
e-store : Domaines
Presentation
Layer
Business
Logic
Layer
Data
Access
Layer
Client
Catalogue
Inventaire
Shopping
Facturation
- 28 -
e-store : Services
Presentation
Layer
Business
Logic
Layer
Service
Layer
Gerer
clients
Voir
catalogue
Faire
inventaire
Acheter
Facturer
Data
Access
Layer
- 29 -
e-store : Services
Presentation
Layer
Business
Logic
Layer
Service
Layer
Gerer
clients
Voir
catalogue
Faire
inventaire
Acheter
Facturer
Data
Access
Layer
- 30 -
- 31 -
- 32 -
- 33 -
Standard BPMN
BPMN = Business Process Modeling Notation
- 34 -
Source : bpmn.org
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 35 -
Un service expose
un contrat
in
out
- 36 -
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/services
Amliorer le retour sur investissement
Accrotre les opportunits de revenu
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 37 -
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 maintenance
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 38 -
- 39 -
1995
Technologie
objet
Objects,
Classes,
Smalltalk, C++, ...
Encapsulation et
Spcialisation
Technologie
composant
Composants, Containers
Interfaces in et out,
EJB, CCM,
Composition par assemblage
- 40 -
Copyright aspectj.org
- 41 -
Copyright aspectj.org
- 42 -
Copyright aspectj.org
- 43 -
- 44 -
Objets et encapsulation
Granularit encore trop fine
Mal adapte la programmation grande chelle
Couplage fort et primtre non dfini
Rend difficile la rutilisation
Accrot la complexit des Systmes OO
- 45 -
- 46 -
- 47 -
Composants logiciels
Des units interchangeables
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 48 -
Configuration du composant
proprits (attributs publics)
connexions
cycle de vie (arret, redemarrage, ...)
contraintes techniques (transaction, persistance, scurit, ...)
Interfaces
requises
Interfaces
fournies
Interface de
configuration
- 49 -
- 50 -
Points de vue
Arbre
V.I. Nourriture
M.I. CalculDuVol
Arbre
V.I.
Couleurs,Taille
M.I.
Dessiner
Arbre
V.I. prixDeVente
Temps-De-Coupe
M.I. Calcul-Profit
Arbre
V.I. valeur-Estime
M.I.
Estimer-Valeur
Calculer-Taxe
Arbre
V.I.
Taille,Poids, Couleur,feuillage
M.I.
Grandir
- 51 -
Interface requise
Port
- 52 -
- 53 -
payer,
slectionner,
prendreProduit,
prendreMonnaie,
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Distributeur de
boissons
encaisser,
calculerAppoint,
majStock
- 54 -
payer,
slectionner,
prendreProduit,
prendreMonnaie,
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Distributeur de
boissons
encaisser,
calculerAppoint,
majStock
- 55 -
Consommateur
Fournisseur
Dpanneur
payer,
slectionner,
prendreProduit,
prendreMonnaie
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Facturation
encaisser,
calculerAppoint
Distributeur de
boissons
majStock
Stock
ouvrir,
fermer
- 56 -
Constat
Peu de guidelines
Dans quel cas utiliser un composant ?
Dans quel cas continuer utiliser un objet ?
Est ce que tout doit devenir composant ?
Est ce que tout peut devenir composant ?
- 57 -
- 58 -
- 59 -
Client
Portefeuille
Devis
Ventes
- 60 -
Client
Encaissement
Ventes
Devis
- 61 -
Type de communication
Composite
Re-configuration dynamique
- 62 -
Consommer:
payer,
selectionner,
prendreProduit,
prendreMonnaie
Rapprovisionner:
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Rparer:
ouvrir,
fermer
Facturer:
encaisser,
rendreMonnaie
Contrat
Facturer:
encaisser,
rendreMonnaie
Contrat
GererStock:
majStock
Distributeur de
boissons
GererStock:
majStock
Facturation
Stock
- 63 -
Client
Encaissement
Ventes
Devis
- 64 -
Re-configuration dynamique
Consommer:
payer,
selectionner,
prendreProduit,
prendreMonnaie
Rapprovisionner:
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Rparer:
ouvrir,
fermer
Facturer:
encaisser,
rendreMonnaie
Distributeur de
boissons
- 65 -
Re-configuration dynamique
Consommer:
payer,
selectionner,
prendreProduit,
prendreMonnaie
Rapprovisionner:
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Rparer:
ouvrir,
fermer
Distributeur de
boissons
Facturation
version 1
Facturer:
encaisser,
rendreMonnaie
- 66 -
Re-configuration dynamique
Consommer:
payer,
selectionner,
prendreProduit,
prendreMonnaie
Rapprovisionner:
ouvrir,
remplir,
mettreMonnaie,
mettreProduit,
fermer
Rparer:
ouvrir,
fermer
Distributeur de
boissons
Facturation
version 1
Facturation
version 2
Facturer:
encaisser,
rendreMonnaie
- 67 -
Composition et vrifications
Interconnexions manquantes ou invalides
Proprits de vivacit et de sret
Contractualisation
...
- 68 -
Beaucoup de
concepts
Pas dunification
Plates-formes d'xecution
Diffrentes faons
de les implmenter
- 69 -
- 70 -
Composant SCA
Initiative :
IBM, Oracle, BEA, SAP, Sun, TIBCO,
But :
structurer l'implmentation des SOA
Indpendances
langage de programmation
protocoles de communication
- 71 -
...
Choix du langage
dimplmentation
Java
C++
BPEL
...
Source : oasis-open.org
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 72 -
- 73 -
- 74 -
Ces diffrents
modes de couplage
sont ncessaires et
dpendent du
niveau dans
larchitecture
- 75 -
- 76 -
Architecture triangulaire
Toutes les parties ne sont pas forcment rifies
- 77 -
UDDI
Microsoft, IBM, HP
WSDL
WSDL
Web Services
Description Language
Web Services
Description Language
Dcrit le contrat
Dcrit le contrat
W3C
W3C
SOAP
W3C
- 78 -
BPEL
Oasis
Business Process
Execution Language
Dcrit les
processus mtier
- 79 -
- 80 -
- 81 -
- 82 -
Repository
Contract
Service
provider
Business service
orchestrator
Business
process description
Registry
- 83 -
Service
consumer
Repository
Contract
Service
provider
Business service
orchestrator
Business
process description
Registry
- 84 -
Service
consumer
Repository
1 . b Return contract
Contract
Service
provider
Business service
orchestrator
Business
process description
Registry
- 85 -
Service
consumer
Repository
1 . b Return contract
Contract
Service
provider
Business service
orchestrator
Business
process description
Registry
- 86 -
Service
consumer
Repository
1 . b Return contract
Contract
2. b
Execute
process
Service
provider
Business service
orchestrator
Business
process description
Registry
- 87 -
Service
consumer
Repository
1 . b Return contract
Contract
2. b
Execute
process
Service
provider
Business service
orchestrator
2. c Retrieve service
end- point
Business
process description
Registry
- 88 -
Service
consumer
Repository
1 . b Return contract
Contract
Service
provider
2. b
Execute
process
Business service
orchestrator
2. c Retrieve service
end- point
Business
process description
Registry
- 89 -
routage
transformation des donnes
orchestration
transactions,
scurit,
qualit de service,
- 90 -
- 91 -
- 93 -
Architecture JBI
Architecture composants pluggable pour intergiciels
2 types de composants :
Service Engine (SE) : hbergement des composants mtier
Binding Component (BC) : gestion des communications externes
BC
(c) 2012-2013, Occello Audrey, module SOA & Workflow
SE
- 94 -
Source : ICARE'08
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 95 -
HTTP
methods
i.e., GET, POST, PUT, DELETE
Conclusions
- 98 -
Du dj vu ?
SOA est une volution des paradigmes passs, 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)
- 99 -
Assembleur
Langages machine
objets
Langages
procduraux
**
*
services
services
composants
01011
10100
11000
01011
- 100 -
Synthse
Depuis
Vers
Orient fonctionnalits
Conu pour durer
Cycle de dveloppement long
Orient processus
Conu pour changer
Dveloppement et
dploiement interactif
Silos applicatifs
Couplage fort
Orient Objet
Orchestration de Services
Couplage faible
Orient message
- 101 -
Avantages et inconvnients
Architecture adaptative
Rutilisation du code
Utilisation de standards
Productivit accrue
- 102 -
BPEL
WS-CDL
BPMN
SOAML
(c) 2012-2013, Occello Audrey, module SOA & Workflow
ebXML BPSS
- 103 -
suites doutils
services
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 104 -
services
(c) 2012-2013, Occello Audrey, module SOA & Workflow
- 105 -
Flight Application
Hotel Application
IHM*
IHM*
Tour operator Application
service
IHM *
service
Orchestration
de services
- 106 -
- 107 -
- 109 -
- 110 -