Architecture n-tiers: Service-Oriented Architecture (SOA)

Software Engineering · notes

Voir tous les documents en génie logiciel

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