1-Intoduction SOA
1-Intoduction SOA
1-Intoduction SOA
Module SOA
A.U 2019-2020
Objectifs du module
IntroductionSOA 2
Plan du module
Charge horaire: 42h
1 ère
pé riode 2 è me période
IntroductionSOA 3
Chapitre 1
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
IntroductionSOA 6
Evolution desparadigmes
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
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?
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
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
IntroductionSOA 18
Présentation SOA
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
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