SOA - CH 1 - Introduction PDF
SOA - CH 1 - Introduction PDF
SOA - CH 1 - Introduction PDF
Fahem KEBAIR
1.
Introduction
Larchitecture oriente service (SOA) sest impose aujourdhui comme un thme majeur
pour les systmes dinformation dentreprise. Plus quune nouvelle technologie ou mthode,
cest la convergence de plusieurs approches existantes, et lmergence dun style
darchitecture et de gouvernance de SI.
Dans ce chapitre, nous prsentons les raisons qui ont pouss lapparition de cette
architecture travers une vision gnrale et historique des architectures des SI.
Architecture client/serveur
Grce aux services, les applications peuvent tre vues comme un ensemble de services
mtiers, structurs et correctement dcrits, dialoguant selon un standard international plutt
qu'un ensemble d'objets et de mthodes entremls.
Le premier bnfice de ce dcoupage est la facilit de maintenance de l'application, ainsi
que l'interoprabilit permettant de modifier facilement un composant (un service) pour le
remplacer par un autre, ventuellement dvelopp par un tiers. Qui plus est, les services
permettent de rduire la complexit d'une application car le dveloppeur peut se focaliser sur
un service, indpendamment du reste de l'application.
Les services web facilitent non seulement les changes entre les applications de l'entreprise
mais surtout permettent une ouverture vers les autres entreprises. Les premiers fournisseurs de
services web sont ainsi les fournisseurs de services en ligne (mto, bourse, planification
d'itinraire, pages jaunes, etc.), mettant disposition des dveloppeurs des API (Application
Programmable Interface) payantes ou non, permettant d'intgrer leur service au
sein d'applications tierces.
Voici les diffrents aspects caractrisant les services :
Contrat standardis
Un contrat est tabli entre le fournisseur de service et le consommateur de service. On
distingue trois types de contrat :
Le service sappuie sur des standards dinteroprabilit pour faciliter le dialogue (exemple :
WSDL).
Couplage lche
Lune des caractristiques principales de larchitecture SOA cest quelle garantit un couplage
lche entre ses composants. En effet, lchange entre le fournisseur de service et le
consommateur doit se faire travers des messages (couplage lche vis--vis de son
environnement). Larchitecture utilise ainsi un orchestrateur afin dviter que les services
aient besoin de connatre les autres services.
Couplage fort
Couplage lche
3
Abstraction
Le contrat du service ne doit contenir que les informations pertinentes son invocation. On
peut ainsi assimiler le fonctionnement du service en bote noire , o seul le contrat expos
au consommateur du service est connue et que le fonctionnement interne du service, cest-dire la logique mtier et limplmentation, ne doit pas tre visible. Il est par consquent
important dassurer la prdictabilit dun service, cest--dire viter quil y ait des variations
dans le comportement et dans la rponse dun service lors de la rception dune requte.
Rutilisabilit / Dcouvrabilit
Un service doit tre accessible depuis un entrept ou un annuaire pour faciliter sa dcouverte.
Cest le fournisseur de services qui a la charge de dposer et de mettre jour ses services
depuis lannuaire. Le service est enrichi par un ensemble de mta-donnes pour faciliter la
recherche du consommateur de services. La publication sappuie sur des standards (UDDI,
ebXML). Le service est aussi conu afin quil puisse tre rutilis.
Autonomie / Sans tat
Un service doit disposer de lensembles des informations ncessaires son excution. Il ne
doit dpendre donc daucun service externe (couplage lche). Il doit tre aussi autonome ce
qui permet dassurer sa prdictabilit. Un service doit tre sans tat de faon minimiser la
consommation de ressources.
Composabilit
Un service doit fonctionner de manire modulaire et non pas intgre. Il faut ainsi assurer la
dcomposition dun service complexe en sous services plus simples entre eux (garantie
lautonomie), cette dcomposition est par la suite gre par un orchestrateur (couplage lche).
Lorchestration favorise ainsi lindpendance des services et assure que des services
nappellent pas directement dautres services.
3. Services WEB
1. Rponse aux SOA
Les Services Web sont actuellement lalternative la plus courante et la plus vidente pour
concevoir des architecture SOA. Ce sont en effet des composants qui sont bass sur les
protocoles et les langages du Web : HTTP, XML, TCP/IP pour la couche rseau. Leur grand
avantage est donc quils ne ncessitent pas une configuration rseau particulire. Ils ont la
particularit aussi dtre auto-suffisants puisquils contiennent toutes les informations leurs
utilisations, la fois pour leur recherche, publication et consommation. Pour cela ils disposent
dlments essentiels comme les annuaires et les contrats qui dcrivent leur fonctionnement et
qui permettent ainsi aux clients de les consommer. Plusieurs standards ce sont mis la
dfinition des Services Web, on cite les plus importants : W3C, OASIS, WS-I et IETF.
Les Services Web sont modulaires de faon ce quune application doit tre dcompose en
un ensemble de services. Ces derniers sont grs et synchroniss grce un orchestrateur.
2. Technologies disponibles
Deux familles de Services Web se distinguent actuellement :
Services Web tendues : ils sappuient sur des standards UDDI / WSDL / SOAP.
Ils possdent des annuaire de Services Web de type UDDI afin de permettre leur
publication et leur recherche, sappuient sur des contrat de type WSDL pour dcrire leur
fonctionnement et sur le protocole SOAP pour envoyer les messages.
Services Web REST (Representational State Transfer) : dfini par la thse de Roy
Fielding en 2000. Il utilise directement HTTP au lieu dutiliser une enveloppe SOAP et
ceci grce lutilisation des URI afin de nommer et identifier une ressource. Des
mthodes HTTP (POST, GET, PUT et DELETE) sont utilises pour effectuer les
oprations de base CRUD.
WSDL
Interrogation de lannuaire
UDDI pour rechercher des
contrats WSDL suivant des
critres spcifique
Consommateur
du Service
Fournisseur
du Service
Ci-dessous la pile des standards utiliss pour dvelopper et excuter des Services Web
tendus :
Orchestration
Qualit de Service
Fiabilit
(WS-RM)
WSD, UDDI
Message
Transport
Transaction
(WS-Transactions)
Qualit de Service
WADL, ATOM,
Message
Transport
HTTP, FTP