Vous êtes sur la page 1sur 42

Architectures

Orientes
Services
12/05/2014 1 MASTER ISI2 Cours SOA
Avant-propos.
SOA : une varit de vision
Principal le service soit russi et apporte
entire satisfaction en premier : au client et en
second : au fournisseur ?
Thorie dogmatique du service en labsence de
vritable spcification sur la notion
darchitecture oriente services, celle-ci peut
tre vue sous diffrents angles qui ne sont
aucunement antinomiques.
12/05/2014

MASTER ISI2 Cours SOA
1. Introduction
2. Quelles mthodologies pour la SOA ?
3. Patterns darchitecture fonctionnelle
4. Patterns darchitecture technique..
5. SOA et les Web Services
6. Conclusion
12/05/2014

MASTER ISI2 Cours SOA
1. Introduction
1.1 SOA, larchitecture ultime des entreprises
agiles ?
1.2 Quest ce quun service ?
1.2.1 Un service rend un service
1.2.2 Plusieurs types de consommateurs de
services
1.2.3 Typologie de services
1.3 Le double enjeu SOA : rutilisation et
interoprabilit
1.4 Les gains dune architecture SOA

12/05/2014

MASTER ISI2 Cours SOA
1.1 SOA, larchitecture ultime des
entreprises agiles
Les SI ne sont pas stables, au contraire,
ils voluent constamment , derrire cette
vidence se dissimule une des principales
motivations de la SOA.
Raisons de lvolution constante
des SI sont multiples :
12/05/2014

MASTER ISI2 Cours SOA
Evolutions des organisations :
Evolution organisationnelle sont varies ;
internes, par exemple par la cration de
filiales ou de nouvelles implantations
gographiques, la restructuration des
organisations en place (centralisation des
achats, des ressources humaines, ),
externes, Coopration, fusion ou
dacquisition de socits.

12/05/2014

MASTER ISI2 Cours SOA
volutions rglementaires :
Les volutions des rglementations
impact sur le SI (tlcommunications,
nergie, transport, ), programme de
dcentralisation des services de lEtat.
Autant dobligations rglementaires qui
obligent repenser - plus ou moins
douloureusement les SI.

12/05/2014

MASTER ISI2 Cours SOA
Evolutions mtier :
Principalement la raction face la concurrence
et lvolution de lactivit : mise en oeuvre
dune gestion de la relation clients ou
fournisseurs, distribution de services produits
par des partenaires (services bancaires,
services multimdia, ) ou de bouquets de
services panneaux de distribution.
Evolutions du mtier les processus et donc le
SI, ceci dautant plus si elles saccompagnent
de la mise en uvre outils un progiciel
12/05/2014

MASTER ISI2 Cours SOA
Evolutions technologiques :
Matire premire des SI. Que ce soit lvolution
des produits diteurs, des modles
darchitecture (mainframe, client-serveur,
ntiers, ), des paradigmes de
programmation et leurs langages associs
(Cobol, C++, Java,.NET, ), les impacts sur
le systme dinformation sont nombreux et se
traduisent par des efforts dintgration entre
socles technologiques htrognes.
12/05/2014

MASTER ISI2 Cours SOA
Matrise des cots :
Toute entreprise vise rduire, ou du moins
matriser, ses cots ? Cette requte est souvent
faite aux directions des systmes dinformation qui
y rpondent gnralement par des projets de
rationalisation de linfrastructure (poste de travail
unifi, socle ditique commun, ).
Quand un systme, informatique ou non, est amen
voluer de manire certaine, lexigence naturelle
qui lui est demande est dtre conu pour faciliter
(ou au moins prvoir) les volutions.

12/05/2014

MASTER ISI2 Cours SOA
Lagilit du systme est une exigence majeure.
Tout dcideur dsire pas,, disposer dun SI Agile
permettant dadapter ses processus mtier dans les
meilleurs dlais ?
Slogan Avec SOA, rendez votre SI plus agile .
Fini donc les projets ~~, phases dintgration difficile,
SOA tout devient plus fluide, de lexpression de besoin au
dploiement en production.
Adresser la problmatique de lvolutivit du SI sous
langle de larchitecture est ncessaire mais non suffisant.
une architecture modulaire vaut mieux quune
architecture compose de blocs monolithiques ; certes, la
standardisation autour des Web Services participe
linteroprabilit. Cependant, lagilit dune entreprise
dpend tout autant de lagilit de son S Informatique que
de lagilit des organisations qui la composent, SI
12/05/2014

MASTER ISI2 Cours SOA
Comment changer des services entre applications si
les organisations sous-jacentes sont cloisonnes ?
Est-il possible denvisager la mise en uvre de processus
mtier transverses entre organisations souveraines ?
Autant de questions qui rappellent que larchitecture du
SI relve de lorganisation de lentreprise, et non
linverse.
la valeur dune architecture SOA se situe bien
videmment au niveau de la rutilisation de services
mais aussi et surtout au niveau de linteroprabilit,
aspect souvent oubli par les promoteurs
Aborder les aspects organisationnels et
mthodologiques lis une dmarche SOA
personnaliss.
12/05/2014

MASTER ISI2 Cours SOA
1.2 Quest ce quun service ?
1.2.1 Un service rend... un service
Service contrat de service. Un service se doit dassurer
stabilit et assurance dans laction qui lui est demande
et quil effectue. Il assure par ce biais un contrat
dinterface et une qualit de service, ces deux aspects
forment le contrat de service.
Le contrat de service porte tout dabord sur le traitement
demand et son intgrit. le traitement associ un
service, ~~ plusieurs oprations. Par exemple, un service
de gestion de client pourra tre constitu des oprations
creerClient, modifierClient, rechercherClient et
supprimerClient. Le contrat de service comprend donc
avant tout un contrat dinterface, qui doit tre stable dans
le temps.
savoir-faire des responsables de production :
12/05/2014

MASTER ISI2 Cours SOA
La qualit de service : la disponibilit (taux de
disponibilit, temps maximum dindisponibilit,
service de secours ), la ractivit (temps de
rponse), le support dun mode dgrad
(traitement en diffr des requtes reues pendant
la priode dindisponibilit du service).

Les caractristiques gnrales dutilisation : la
volumtrie supporte, la scurisation du service
(niveau dauthentification et dhabilitation
demands), les conditions de facturation, le mode
opratoire pour le changement de version du
service, le support aux clients ,
12/05/2014

MASTER ISI2 Cours SOA
service :. Synonymes administration, aide, assistance, bien,
charit, concours, coopration, dpartement, direction,
domesticit, grce, office, pourboire, secours, travail, utilit,
appui, soutien.
Le mot "service" revient souvent dans le langage juridique,
administratif ou fiscal. Il caractrise l'objet d'une prestation
personnelle. Ainsi le Code civil nomme le contrat de travail
comme tant un "louage de service". Une banque, une
entreprise de transport, une entreprise de spectacles, sont des
entreprises de services. Le service ne suppose pas
ncessairement une subordination de celui qui le rend par
exemple les avocats, les avous et plus gnralement les
personnes exerant une profession librale, ne sont pas les
salaris de leur clients, ils sont lis ces derniers par un contrat
de mandat. Le service s'excute le plus souvent contre le
versement d'un salaire, d'un prix, d'une cotisation ou d'un
honoraire, mais il peut aussi tre bnvole.

12/05/2014

MASTER ISI2 Cours SOA
Figure 1 Service et contrat de service
12/05/2014

MASTER ISI2 Cours SOA
1.2.2 Plusieurs types de consommateurs de services
Un service a pour vocation initiale lexposition de traitements.
De cette manire, un service va pouvoir tre utilis par
plusieurs types de consommateurs.
Ex : traitements interactifs et diffr
Par ailleurs, un service pourra galement tre
invoqu par un autre service.
12/05/2014

MASTER ISI2 Cours SOA
Figure 2 - Plusieurs types de consommateurs de
services
12/05/2014

MASTER ISI2 Cours SOA
1.2.3 Typologie de services
Deux caractristiques dun service : sa nature (mtier
ou infrastructure) et sa granularit.
Nature de services : services mtier et services
dinfrastructure
Les services mtier : ces services correspondent
des fonctionnalits mtier. Cela va des services de
fine granularit comme des fonctionnalits de calcul
fondes sur des rgles mtier, par exemple une
conversion de devise, jusqu des fonctionnalits de
plus grosse granularit encapsulant un
processus mtier comme une demande de prt
bancaire.

12/05/2014

MASTER ISI2 Cours SOA
Les services dinfrastructure ou services
supports : ces services regroupent un ensemble de
fonctionnalits transverses au SI utilises par les
services mtier. La gestion des utilisateurs, un socle
mutualis dintgration ou dditique font partie de
cette catgorie.
Diffrents niveaux de granularit . Ainsi, sur la gestion
des utilisateurs, nous retrouverons des
fonctionnalits de fine granularit (rcupration dun
identifiant utilisateur, cration dune session, ...) et de
grosse granularit (cration dun utilisateur qui
ncessite laccs plusieurs systmes, ressources
humaines, ).
12/05/2014

MASTER ISI2 Cours SOA
Fig 3 - banalisation des services mtier
12/05/2014

MASTER ISI2 Cours SOA
Granularit de service
Le concept de granularit de service est essentielle et servira de
principe structurant . Il existe des services de fine granularit
(rgles mtier, fonction de calcul, fonction daccs) et des
services de grosse granularit (gestion utilisateur, gestion de
comptes).
Grosse granularit (services globaux) : ces services exposent
la valeur dun SI(ou encore dun bloc applicatif) lextrieur de
ses frontires, en masquant la complexit de la logique interne.
associs un cas dutilisation (use case UML) qui possde une
valeur ajoute intrinsque pour le consommateur. Dans le cas
de services mtier, il sagit gnralement dactivits gnratrices
de revenu pour lentreprise (ex. Souscription Contrat ) et
dans le cas de services dinfrastructure, il sagit dactivits
engendrant des conomies dchelle (ex. gestion centralise
des comptes et droits des utilisateurs).

12/05/2014

MASTER ISI2 Cours SOA
Les services de fine granularit (services unitaires) :
les services unitaires ne supportent pas de cas
dutilisation, ils ne sont pas vendeurs par eux-mmes
. Ce sont des fonctionnalits lmentaires qui
trouvent leur valeur dans la rutilisation, que lon soit
au niveau dune application (composant logiciel
commun) ou entre applications (service partag entre
applications du SI). Dans le cas de services mtier, il
sagit typiquement de rgles mtier (ex. calcul de
taux), consultation de rfrentiels (ex. existence dun
client) et dans le cas de services dinfrastructure, de
fonctionnalits techniques rutilisables
12/05/2014

MASTER ISI2 Cours SOA
Figure 4 - Matrice de caractrisation des services

12/05/2014

MASTER ISI2 Cours SOA
Le terme SOA est apparu en 1996.
Service-oriented architecture (SOA) is a client/server software
design approach in which an application consists of software
services and software service consumers (also known as clients
or service requesters). SOA differs from the more general
client/server model in its definitive emphasis on loose coupling
between software components, and in its use of separately
standing interfaces.
Le Gartner utilise le terme Composite Application , cette
dfinition est oriente construction dapplication. Vu sous langle
de la granularit de services, ce sont principalement des
services unitaires qui sont concerns et la problmatique est
celle de la rutilisation de services.
Services dinfrastructure : sans valeur mtier mais que chaque
application doit invitablement mettre en uvre pour ses
besoins propres (scurit, ditique, changes, ).

12/05/2014

MASTER ISI2 Cours SOA
Services mtier de fine granularit : quil sagisse de la
rutilisation de composants logiciels au sein dune
application ou de linvocation dun Web Service transverse
de type Validation dadresse , la rutilisation de tels
services vite la duplication de code entre applications
services mtier gros grain , porte sur la capacit de ces
services interoprer avec les autres blocs de SI qui vont
en tre consommateurs : interoprabilit
Ce double enjeu de la SOA, rutilisation et interoprabilit,
peut tre ainsi reprsent Figure 5.
En conclusion dfinition suivante dune architecture
oriente services.
12/05/2014

MASTER ISI2 Cours SOA
Figure 5 - Interoprabilit et rutilisation de services

12/05/2014

MASTER ISI2 Cours SOA
Un service tant un composant darchitecture rendant une
fonctionnalit tout en respectant un contrat de service, mettre en
uvre une architecture oriente services consiste structurer
une application, un bloc applicatif voire le SI, en services
contractualiss afin dadresser les enjeux suivants :
- la mise en uvre de services globaux entre blocs applicatifs,
en sinscrivant dans une politique dinteroprabilit,
- la recherche de la rutilisation lintrieur dun bloc
applicatif ou dune application, en particulier au niveau des
services dinfrastructure ou des services mtier unitaires, en
sinscrivant dans une politique de rutilisation.
- Les gains dune architecture SOA peuvent tre de natures
diffrentes selon les points de vue des acteurs, quil sagisse du
mtier, des fonctions de support ou des tudes informatiques.

12/05/2014

MASTER ISI2 Cours SOA
Gains pour le mtier : profitabilit travers des services
mtier. Ces gains sont induits par les services globaux
qui exposent la valeur mtier du SI. Dun point de vue
concret, ces services ont pour vocation la gnration de
chiffre daffaires au travers de la vente de produits ou de
services. La ractivit face aux diffrents types
dvolution est amliore au travers de la matrise des
processus transverses (ex. mise sur le march dune
offre multi produits par intgration de diffrents services
produit unitaires). En outre, lintgration avec des
partenaires externes est simplifie par la capacit
exposer des services standard de haut niveau (ex. un
service de passage de commande, service de
synchronisation de rfrentiel client).

12/05/2014

MASTER ISI2 Cours SOA
Gains pour les services support du SI : ralisation dconomies
dchelle. Ces gains sont induits par des services dinfrastructure
globaux, qui encapsulent des processus support comme un
processus de gestion des comptes et des droits des employs
au niveau des applications, dclench lors de larrive ou du
dpart dun employ. Un tel service permet de rduire les cots
de fonctionnement du SI et cela dautant plus que le service
concerne une large population dutilisateurs et un large primtre
dapplications.
Gains pour les projets : augmentation de la productivit des
tudes. Si lutilisation de standards dinteroprabilit facilite les
phases dintgration des projets, limpact dune dmarche SOA
sur la productivit des quipes informatiques est d
principalement la politique de rutilisation de services :
-
12/05/2014

MASTER ISI2 Cours SOA
- La rutilisation de code entre applications, en particulier pour
les services techniques (ex. scurit, changes, impressions,
supervision), permet de factoriser ces dveloppements entre
les diffrentes quipes projet dune DSI.
- La rutilisation de composants au niveau dune application (ex.
couche daccs aux donnes, couche de services mtier
unitaires partags entre une chane batch et une chane
transactionnelle), permet de factoriser les dveloppements au
niveau dun plateau projet.
- La rutilisation de batteries de tests (unitaires, intgration),
associes des composants logiciels ou services rutiliss
permet dacclrer les phases de tests en vitant de redfinir
et redvelopper les tests de ces composants.
Ces diffrents types de gains sont reprsents sur la Figure 6.

12/05/2014

MASTER ISI2 Cours SOA
Figure 6 - Gains dune architecture oriente services
12/05/2014

MASTER ISI2 Cours SOA
Ces gains sont soumis plusieurs conditions.
Tout dabord, ces gains sont donns titre dindication pour une
sensibilisation aux types de gains potentiels dune SOA. Il
conviendra de complter et daffiner ces gains en fonction du
contexte et de lexistant de lentreprise.
Une approche purement technique nest pas suffisante pour
justifier ces gains. Il est ncessaire daborder les enjeux par
une relle tude dopportunit, prenant en compte les
volets organisationnels, financiers et architecturaux.
Il sagira notamment de faire preuve dune grande lucidit sur la
faisabilit dune AOS, en identifiant les cots et dlais
ncessaires lexposition de services et les impacts sur les
quipes en place (ex. cots et dlais de refactoring du
code legacy, cots en architecture systme pour assurer la
qualit de service demande).

12/05/2014

MASTER ISI2 Cours SOA
2. Quelles mthodologies pour la SOA ?
Dmarche SOA au niveau dune application : ne
changez rien !
2.2 Dmarche SOA au niveau dun SI : descendante,
ascendante ?
2.3 Dmarche propose SOA au niveau du SI
2.4 Patterns organisationnels
2.4.1 Pattern Communaut
2.4.2 Pattern Cellule Transverse
2.5 Les patterns darchitecture SOA.
2.5.1 Patterns darchitecture fonctionnelle
2.5.2 Patterns darchitecture technique
12/05/2014

MASTER ISI2 Cours SOA
2. Quelles mthodologies pour la SOA ?
RUP, XP, SADT, RAD, MERISE, ces acronymes sont familiers
bon nombre dinformaticiens. Quen est-il dans une
approche SOA ?
Au niveau dune application (ou dun bloc) ou au niveau dun
SI .
1- la problmatique SOA est centre sur la politique de
rutilisation de services unitaires au niveau de
lapplication,
2- la problmatique est centre sur la politique
dinteroprabilit entre services globaux du systme
dinformation. De plus, la faon de construire une
application est fondamentalement diffrente de la faon de
construire et faire voluer un systme dinformation. La
diffrence entre les deux tient la diffrence dhomognit.

12/05/2014

MASTER ISI2 Cours SOA
Pour toutes ces raisons, les applications sont qualifies
dhomognes et de rationnelles, au contraire des systmes
dinformation. Ceux-ci font preuve dune nature beaucoup plus
htrogne, (quipes projet mtier ddies), des technologies
htrognes (ex. mainframe, Unix, progiciels et
dveloppements spcifiques), des rythmes dvolution
diffrents (ex. back-office stable, systme de distribution en
cycle dvolution court), des domaines mtier multiples
induisant des modles de donnes et des logiques de
traitement diffrents. Pour ces raisons,
les SI sont qualifis dhtrognes et dorganiques.
A la lumire de ces diffrences, il apparat utopique, voire
contre-productif, dappliquer aux systmes dinformation les
recettes issues des applications, quelles soient
mthodologiques ou organisationnelles. #dmarches
diffrentes selon le niveau de granularit.
12/05/2014

MASTER ISI2 Cours SOA
Au niveau application, la problmatique rencontre est
principalement celle de la rutilisation de services unitaires. Dans
ce cas, la meilleure mthodologie est celle utilise
habituellement,.
2.2 Dmarche SOA au niveau dun SI : top-down, bottom-up ?
Mises part de rares exceptions, les systmes dinformation sont
composs de blocs applicatifs htrognes tant du point de vue
fonctionnel, technologique quorganisationnel. Linteroprabilit
apparat donc comme une ncessit majeure. Face cette
ncessit deux approches saffrontent, lapproche lgaliste et
lapproche organique.
Architecture Oriente Services (SOA) - Une politique de
linteroprabilit
12/05/2014

MASTER ISI2 Cours SOA
Approche Lgaliste Top Down Approche Organique
12/05/2014

MASTER ISI2 Cours SOA
Choix ? Approche organique pour, principalement, deux raisons :
Le caractre utopique de lapproche lgaliste : lapproche lgaliste, si
elle est intellectuellement sduisante et thoriquement idale, doit faire
face plusieurs difficults.
- Tout dabord, la capacit apprhender un SIdans sa globalit. Est-il
raisonnable de vouloir disposer dune vision complte et dtaille de
celui-ci (ex. banque, ministre) ? La dmarche de cartographie souvent
mise en avant est intressante si lon demeure un niveau de
granularit >. En revanche, la pousser un niveau de granularit trop fin
engendre cots de maintenance. Mieux vaut une cartographie > mais
jour quune cartographie fine obsolte !
- Approche difficile dans un contexte ou certains blocs applicatifs sont
stables et ncessiter peu dagilit (ex. ressources humaines, back-office,
facturation) alors que dautres vont tre en perptuelle volution (ex.
distribution)
- Enfin, du point de vue organisationnel, les blocs fonctionnels sont gnt
grs par des quipes # distribues gographiquement.
12/05/2014

MASTER ISI2 Cours SOA
La recherche de gains rapides pour les projets mtier :
lobjectif dune architecture, est dtre au service du mtier
et pas uniquement des urbanistes et des architectes.
Une dmarche organique : chaque projet rpond ses
propres besoins sans vision densemble amne trs
rapidement le SI dans un tat de dsordre difficilement
rversible et prjudiciable son volutivit. Leffort
dintgration de tout nouvel ouvrage dans le SI devient
alors un cauchemar :
Syndrome spaghetti au niveau des changes, duplication
des rfrentiels, divergence des modles de donnes,
Le meilleur ntant jamais au niveau des extrmes, =
dmarche conciliant les deux visions :
12/05/2014

MASTER ISI2 Cours SOA












Figure 9 - Dmarche darchitecture au niveau SI

12/05/2014

MASTER ISI2 Cours SOA
Nous voyons que notre dmarche ne prsuppose pas de
lexistence dun plan quinquennal. Elle demeure nanmoins
tout fait compatible avec un pilotage stratgique du systme
dinformation, dans le respect des priorits mtier (temps court
des projets) et des priorits de la DSI (temps long de la
gouvernance du systme dinformation).
Cette dmarche fait un usage intensif du concept de pattern
, cest--dire de la bonne pratique organisationnelle,
fonctionnelle, ou technique dj prouve dans le systme
dinformatique. Nous allons donc maintenant aborder cette
partie essentielle de notre Livre Blanc, qui se concentre sur
les patterns centrs sur la problmatique dinteroprabilit,
donc de la SOA.
12/05/2014

MASTER ISI2 Cours SOA