Você está na página 1de 24

Introduction

Module SOA

A.U 2014-2015
Objectifs du module

Sensibiliser lapprenant des dfis de linteroprabilit

Maitriser les concepts lis de services web et


technologies lies

Construire et dployer des services web et leurs clients

Familiariser lapprenant avec le style darchitecture SOA

Maitriser un outil de mise en uvre SOA

Introduction SOA 2
Plan du module
Charge horaire: 42h

Pr-requis : Java, HTML, protocoles web

Introduction SOA 3
Chapitre 1

Introduction aux services web


Contexte
Human-centric web
Le Web centr utilisateur implique que lhumain est lacteur principal
pour linitialisation de lensemble des requtes
Requte HTTP
B2C
Business To Consumer Internet
Rponse HTTP Application
Utilisateur

Application-centric web
Le Web centr application a pour objectif de permettre des
applications de diffrentes organisations de communiquer entre elles

B2B
Business To Business Internet

Application Application
Introduction SOA 5
Contexte
Exemple B2B
contrat
Compagnie arienne

Chane htelire Internet Application


de lagence
de voyage
Agence de location
des voitures

Introduction SOA 6
Evolution des paradigmes

Le terme de paradigme est employ pour exprimer la faon


dont un systme a t conu et pens dans ses grandes
lignes. [1]

Objectif:
Dvelopper une
application de
facturation

Introduction SOA 7
Evolution des paradigmes
Les rvolutions informatiques concident gnralement
avec un changement de paradigme
Niveau dabstraction grandissant avec lvolution des
paradigme

Source : cole Hes SO


Introduction SOA 8
Paradigme procdural

Le programme est une liste des tches et des


oprations excuter.

Limites
Tend gnrer du code "Spaghetti "
Maintenance complexe
Modularit et abstraction absente
Rutilisation ardue

Introduction SOA 9
Paradigme objet
L'ide est de concevoir les programmes non plus comme
des lignes de codes qui s'excutent squentiellement,
mais comme des objets qui dialoguent
Ses principes incluent l'abstraction de donnes,
encapsulation, messagerie, modularit, polymorphisme et
hritage.

Limites
Rutilisation difficile
Couplage fort -> rend difficile la
maintenance

Introduction SOA 10
Paradigme composant

Construire une application compose par un ensemble


de briques de base configurables
Il s'agit d'externaliser le code fonctionnel d'une
application afin de le rendre rutilisable dans d'autres
applications.

Composant
Limites
Interoprabilit entre
composants htrognes

Objet
Introduction SOA 11
Paradigme service
Prise en charge de la diversit et
de lhtrognit des systmes
logiciels, en termes de langages de

Service
programmation, de technologies de
conception (et de ralisation) ou de
plates-formes dexcution

Composant
Le paradigme service permet de:
- rduire le couplage
- amliorer la rutilisation
- augmenter labstraction

Objet
Introduction SOA 12
Besoins

Entreprise B Contrat

Entreprise A
Web Entreprise C

Intgration
Langage commun
Protocole commun
Contrat
Middelware

Introduction SOA 13
Intgration, Interoprabilit Quoi?

Interoperability means that two (or more) systems work


together unchanged even though they weren't
necessarily designed to work together.

Integration means that you've written some custom


code to connect two (or more) systems together.
[Bobby Wolf IBM Architect]

Introduction SOA 14
Intgration, Interoprabilit Quoi?

Interoperabilit

Integration

Source: http://modelseverywhere.wordpress.com/2010/11/04/model-driven-integration/
Introduction SOA 15
Intgration, Interoprabilit Comment?
Middleware (intergiciel)
Les logiciels servant d'intermdiaire entre d'autres logiciels; ou
Un intermdiaire de communication entre des
applications complexes et distribues [3]

Client Serveur
Middleware
Windows UNIX UNIX

PC PC PC
Rles de base dun middleware:

Rsoudre lintroprabilit : Unifier laccs des machines distantes


Rsoudre lhtrognit : Etre indpendant des systmes dexploitation et du
langage de programmation des applications

Introduction SOA 16
Middleware

Solutions existantes :
DCOM,
.NET Remoting
RMI
CORBA
?
Quels sont les atouts dune meilleure solution ?

Requte

Web

Rponse

Application A Application B
Introduction SOA 17
Services web
Service web = service + web

A Web service is a software system designed to support


interoperable machine-to-machine interaction over a
network.
W3C 2004

Les services Web interagissent travers lchanges de


messages encods en XML

Il existe deux grandes familles de services web:


Les services web tendus (SOAP/WSDL)
Les services web REST

Introduction SOA 18
Prsentation SOA

Larchitecture oriente service constitue un style


darchitecture base sur le principe de sparation de
lactivit mtier en une srie de services.
Ces services peuvent tre assembls et lis entre eux
selon le principe de couplage lche pour excuter
lapplication dsire.
Gartner - Septembre 2005

Introduction SOA 19
Anatomie dun service

Source: http://e-technologymanagement.com/tm/articles/soa.pdf

Introduction SOA 20
Elments SOA

Source: http://e-technologymanagement.com/tm/articles/soa.pdf
Introduction SOA 21
Caractristiques dun service

Contrat standardis Autonomie

Couplage lche Sans tat


Service
Abstraction Dcouvrable

Rutilisabilit Composable

Introduction SOA 22
Caractristiques dun service
Contrat standardis : Lensemble des services dun mme Systme Technique sont
exposs au travers de contrats respectant les mmes rgles de standardisation.
Couplage lche : Le contrat dun service doit imposer un couplage lche de ses
clients.
Abstraction : Le contrat dun service ne doit contenir que les informations essentielles
son invocation. Un service est vu comme une bote noire.
Rutilisabilit : Un service exprime une logique agnostique et peut ainsi tre
positionn comme une ressource rutilisable.
Autonomie : Un service ne doit tre dpendant d'aucun contexte ou service externe
Stateless (sans tat) : Un service doit minimiser la consommation de ressources en
dlguant la gestion des informations dtat quand cela est ncessaire.
Dcouvrabilit : Un service est complt par un ensemble de mtas donnes de
communication au travers desquelles il peut tre dcouvert et interprt de faon
effective.
Composabilit : Un service doit tre conu de faon participer des compositions
de services. [4]

Introduction SOA 23
Rfrences

[1] http://fr.wikipedia.org/wiki/Paradigme
[2] http://design-patterns.fr/introduction-a-la-
programmation-orientee-objet
[3] http://fr.wikipedia.org/wiki/Middleware
[4] http://blog.xebia.fr/2009/04/29/soa-du-
composant-au-service-lautonomie

Introduction SOA 24