Architecture n-tiers
Chapitre 2: SOA
Dr.Ghada Besbes
1
Introduction
" La cr ation d'applications dans l'entreprise est tr s souvent
pilot e par des besoins tr s court terme
" D veloppement d'une application sous tel d lai avec telles
fonctionnalit s
" Mod lisation et d veloppement dirig par les
choix/contraintes techniques
" Pas de discussion entre maitrise d'ouvrage (le client) et maitrise
d'oeuvre (l quipe de d veloppement)
" D calage entre besoins m tier et leur r alisation (constituants
informatiques)
" Pas de place pour la prise en compte de l' volution des
besoins fonctionnels au niveau de l'application
2
Introduction
" Le d coupage pr sentation/traitement/base de donn es de
l'architecture 3-tiers sert d coupler au maximum une
couche de l'autre mais favorise le cloisonnement en silos
applicatifs ind pendants (blocs monolithiques)
3
Introduction
" Les tiers communiquent via un protocole de transport
sp cifique qui n cessite une configuration r seau
" Probl matique de lint gration en entreprise
" Entreprises d coup es en d partements fonctionnels y compris
leurs syst mes dinformation
" Processus m tiers de + en + interd partementaux
" Les processus qui franchissent les fronti res des d partements
doivent pouvoir prendre en compte les activit s et processus des
autres d partements.
4
Introduction
Co ts consid rables dans la gestion des flux entre d partements
et dans lint gration de leurs SI
5
Introduction
Plat de spaghettis
" D veloppements co teux
" Interconnexions redondantes (point point)
" Grande complexit
" Maintenance difficile
6
1
SOA
7
SOA
" SOA d note une architecture orient e services (Service
Oriented Architecture)
" Lanc e par Gartner Group, elle d finit un mod le
dinteraction applicative mettant en oeuvre des
connexions en couplage faible entre divers composants
logiciels.
" une vision dun syst me destin e traiter toute
application comme un fournisseur de service .
" Architecture logicielle s'appuyant sur un ensemble de
services simples.
" Objectif: D composition dune fonctionnalit en un
ensemble de fonctions basiques, appel es services.
8
SOA
Quest ce que SOA?
"
Larchitecture orient e
style
darchitecture bas e sur le principe de s paration de lactivit
m tier en une s rie de services.
constitue un
service
" Ces services peuvent tre assembl s et li s entre eux selon
le principe de couplage l che pour ex cuter lapplication
d sir e.
" Ces services sont d finis un niveau sup rieur de
la
traditionnelle approche composants
Gartner - Septembre 2005
9
SOA
" La mise en place d'une architecture SOA r pond un besoin
de:
" R utilisation des traitements,
" Interop rabilit
" Fiabilit ,
" H t rog n it .
" Une architecture orient e services consiste essentiellement
en une collection de services qui interagissent et
communiquent entre eux.
10
SOA
" Le paradigme SOA : Chercher, Publier et Consommer
11
SOA
" Lapproche services est un paradigme informatique qui
propose de construire des applications partir de services.
Ces services sont fournis par des organisations tierces et
peuvent voluer dynamiquement .
" Cette approche repose sur trois acteurs (Fournisseur de
service, Annuaire de service et Consommateur de service) et
trois interactions (Chercher, Publier et Consommer).
12
SOA
Acteurs
" Fournisseur de services:
" Le fournisseur de service a pour r le de fournir des services qui
impl mentent une description de service. Les descriptions de service
sont publi es dans un registre de services afin de supporter la
d couverte de services.
" Annuaire/registre de services:
Publicité
" Cest linterm diaire entre les fournisseurs et les consommateurs de
services. Il stocke des descriptions de services qui, entre-autres,
r f rencent leurs fournisseurs. Le registre fournit des m canismes
permettant de linterroger pour obtenir des r f rences vers les
fournisseurs.
" Consommateur de services:
" Lacteur consommateur de service est le client qui requiert un
service. Pour pouvoir interagir avec ce dernier, le consommateur doit
tre li un fournisseur apr s sa d couverte dans le registre.
13
SOA
Interactions
" La publication : Un fournisseur de service senregistre aupr s
du registre de service pour publier sa description de service.
Un fournisseur peut avoir plusieurs types de services.
" Recherche/d couverte : Le consommateur de service
interroge le registre afin de trouver les services quil requiert.
" Consommation/invocation et liaison : Une fois que le service
est d couvert, son invocation consiste tablir une liaison
entre le consommateur et le fournisseur pour permettre son
utilisation.
14
SOA
15
Un service Web
" Le service est un composant clef de l'Architecture Orient e
Services.
" Consiste en une fonction ou fonctionnalit bien d finie.
" Expose une interface qui d finit le traitement offert sous la
forme dun message dentr e et dun autre de r ponse.
" Lavantage essentiel des services web concerne le fait que le client
consommateur na pas besoin de conna tre lidentit du fournisseur
du service
" Le client doit simplement exprimer son besoin
" Face un besoin, plusieurs fournisseurs de services peuvent exister
" Chacun ayant des caract ristiques de co t, de performance, de
fiabilit , etc.
" Le client choisit le fournisseur (i.e. le service) correspondant le
16
mieux ses besoins.
Un service Web
Les services
" Ils sont accessibles via le web par des protocoles bien connus
" Ils interagissent via XML
" Ils sont localisables partir de registres
" Ils sont enti rement transversaux aux plates-formes et tr s
faiblement coupl s
" Un service r sout un probl me donn ,
" Les services peuvent tre combin s pour r soudre des
probl mes de plus en plus complexes,
Une architecture orient e services se focalise sur une
d composition plus abstraite dans la r solution des
probl mes. On parle de r solution dirig e par les services.
17
Un service Web
" Partage les caract ristiques suivantes dun objet
" Modulaire (ensemble de fonctionnalit s qui font sens)
" Partage les caract ristiques suivantes dun composant
" Boite noire (s paration interface/impl mentation)
" Ind pendant de la localisation
" Neutralit vis- -vis des protocoles de transport
" Les services Web sont r utilisables ind pendamment de:
" la plate-forme (UNIX, Windows,&)
" leur impl mentation (Java, C++, Visual Basic,&)
" larchitecture sous-jacente (.NET, J2EE,&)
18
Propri t s des services
1. Contrat Standardis
" Contrat entre le fournisseur de service et le consommateur de
service
" Trois types de contrat sont distinguer
1.
2.
3.
Li la syntaxe du service (op ration, messages dentr e,
messages de sortie, &)
Li la s mantique du service (d finition de r gles et de
contraintes dusage, &)
Li la qualit de service (temps de r ponse attendu,
proc dures en cas de panne, temps de reprise apr s
interruption, &)
Conditions G n rales de Vente
R glement Int rieur
Vos droits/Vos devoirs
19
in
out
Propri t s des services
2. Couplage faible
" Un service ne peut pas appeler un autre service. Il d l gue
cette fonction un traitement sp cialis dans lencha nement
(fonction dorchestration).
" Lutilisation dune orchestration vite que les services aient
besoin de conna tre les autres services
Le couplage fort rend difficile la r utilisation et accro t la complexit des
syst mes
20
Propri t s des services
Lorchestration favorise lind pendance des services et
assure que des services nappellent pas directement
dautres services
21
Propri t s des services
22
Propri t s des services
Exemple de couplage fort : Gestion de pr ts
Entit s
LoanAgent
LoanApproval
Account
Loan
Publicité
SMSGateway
calculateRisk
checkCredit
createLoan
LoanAgent est li LoanApproval et Loan
LoanApproval est li Account
Loan est li SMSGateway
sendConfirmation
23
Propri t s des services
Gestion de pr ts en couplage faible
LoanProcess
CheckAccount
Balance
Services
Calculate
LoanRisk
CreateLoan
Notify
ViaSMS
Quest ce que LoanProcess ?
Un processus m tier !
Il permet dorchestrer les services => couplage faible
24
- 24 -
Propri t s des services
3. Activation distance et interop rabilit
" Un service doit tre activable distance ind pendamment de sa
technologie
" Lactivation se fait par lenvoi (et la r ception) dun message XML
" Le service doit exposer une interface dutilisation qui est la m me
ind pendamment de sa localisation sur le r seau
" Lappel au service fonctionne quelque soit le langage et les
syst me dexploitation du consommateur (utilisateur du service)
25
Propri t s des services
" L'objet des Services Web est la communication d'application
application (A2A) sur Internet.
" Le but est de faciliter lint gration des applications d'entreprise et le
e-commerce sp cialement en "Business To Business" (B2B).
" Pour ce faire, l'architecture des Services Web doit supporter les
transactions asynchrones ("mode message") aussi bien que les
transactions synchrones ("Remote Procedure Call" ou RPC),
" Le codage des donn es est effectu en XML, ce qui conduit des
documents que l'homme et la machine peuvent interpr ter
" Les syst mes doivent tre interop rables.
26
Propri t s des services
4. Abstraction
" Fonctionnement du service dit en bo te noire
" Seul le contrat expos au consommateur du service est connue
" Le fonctionnement interne du service ne doit pas tre
visible(logique m tier et impl mentation)
" Il est par cons quent important dassurer la pr dictibilit dun
service: Pas de variation dans le comportement et dans la
r ponse dun service lors de la r ception dune requ te
27
Propri t s des services
5. D couvrabilit
" Un service doit tre accessible depuis un entrep t ou un
annuaire pour faciliter sa d couverte
" Le fournisseur de services a la charge de d poser et de mettre
jour ses services depuis lannuaire
" Le service est enrichi par un ensemble de m ta-donn es pour
faciliter la recherche du consommateur de services
28
Propri t s des services
6. Autonomie
" Un service doit disposer de lensembles des informations
n cessaires son ex cution
" Ne doit d pendre daucun service externe (couplage faible)
" Garantir lautonomie dun service permet de sassurer de sa
pr dictibilit
29
Synth se
Depuis&
&Vers&
" Orient fonctionnalit s
" Con u pour durer
" Cycle de
d veloppement long
" Orient processus
" Con u pour changer
" D veloppement et
d ploiement interactif
" Silos applicatifs
" Couplage fort
" Orient Objet
" Orchestration de
Services
" Couplage faible
" Orient message
30
Avantages
C Architecture adaptative
C R utilisation du code (Construire les services une seule fois et
les utiliser fr quemment)
C Am liorer lagilit et la flexibilit du m tier
C Faciliter la maintenabilit
C Faciliter la gestion des processus m tier
C Offrir la capacit casser les barri res organisationnelles
(silos)
C R duire en temps le cycle de d veloppement des produits
C R duire la complexit de la solution
C Garantir une int gration standardis e et le support de clients
h t rog nes
C L volutivit , permettant aux applications de greffer de
nouveaux modules afin de r pondre aux nouveaux besoins
fonctionnels
31
Limitations
Publicité
D Manque de maturit des standards
D Lenteur dex cution
D Difficile effectivement impl menter
D Les contraintes impos es dans la contractualisation
32
2
STANDARDS DES SOA
33
Standards des SOA
" Les standards sont un l ment cl dune SOA, ils assurent
linterop rabilit
SOAP
W3C
Simple Object
Access Protocol
WSDL
W3C
Web Services
Description Language
UDDI
Microsoft, IBM, HP
Universal Description
Discovery and Integration
Transport
D crit le contrat
Annuaire
34
Standards des SOA
" UDDI : Universal Desciption, Discovery and Integration peut tre vu
comme les pages blanches (ou jaunes) des services web.
" C'est un annuaire permettant des fournisseurs de pr senter leurs
services des 'clients'.
" WSDL : Web Service Description Langage est un langage reposant
sur XML dont on se sert pour d crire les services web.
" Il est indispensable UDDI pour permettre aux clients de trouver les
m thodes leur permettant d'invoquer les services web.
" SOAP : Simple Object Access Protocol est un protocole bas sur XML
et qui d finit les m canismes d' changes d'information entre les
clients et les fournisseurs de service web.
" Les messages SOAP sont susceptibles d' tre transport s en HTTP,
FTP...
35
Standards des SOA
De nombreuses normes sont utilis s dans cette architecture :
" "SOAP" pour l' change de messages
" "XML" langage de base pour d crire tous les documents sur lesquels
les messages sont construits
" "HTTP" pour transporter les messages, "WSDL" pour d crire les
services
" "UDDI" pour les publier.
" Lapproche "Services Web" constitue un changement fondamental
dans la mani re de concevoir et r aliser les applications
informatiques et de programmer les ordinateurs.
" Les standards sont un l ment cl dune SOA, ils assurent
linterop rabilit
36
Fonctionnement dun web
service
37
Standards des SOA: SOAP
" SOAP (Simple Object Access Protocol)
" Un protocole standard de communication.
" C'est l' pine dorsale du syst me d'interop rabilit . SOAP est un
protocole d crit en XML.
" Il se pr sente comme une enveloppe pouvant tre sign e et
pouvant contenir des donn es ou des pi ces jointes.
38
Standards des SOA:WSDL
" WSDL (Web Services Description Language)
" Un langage de description standard.
" C'est l'interface pr sent e aux utilisateurs.
" D crit les interface des services
" Il indique comment utiliser le service Web et comment interagir
avec lui.
" WSDL est bas sur XML et permet de d crire de fa on pr cise les
d tails concernant le service Web tels que les protocoles, les
ports utilis s, les op rations pouvant tre effectu es, les formats
des messages d'entr e et de sortie et les exceptions pouvant tre
envoy es.
39
Standards des SOA:UDDI
" UDDI (Universal Description, Discovery and Integration)
" Un standard pour la publication et la d couverte des informations
sur les services Web
" Il fournit l'infrastructure de base pour la publication et la
d couverte des services Web.
" UDDI permet aux fournisseurs de pr senter leurs services Web
aux clients.
" Afin d tre d couvert, un service doit tre publi
40
Fonctionnement dun web
service
41
Fonctionnement dun web
service
Le scenario complet
1. D finition, description du service
" On doit d crire dun point de vue informatique ce que fait le service,
la solution quil propose, ...
" La d finition est faite en WSDL au sein du fournisseur de services
(i.e. le serveur dapplications)
Publication du service
2.
" Une fois le service d finit et d crit en termes de mise en Suvre, il
peut tre d clar dans un annuaire, on parle alors de publication du
service afin de le rendre accessible aux clients.
" La publication sera effectu e au sein dun annuaire d di UDDI.
3. Recherche du service
" Le client se connecte sur un annuaire (UDDI) pour effectuer une
recherche de service.
42
Publicité
Fonctionnement dun web
service
6. Enregistrement au service web
" Une fois le service trouv par le client, ce dernier doit
senregistrer aupr s du fournisseur associ au service. Cet
enregistrement indique au fournisseur lintention du client
dutiliser le service suivant les conditions d crites dans la
publication.
7. Mise en Suvre du service
" Le client peut invoquer le service suivant les conditions
inscrites au sein de lannuaire lors de la publication du service
web ( tape 2)
43
2
ORCHESTRATION
44
Introduction
" Les Services Web sont la nouvelle vague des applications web. Ce
sont des applications modulaires, auto-contenues et auto-
descriptives qui peuvent tre publi es, localis es et invoqu es
depuis le web. Les services web effectuent des actions allant de
simples requ tes des processus m tiers complexes. Une fois quun
service web est d ploy , dautres applications (y compris des
services web) peuvent le d couvrir et linvoquer.
" Une plate-forme d'orchestration s'av re n cessaire pour cha ner
lappel plusieurs services. La solution serait dorchestrer les
services web simplement en les combinant suivant certaines
sp cifications afin dassurer leurs bonnes ex cutions.
45
Probl matique
" Des processus business de plus en plus complexes
" Plusieurs applications
" Ex cution en parall le
" Partenaires multiples
" Faisant intervenir des syst mes diff rents
" J2EE/.NET
" Besoin d volution
" Changement de partenaires
" Changement de processus
46
D finition
" Le mot orchestration est pris du contexte de la symphonie
musicale o les diff rents instruments musicaux devraient
travailler ensemble en harmonie.
" Lorchestration revient faire correspondre chaque
processus m tier un ensemble de sc narios d'encha nement
de services Web, en fonction de la logique applicative
mettre en Suvre tout en assurant:
" La succession des t ches
" Le contr le de la bonne ex cution
" Les reprises en cas dincident&
47
D finition
" Un processus m tier d crit des interactions entre des agents
(personnes, services, organisations) et des syst mes
dinformation (logiciels, sous-syst mes). Les diff rentes entit s
qui interagissent dans un processus donn sont les
participants de ce processus. Le processus m tier est
d termin par un objectif pr cis : produire une facture
dachat de fournitures, diter un catalogue lectronique, etc.
" Un processus m tier, dans le domaine des services web :
" Repose sur la coop ration entre applications participantes
" Peut tre de courte ou de longue dur e
" Peut chouer partiellement et d clencher des situations
48
dexception
Fonctionnalit s
" Orchestrer: Invoquer, contr ler et coordonner un ensemble
dactivit s afin den restituer une liste ordonn e dappels de services
web.
" Correspondre chaque processus m tier un ensemble de sc narios
dencha nement de services Web
" Prendre en charge lassemblage des services, la conservation des
encha nement des services web d couverts, leur synchronisation
" Processus intra entreprise :
" Processus inter services
" Processus inter syst mes
" Etc.&
" Processus inter entreprise :
" Relations fournisseurs
" Grande distribution
" Administrations
" Etc.&
49
Exemple
50
Avantages
" Interop rabilit
" S parer la logique processus de la logique application
" Applications Business changent tr s peu
" Possibilit de changer le processus sans impact sur les
applications
" Agilit de lentreprise
" Pr senter le processus comme un service
" Invisible pour lutilisateur
" Gestion de la s curit
51
Conclusion
" Les outils d'orchestration agissent comme des tours de contr le qui
appellent successivement diff rents services Web selon un sc nario
donn .
" Les outils de d veloppement de sc nario et d'orchestration sont
donc indissociables pour le moment.
" La mise en oeuvre, l'ex cution et la gestion de la logique
d'orchestration se r v lent complexes et impliquent un ensemble de
besoin en terme d'infrastructure
52