Chapitre 1: Introduction
SOA
Introduction
o L’économie de marché sociale a été remplacée par l’économie de marché mondiale en
conséquence les entreprises doivent être flexible et rapide à poursuivre l’évolution mondiale
des systèmes d’information
o De même les processus et les systèmes deviennent de plus en plus complexes et ces systèmes
deviennent distribués, le défi est alors la maintenabilité
o La centralisation, condition préalable à l’harmonisation et au contrôle, n’est pas à l’échelle, les
limites sont atteintes (les anciennes méthodes de gestion des problèmes d'évolutivité et de
distribution ne fonctionnent plus)
Système distribué
Un système distribué est un ensemble d’entités communicantes qui apparaissent à l’utilisateur
comme étant un système cohérent
Caractéristiques d’un système distribué
Hétérogénéité:
◦ Les grands systèmes ont une longue durée de vie au cours de laquelle de
nouvelles fonctionnalités peuvent être développées en ajoutant des nouveaux
systèmes et process
◦ Des propriétaires différents: différents équipements, départements ou
entreprises peuvent être gérés dans un même système la maintenance
devient un investissement couteux
Imperfection:
◦ Les systèmes d’importance vitale ont généralement un rapport de perfection
plus élevé (99% de travail réussi, 1% de problème)
Caractéristiques d’un système distribué
Redondance:
◦ Une quantité importante de données redondantes existe dans un système
◦ L’élimination de la redondance est difficile et entraîne des pénalités
d’exécution fondamentales
Goulot d’étranglement:
◦ Dans les grands systèmes, les goulots d’étranglement entravent l’évolutivité
lorsqu’ils font partie d’un process métier
Problématique
o Soit une entreprise qui est développée au fil des années, et qui
dispose d’un système distribué, après plusieurs phases d’évolution,
le système est infecté par le désordre.
o En conséquence, les utilisateurs ont perdu le contrôle, l’entreprise
alors doit trouver des solutions:
◦ fournir un effort très élevé,
◦ Laisser les choses tels quels et dans ce cas le système sera en faillite,
o Problème: interopérabilité
Problématique
o Exemple:
o Si on dispose de 10 plateformes différentes et 5 protocoles différents,
et que les plateformes veulent communiquer ensemble,
o Il faut prévoir alors 100 solutions différentes pour établir cette
communication (n × ( n −1) / 2 connexions pour n systèmes )
Solution: bus magique
o La solution pour minimiser le nombre de solutions est de créer un bus
magique (EAI: Entreprise Application Integrator) qui est une solution magique
pour réduire le nombre de connexions et d’interfaces dans un système, il
nécessite une seule connexion et une seule interface pour chaque système,
o Avec un bus magique, il est très facile de connecter des systèmes, d’où leurs
développement devient plus facile,
o Ainsi les systèmes ont reconnu une expansion et ont grandi énormément
Historique de
bus d’entreprise
Les bus représentent une
interopérabilité
élevée. L'idée derrière eux
est qu'au lieu de créer et
de maintenir des canaux de
communication individuels
entre différents systèmes,
chaque système n'a qu'à se
connecter au bus pour
pouvoir se connecter à tous
les autres systèmes
Problème: bus magique
o Avant l’arrivée du bus magique, il était clair de comprendre les dépendances
entre les différents systèmes vu que chaque connexion était unique,
o Avec le bus magique, il est très facile de connecter les systèmes mais personne
ne peut comprendre leurs dépendances au niveau du bus
o Si ce même système tombe en panne, le bus magique ne peut pas résoudre le
problème
ESB
o Entreprise Service Bus: son but est avant tout de permettre la communication
des applications qui n'ont pas été conçues pour fonctionner ensemble,
o Considéré comme une nouvelle génération d'intégration d'applications
d'entreprise (EAI)
o La différence majeure avec l'EAI réside dans le fait que l'ESB propose une
intégration complètement distribuée.
o L'ESB est principalement un outil d'échange asynchrone disposant d'interfaces
standardisées (SOAP, JMS…) ou intégrées
Solution
o Besoin d’une nouvelle approche qui accepte la décentralisation,
o Une approche qui aide les systèmes à rester évolutifs et flexibles tout en se
développant,
o SOA admet que la seule façon de maintenir la flexibilité dans les grands
systèmes distribués est de prendre en charge l'hétérogénéité, la
décentralisation et la tolérance aux pannes.
SOA
Service Oriented Architecture
Historique de SOA
• Invention du terme SOA et ses principes
• Le Client/serveur a perdu son sens classique
1994
• Publication des premiers rapports portant sur SOA
1996
• SOA a reconnu un véritable succès avec les Web Services, initialement pilotés par Microsoft
• D’autres fournisseurs et entreprises sont intervenus (IBM, Oracle, HP, Sun …)
2000
SOA: Intérêts
o Dans un environnement SOA, les nœuds d’un réseau mettent des ressources à
la disposition des autres participants du réseau en tant que services
indépendants auxquels les participants accèdent de manière standardisée et
transparente
o SOA est indépendante de la technologie de développement
o Contrairement aux architectures point à point traditionnelles, SOA comprend
des services faiblement couplés et hautement interopérables
SOA: Intérêts
Service 1 Service 2 Service 3 Service 4 Service 5
ESB
Système 1 Système 2 Système 3
SOA: Définition
o SOA est un paradigme, un style, un concept, une approche et un système de
valeurs qui conduit à certaines décisions concrètes lors de la conception d’une
architecture logicielle
o SOA est un paradigme pour organiser et utiliser des capacités distribuées qui
peuvent être contrôler par différents domaines de propriété
Concepts techniques de SOA
o SOA repose sur 3 concepts techniques majeurs:
o Prestation de services
o Interopérabilité
o Couplage faible
Concepts techniques de SOA
Prestation de Services:
◦ Un service est une fonctionnalité métier autonome qui peut être:
◦ Simple: par exemple stockage ou récupération de données client, créer un client, …
◦ Complexe: par exemple processus métier pour la commande d’un client
◦ Se concentre sur la valeur métier d’une interface (business value)
Concepts techniques de SOA
Interopérabilité:
◦ Avec des systèmes hétérogènes, l’objectif principal est de pouvoir
mettre en place ces systèmes facilement: haute interopérabilité
◦ L’ESB est une solution qui offre une interopérabilité élevée entre
les systèmes distribués. Il facilite la distribution des processus
métier sur plusieurs systèmes en utilisant différentes plateformes
et technologies
Concepts techniques de SOA
Couplage faible:
◦ C’est le concept de réduction de dépendances du système
◦ Étant donné que les processus métier sont répartis sur plusieurs backends, il
est important de minimiser les effets des modifications
◦ Le problème du couplage faible est la complexité: difficulté de
développement et de maintenance
◦ Le couplage faible conduit à une évolutivité
L’approche SOA
Se compose de 3 éléments:
◦ Services: représente des fonctionnalités métier autonomes pouvant faire
partie d’une ou plusieurs processus, peuvent être implémentées par
n’importe quelle technologie et n’importe quelle plateforme
◦ Infrastructure spécifique: permettant de combiner ces services de manière
simple et flexible
◦ Politiques et processus: traitent l’hétérogénéité des systèmes distribués et le
fait d’avoir des propriétaires différentes
SOA: Terminologie
Provider: fournisseur, le système qui implémente le service afin qu’un autre
système puisse l’utiliser
Consumer: consommateur ou demandeur de service: le système qui appelle un
service
Demander un service
Consommateur de fournir le service demandé Fournisseur de
service service