1-Intoduction SOA

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

Introduction

Module SOA
A.U 2019-2020
Objectifs du module

• Sensibiliser l’apprenant des défis de l’interopérabilité

• Maitriser les concepts liés de services web et technologies liées

• Construire et déployer des services web et leurs clients

• Familiariser l’apprenant avec le style d’architecture SOA

• Maitriser un outil de mise en œuvre SOA

IntroductionSOA 2
Plan du module
Charge horaire: 42h

Pré-requis : Java, HTML, protocoles web

1 ère
pé riode 2 è me période

• Services web • SOA


• XML/XSD • Modélisation de Business
• WS REST Process avec BPMN
• WS SOAP

IntroductionSOA 3
Chapitre 1

Introduction aux services web

IntroductionSOA 4
Contexte
Human-centric web
 Le Web centré utilisateur implique que l’humain est l’acteur principal
pour l’initialisation de l’ensemble des requêtes
Requête HTTP
B2C
Business ToConsumer Internet
Réponse HTTP Application
Utilisateur

Application-centric web
Le Web centré application a pour objectif de permettre à des applications de différentes
organisations de communiquer entre elles

B2B
Business ToBusiness Internet

Application Application
IntroductionSOA 5
Contexte
Exemple B2B
contrat
Compagnie aérienne

Chaîne hôtelière Internet Application de


l’agence de
voyage
Agence de location
des voitures

IntroductionSOA 6
Evolution desparadigmes

Le terme de paradigme est employé pour exprimer la façon dont un système a


été conçu et pensé dans ses grandes lignes. [1]

Objectif:
Développer une application
de facturation

IntroductionSOA 7
Evolution desparadigmes
•Les révolutions informatiques coïncident généralement
avec un changement de paradigme
•Niveau d’abstraction grandissant avec l’évolution des paradigme

Source : école Hes SO


IntroductionSOA 8
Paradigme procédural
•Le programme est une liste des tâches et des opérations à
exécuter.

Limites
Tend à générer du code "Spaghetti "
Maintenance complexe
Modularité et abstraction absente
Réutilisation ardue

IntroductionSOA 9
Paradigme objet
• L'idée est de concevoir les programmes non plus comme des lignes de
codes qui s'exécutent séquentiellement,
mais comme des objets qui dialoguent
• Ses principes incluent l'abstraction encapsulation, de données,
polymorphisme et héritage.

Limites
Réutilisation difficile
Couplage fort -> rend difficile la
maintenance

IntroductionSOA 10
Paradigme composant
•Construire une application composée par un ensemble
de briques de base configurables
•Il s'agit d'externaliser le code fonctionnel d'une application afin de le
rendre réutilisable dans d'autres
applications. focaliser l’expertise sur les problèmes "métiers" plut

Composant
"techniques"
Limites
Interopérabilité entre
composants hétérogènes

Objet
IntroductionSOA 11
Paradigme service
•Prise en charge de la diversité et de
l’hétérogénéité des systèmes logiciels, en
termes de langages de programmation, de

Service
technologies de conception (et de réalisation)
ou de plates-formes d’exécution

Composant
• Le paradigme service permet de:
- réduire le couplage
- améliorer la réutilisation
- augmenter l’abstraction

Objet
IntroductionSOA 12
Besoins…

Entreprise B Contrat

EntrepriseA
Web Entreprise C

• Langage commun
• Protocole commun
• Contrat
• Middelware

IntroductionSOA 13
Intégration, Interopérabilité – 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 writtensome custom code to


connect two (or more)systems together.
• [Bobby Wolf – IBM Architect]

IntroductionSOA 14
Intégration, Interopérabilité – Quoi?

Interoperabilité

Integration

Source: http://modelseverywhere.wordpress.com/2010/11/04/model-driven-integration/

IntroductionSOA 15
Intégration, Interopérabilité – Comment?
Middleware (intergiciel)
Les logiciels servant d'intermédiaire entre d'autres logiciels; ou
Un intermédiaire de communication entre des applications complexes et distribuées [3]

Client Serveur
Middleware

Windows UNIX UNIX

PC PC PC
Rôles de base d’un middleware:
 Résoudre l’intéropérabilité : Unifier l’accès à des machines distantes
 Résoudre l’hétérogénéité : Etre indépendant des systèmes d’exploitation et du langage de programmation
des applications

IntroductionSOA 16
Middleware
• Solutions existantes :
– DCOM,
– .NET Remoting
– RMI
– CORBA
– ? Quels sont les atouts d’une meilleure solution ?

Requête

Web

Réponse
ApplicationA Application B
IntroductionSOA 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 l’échanges de messages

• Il existe deux grandes familles de services web:


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

IntroductionSOA 18
Présentation SOA

• “ L’architecture orientée service constitue un style d’architecture basée


sur le principe de séparation de l’activité métier en une série de
services”.
• “ Ces services peuvent être assemblés et liés entre eux selon le principe
de couplage lâche pour exécuter l’application désirée. ”

Gartner - Septembre 2005

IntroductionSOA 19
Anatomie d’unservice

Source: http://e-technologymanagement.com/tm/articles/soa.pdf
IntroductionSOA 20
Eléments SOA

Source: http://e-technologymanagement.com/tm/articles/soa.pdf
IntroductionSOA 21
Caractéristiques d’unservice

Contrat standardisé Autonomie

Couplage lâche Sans état


Service
Abstraction Découvrable

Réutilisabilité Composable

IntroductionSOA 22
Caractéristiques d’unservice
• Contrat standardisé : L’ensemble des services d’un même Système Technique sont exposés au travers de
contrats respectant les mêmes règles de standardisation.
• Couplage lâche : Le contrat d’un service doit imposer un couplage lâche de ses clients.
• Abstraction : Le contrat d’un service ne doit contenir que les informations essentielles
à son invocation. Un service est vu comme une boîte noire.
• Réutilisabilité : Un service exprime une logique agnostique et peut ainsi être positionné comme une
ressource réutilisable.
• Autonomie : Un service ne doit être dépendant d'aucun contexte ou service externe
• Stateless (sans état) : Un service doit minimiser la consommation de ressources en
déléguant la gestion des informations d’état quand cela est nécessaire.
• Découvrabilité : Un service est complété par un ensemble de métas données de communication au travers
desquelles il peut être découvert et interprété de façon effective.
• Composabilité : Un service doit être conçu de façon à participer à des compositions de services. [4]

IntroductionSOA 23
L’Architecture de référence SOA (SOA-RA)
• Open Group SOA Reference Architecture (SOA RA) Standard IBMs advantage
• Crée une abstraction avec une approche indépendante de la technologie
• Aide à définir et exécuter une feuille de route
• Définir un vocabulaire commun pour l’architecture

IntroductionSOA 24
http://www.opengroup.org/soa/source-book/soa_refarch/p5.htm
Références

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

IntroductionSOA 25

Vous aimerez peut-être aussi