Introduction
Module SOA
A.U 2019-2020
Objectifs dumodule
2
IntroductionSOA
• 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
Plan dumodule
1ère
période
• Services web
• XML/XSD
• WS REST
• WS SOAP
2ème période
• SOA
• Modélisation de Business
Process avec BPMN
Charge horaire: 42h
Pré-requis : Java, HTML, protocoles web
3
IntroductionSOA
Chapitre1
Introduction aux services web
4
IntroductionSOA
Contexte
Business ToConsumer
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
Réponse HTTPApplication
Utilisateur
I
n
t
e
r
n
e
t
Application
I
n
t
e
r
n
e
t
Application-centric web
Le Web centré application a pour objectif de permettre à des applications de différentes
organisations de communiquer entreelles
Application
B2B
Business ToBusiness
5
IntroductionSOA
Contexte
Exemple B2B
Compagnieaérienne
Chaîne hôtelière
Agence delocation
des voitures
Application de
l’agence de
voyage
contrat
I
n
t
e
r
n
e
t
6
IntroductionSOA
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
7
IntroductionSOA
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
8
IntroductionSOA
Paradigmeprocé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
9
IntroductionSOA
Paradigmeobjet
lignes de
données,
• L'idée est de concevoir les programmes non plus comme des
codes qui s'exécutent séquentiellement,
mais comme des objets qui dialoguent
• Ses principes incluent l'abstraction encapsulation, de
polymorphisme et héritage.
la
rend difficile
Limites
Réutilisation difficile
Couplage fort ->
maintenance
10
IntroductionSOA
Paradigmecomposant
•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.
Objet
Composant
focaliser l’expertise sur les problèmes "métiers" plut
"techniques"
Limites
Interopérabilité entre
composants hétérogènes
11
IntroductionSOA
Paradigmeservice
Objet
Composant
Service
•Prise en charge de la diversité
l’hétérogénéité des systèmes
et de
logiciels, en
termes de langages de programmation, de
technologies de conception (et de réalisation)
ou de plates-formes d’exécution
• Le paradigme service permet de:
- réduire le couplage
- améliorer la réutilisation
- augmenter l’abstraction
12
IntroductionSOA
Besoins…
• Langage commun
• Protocole commun
• Contrat
• Middelware
EntrepriseA
Entreprise B
Entreprise C
W
e
b
Contrat
13
IntroductionSOA
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 codeto
connect two (or more)systems together.
• [Bobby Wolf – IBMArchitect]
14
IntroductionSOA
Source: http://modelseverywhere.wordpress.com/2010/11/04/model-driven-integration/
Integration
Interoperabilité
Intégration, Interopérabilité – Quoi?
15
IntroductionSOA
Windows
PC
UNIX
Middleware
UNIX
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
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
PC PC
16
IntroductionSOA
• Solutions existantes :
– DCOM,
– .NET Remoting
– RMI
– CORBA
– ?
Application B
ApplicationA
Requête
Web
Réponse
Quels sont les atouts d’une meilleure solution ?
Middleware
17
IntroductionSOA
Servicesweb
• 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
18
IntroductionSOA
PrésentationSOA
• “ 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
19
IntroductionSOA
Anatomie d’unservice
Source: http://e-technologymanagement.com/tm/articles/soa.pdf
20
IntroductionSOA
ElémentsSOA
Source: http://e-technologymanagement.com/tm/articles/soa.pdf
21
IntroductionSOA
Contrat standardisé
Couplage lâche
Abstraction
Réutilisabilité
Autonomie
Sans état
Découvrable
Composable
Service
Caractéristiques d’unservice
22
IntroductionSOA
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]
23
IntroductionSOA
L’Architecture de référence SOA (SOA-RA)
24
IntroductionSOA
• 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
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
25
IntroductionSOA

cours intoduction Soa_compress_Master.pdf

  • 1.
  • 2.
    Objectifs dumodule 2 IntroductionSOA • Sensibiliserl’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
  • 3.
    Plan dumodule 1ère période • Servicesweb • XML/XSD • WS REST • WS SOAP 2ème période • SOA • Modélisation de Business Process avec BPMN Charge horaire: 42h Pré-requis : Java, HTML, protocoles web 3 IntroductionSOA
  • 4.
  • 5.
    Contexte Business ToConsumer 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 Réponse HTTPApplication Utilisateur I n t e r n e t Application I n t e r n e t Application-centric web Le Web centré application a pour objectif de permettre à des applications de différentes organisations de communiquer entreelles Application B2B Business ToBusiness 5 IntroductionSOA
  • 6.
    Contexte Exemple B2B Compagnieaérienne Chaîne hôtelière Agencedelocation des voitures Application de l’agence de voyage contrat I n t e r n e t 6 IntroductionSOA
  • 7.
    Evolution desparadigmes Le termede 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 7 IntroductionSOA
  • 8.
    Evolution desparadigmes •Les révolutionsinformatiques coïncident généralement avec un changement de paradigme •Niveau d’abstraction grandissant avec l’évolution des paradigme Source : école Hes SO 8 IntroductionSOA
  • 9.
    Paradigmeprocédural •Le programme estune 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 9 IntroductionSOA
  • 10.
    Paradigmeobjet lignes de données, • L'idéeest de concevoir les programmes non plus comme des codes qui s'exécutent séquentiellement, mais comme des objets qui dialoguent • Ses principes incluent l'abstraction encapsulation, de polymorphisme et héritage. la rend difficile Limites Réutilisation difficile Couplage fort -> maintenance 10 IntroductionSOA
  • 11.
    Paradigmecomposant •Construire une applicationcomposé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. Objet Composant focaliser l’expertise sur les problèmes "métiers" plut "techniques" Limites Interopérabilité entre composants hétérogènes 11 IntroductionSOA
  • 12.
    Paradigmeservice Objet Composant Service •Prise en chargede la diversité l’hétérogénéité des systèmes et de logiciels, en termes de langages de programmation, de technologies de conception (et de réalisation) ou de plates-formes d’exécution • Le paradigme service permet de: - réduire le couplage - améliorer la réutilisation - augmenter l’abstraction 12 IntroductionSOA
  • 13.
    Besoins… • Langage commun •Protocole commun • Contrat • Middelware EntrepriseA Entreprise B Entreprise C W e b Contrat 13 IntroductionSOA
  • 14.
    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 codeto connect two (or more)systems together. • [Bobby Wolf – IBMArchitect] 14 IntroductionSOA
  • 15.
  • 16.
    Windows PC UNIX Middleware UNIX Rôles de based’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 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 PC PC 16 IntroductionSOA
  • 17.
    • Solutions existantes: – DCOM, – .NET Remoting – RMI – CORBA – ? Application B ApplicationA Requête Web Réponse Quels sont les atouts d’une meilleure solution ? Middleware 17 IntroductionSOA
  • 18.
    Servicesweb • 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 18 IntroductionSOA
  • 19.
    PrésentationSOA • “ L’architectureorienté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 19 IntroductionSOA
  • 20.
  • 21.
  • 22.
    Contrat standardisé Couplage lâche Abstraction Réutilisabilité Autonomie Sansétat Découvrable Composable Service Caractéristiques d’unservice 22 IntroductionSOA
  • 23.
    Caractéristiques d’unservice • Contratstandardisé : 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] 23 IntroductionSOA
  • 24.
    L’Architecture de référenceSOA (SOA-RA) 24 IntroductionSOA • 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 http://www.opengroup.org/soa/source-book/soa_refarch/p5.htm
  • 25.
    Références 1 http://fr.wikipedia.org/wiki/Paradigme 2 http://design-patterns.fr/introduction-a-la- programmation-orientee-objet 3http://fr.wikipedia.org/wiki/Middleware 4 http://blog.xebia.fr/2009/04/29/soa-du- composant- au-service-lautonomie 25 IntroductionSOA