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: [Link]
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: [Link]
IntroductionSOA 20
Eléments SOA
Source: [Link]
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
[Link]
Références
1 [Link]
2 [Link]
programmation-orientee-objet
3 [Link]
4 [Link] composant-
au-service-lautonomie
IntroductionSOA 25