Introduction aux SOA

Page 1 sur 8Lecteur de document UniversityLib

Introduction aux SOA

Service-Oriented Architecture (SOA) in Information Systems · lab

Browse all génie logiciel documents

Minist re de le nseignement Sup rieur et de la Recherche scientifique

Universit Virtuelle de Tunis

D veloppement Orient Services

Introduction aux SOA

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

1. Introduction

Larchitecture orient e service (SOA) sest impos e aujourdhui comme un th me majeur pour

les syst mes dinformation dentreprise. Plus quune nouvelle technologie ou m thode, cest la

convergence de plusieurs approches existantes, et l mergence dun style darchitecture et de

gouvernance de SI.

Dans ce chapitre, nous pr sentons les raisons qui ont pouss lapparition de cette architecture

travers une vision g n rale et historique des architectures des SI.

2. Des architectures distribu es classiques, vers une architecture SOA

1. Architectures base de composants

Une application distribu e est d finie par un ensemble de composants qui collaborent pour

lex cution de t ches communes. Ces composants sont des objets logiciels h t rog nes, cr es

pour interagir avec dautres composants, distants g ographiquement et interconnect s via un

r seau de communication, et qui encapsulent certaines fonctionnalit s ou un ensemble de

fonctionnalit s.

Lobjectif de ling nierie des logiciels base de composants tait daugmenter la productivit ,

la qualit et la r ponse aux demandes du march dans les meilleurs d lais gr ce

lautomatisation et la standardisation de la production. Plusieurs solutions ont fait leur preuve :

DCOM, CORBA, EJB, RMI, .NET Remoting, & Cependant ses solutions pr sentent des

faiblesses, notamment au niveau de la repr sentation des donn es qui est souvent sp cifique,

linterop rabilit qui nest garantie que lorsque les composants utilisent la m me solution et la

n cessit dune configuration r seau cause de lusage de protocoles de transport sp cifiques.

2. Evolution des architectures distribu es

Les applications distribu es ont volu au cours du temps suivant les besoins des entreprises et

l volution des technologies. On est pass donc, de simples applications avec une architecture

client/serveur, puis des architectures fond es sur les applications web, jusquaux architectures

SOA.

1

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

Architecture client/serveur

Architecture fond e sur les

applications web

Architecture orient e services

Les applications distribu es ont t con ues au d part selon larchitecture client/serveur. C tait

des applications intra-entreprise, limit es un sous ensemble de langages de programmation

souvent proc duraux. Afin de garantir lefficacit et la rapidit du traitement, ces applications

taient fortement coupl es et sappuyaient sur des protocoles de transport propri taires.

Avec lexpansion de lInternet, les applications web sont apparues, avec comme grande

particularit leur ouverture. Il est ainsi permis un utilisateur dinteragir directement avec le

programme et ce sans contrainte g ographique. Ces applications, ayant un service monolithique,

sappuyaient sur un r f rencement via des annuaires de sites non standardis s.

Advertisement

Les architectures SOA sont venues donc pour pallier aux lacunes des applications distribu es

pr c dentes. Leur principe est fond sur le fait que des programmes informatiques, con us avec

des technologies diff rentes et tournant sur des OS diff rents, peuvent interagir entre eux et ce

sans se conna tre gr ce des annuaires standardis s. Les architectures SOA exploitent

pleinement les atouts de lapproche orient objet avec une d composition des services en sous

services avec possibilit de r utilisation.

3. Architectures SOA : Principes et Motivations

SOA (Service Oriented Architecture) est un style darchitecture organis partir de services

m tiers communs mutualis s pour un ensemble de lignes m tiers ou dapplications.

SOA is an approach to designing software that dissolves business applications into separate

services that can be used independent of the applications of which theyre a part and

computing platforms on which they run.

Le Service (ou Composant) d signe le fondement de ce mod le dinteraction entre applications.

Le paradigme SOA est bas sur la publication, la recherche et la consommation, comme le

montre la figure ci-dessous :

Jay DiMare, IBM Global Services, 2006

2

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

Quest-ce quun service ?

Un Service est un composant logiciel distribu , exposant les fonctionnalit s forte valeur

ajout e dun domaine m tier

Gr ce aux services, les applications peuvent tre vues comme un ensemble de services m tiers,

structur s et correctement d crits, dialoguant selon un standard international plut t qu'un

ensemble d'objets et de m thodes entrem l s.

Le premier b n fice de ce d coupage est la facilit de maintenance de l'application, ainsi que

l'interop rabilit permettant de modifier facilement un composant (un service) pour le

remplacer par un autre, ventuellement d velopp par un tiers. Qui plus est, les services

permettent de r duire la complexit d'une application car le d veloppeur peut se focaliser sur

un service, ind pendamment 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 (m t o, bourse, planification

d'itin raire, pages jaunes, etc.), mettant disposition des d veloppeurs des API (Application

Programmable Interface) payantes ou non, permettant d'int grer leur service au sein

d'applications tierces.

Voici les diff rents aspects caract risant les services :

Contrat standardis

Un contrat est tabli entre le fournisseur de service et le consommateur de service. On distingue

trois types de contrat :

" 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, &).

Le service sappuie sur des standards dinterop rabilit pour faciliter le dialogue (exemple :

WSDL).

Couplage l che

Advertisement

3

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

Lune des caract ristiques principales de larchitecture SOA cest quelle garantit un couplage

l che entre ses composants. En effet, l change entre le fournisseur de service et le

consommateur doit se faire travers des messages (couplage l che vis- -vis de son

environnement). Larchitecture utilise ainsi un orchestrateur afin d viter que les services

aient besoin de conna tre les autres services .

Couplage fort

Couplage l che

Abstraction

Le contrat du service ne doit contenir que les informations pertinentes son invocation. On peut

ainsi assimiler le fonctionnement du service en bo te noire , o seul le contrat expos au

consommateur du service est connue et que le fonctionnement interne du service, cest- dire la

logique m tier et limpl mentation, ne doit pas tre visible. Il est par cons quent important

dassurer la pr dictabilit dun service, cest- -dire viter quil y ait des variations dans le

comportement et dans la r ponse dun service lors de la r ception dune requ te.

R utilisabilit / D couvrabilit

Un service doit tre accessible depuis un entrep t ou un annuaire pour faciliter sa d couverte.

Cest le fournisseur de services qui 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. La publication sappuie sur des standards (UDDI, ebXML). Le

service est aussi con u afin quil puisse tre r utilis . Autonomie / Sans tat

Un service doit disposer de lensemble des informations n cessaires son ex cution. Il ne doit

d pendre donc daucun service externe (couplage l che). Il doit tre aussi autonome ce qui

permet dassurer sa pr dictabilit . Un service doit tre sans tat de fa on minimiser la

consommation de ressources.

Composabilit

Un service doit fonctionner de mani re modulaire et non pas int gr e. Il faut ainsi assurer la

d composition dun service complexe en sous services plus simples entre eux (garantie

lautonomie), cette d composition est par la suite g r e par un orchestrateur (couplage l che).

Lorchestration favorise ainsi lind pendance des services et assure que des services nappellent

pas directement dautres services.

4

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

3. Services WEB

1. R ponse 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 bas s sur les

protocoles et les langages du Web : HTTP, XML, TCP/IP pour la couche r seau. Leur grand

avantage est donc quils ne n cessitent pas une configuration r seau particuli re. Ils ont la

particularit aussi d tre auto-suffisants puisquils contiennent toutes les informations leurs

utilisations, la fois pour leur recherche, publication et consommation. Pour cela ils disposent

d l ments essentiels comme les annuaires et les contrats qui d crivent leur fonctionnement et

qui permettent ainsi aux clients de les consommer. Plusieurs standards ce sont mis la d finition

des Services Web, on cite les plus importants : W3C, OASIS, WS-I et IETF.

Advertisement

Les Services Web sont modulaires de fa on ce quune application doit tre d compos e en un

ensemble de services. Ces derniers sont g r s et synchronis s gr ce 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

poss dent des annuaires de Services Web de type UDDI afin de permettre leur publication

et leur recherche, sappuient sur des contrats de type WSDL pour d crire leur

fonctionnement et sur le protocole SOAP pour envoyer les messages.

" Services Web REST (Representational State Transfer) : d fini par la th se de Roy

Fielding en 2000. Il utilise directement HTTP au lieu dutiliser une enveloppe SOAP et

ceci gr ce lutilisation des URI afin de nommer et identifier une ressource. Des

m thodes HTTP (POST, GET, PUT et DELETE) sont utilis es pour effectuer les

op rations de base CRUD.

3. Services Web tendus

Les Services Web tendus reposent sur une trilogie de fonctions qui sont : la publication, la

recherche et la consommation. Ces fonctions se basent sur les standards suivants :

  • UDDI : pour la d couverte dun Service Web dans un annuaire
  • WSDL : pour la description dun Service Web (le contrat)

5

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

  • SOAP : pour lenvoi messages, le protocole HTTP est le plus souvent utilis pour le

transfert, mais dautres protocoles sont possibles aussi comme SMTP, FTP et JMS.

Annuaire UDDI

Interrogation de lannuaire

UDDI pour rechercher des

contrats WSDL suivant

des

crit res sp cifiques

WSDL

Document WSDL est

utilis comme contrat du

Service Web

Consommateur

du Service

Message SOAP est envoy

pour consommer ( invoquer)

un Service Web

Fournisseur

du Service

Ci-dessous la pile des standards utilis s pour d velopper et ex cuter des Services Web tendus:

Orchestration

Langage de processus m tier BPEL

S curit (WS-Security)

Transaction (WS-

Transactions)

Fiabilit

Advertisement

(WS-RM)

WSD, UDDI

SOAP 1.1 et 1.2

HTTP, SMTP, FTP, BEEP, JMS

Qualit de Service

D couverte & Description

Message

Transport

4. Services Web REST

Les services Web REST sont exploit s pour construire des Architectures Orient es Donn es

(DOA). REST nest pas un standard, car il nexiste pas de sp cification W3C la d finissant,

cest plut t un style darchitecture bas sur un mode de compr hension du Web. REST sappuie

donc sur les standards du Web, savoir : le protocole http et les URLs. Une s curisation via

SSL pour linvocation des services et le transfert des messages peut tre utilis e.

Ci-dessous la pile des standards utilis s pour d velopper et ex cuter des Services Web REST :

Orchestration

Qualit de Service

D couverte & Description

Message

Transport

Langage de processus m tier BPEL

http Basic, SSL / TLS

WADL, ATOM, &

MIME Types (Text, JSON, XML, &)

HTTP, FTP

6

Universit Virtuelle de Tunis D veloppement Orient Services

Introduction aux SOA

5. Fournisseurs de Services Web

Deux types de fournisseurs de Services Web sont distinguer : fournisseurs de Services Web

Orient s Web (public) et fournisseurs de Services Web Entreprise (priv ).

Les grands noms du Web sont pr sents et leurs services sont accessibles : Amazon, eBay,

Delicious, Facebook, Flickr, Google, Twitter, WheatherBug, Yahoo, Zillow, Zvents.

Pratiquement tous les fournisseurs de Services Web exploitent larchitecture REST (besoins de

performance). Certains (comme Google) ont arr t s les Services Web tendus, tandis queBay

propose encore des Services Web tendus.

Plateformes de D veloppement

La grande majorit des plateformes de d veloppements fournissent le support de Services Web

(outils et APIs) : Plateforme .NET, Plateforme Java, Plateforme PHP, C++, Python, &

Les outils fournis permettent de : manipuler des messages SOAP, manipuler des donn es au

format XML, faire le mapping XML / Classe (Marshall, Unmarshall) et acc der la couche

http. Dans ce cours, nous utiliserons la plateforme Java qui est bien outill e, gratuite, accessible,

l g re et qui respect les standards.

7