Vous êtes sur la page 1sur 23

Architectures orientées

services
Chapitre 2: SOA
Dr.Ghada Besbes
Introduction
• Le découpage présentation/traitement/base de données de
l'architecture 3-tiers sert à découpler au maximum une
couche de l'autre mais favorise le cloisonnement en silos
applicatifs indépendants (blocs monolithiques)

2
Introduction
• Les tiers communiquent via un protocole de transport
spécifique qui nécessite une configuration réseau
• Problématique de l’intégration en entreprise
• Entreprises découpées en départements fonctionnels y compris
leurs systèmes d’information
• Processus métiers de plus en plus interdépartementaux
• Les processus qui franchissent les frontières des départements
doivent pouvoir prendre en compte les activités et processus des
autres départements.

3
Introduction

➢ Coûts considérables dans la gestion des flux entre départements


et dans l’intégration de leurs SI 4
SOA
• SOA dénote une architecture orientée services (Service
Oriented Architecture)
• Lancée par Gartner Group, elle définit un modèle
d’interaction applicative mettant en oeuvre des
connexions en couplage faible entre divers composants
logiciels.
• « une vision d’un système destinée à traiter toute
application comme un fournisseur de service ».
• Architecture logicielle s'appuyant sur un ensemble de
services simples.
• Objectif: Décomposition d’une fonctionnalité en un 5
ensemble de fonctions basiques, appelées services.
SOA
Qu’est ce que 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. »
• «Ces services sont définis à un niveau supérieur de la
traditionnelle approche composants »

Gartner - Septembre 2005 6


SOA
• La mise en place d'une architecture SOA répond à un besoin
de:
• Réutilisation des traitements,
• Interopérabilité
• Fiabilité,
• Hétérogénéité.
• Une architecture orientée services consiste essentiellement
en une collection de services qui interagissent et
communiquent entre eux.
• L’approche à services est un paradigme informatique qui
propose de construire des applications à partir de services.
Ces services sont fournis par des organisations tierces 7
(fournisseur de service) et peuvent évoluer dynamiquement .
SOA

8
Le service
• Le service est un composant clef de l'Architecture Orientée
Services.
• Un service résout un problème donné,
• Expose une interface qui définit le traitement offert sous la
forme d’un message d’entrée et d’un autre de réponse.
• Les services peuvent être combinés pour résoudre des
problèmes de plus en plus complexes,
• Ils sont entièrement transversaux aux plates-formes et très
faiblement couplés.

➢Une architecture orientée services se focalise sur une


décomposition plus abstraite dans la résolution des 9
problèmes. On parle de résolution dirigée par les services.
Le service
• Partage les caractéristiques suivantes d’un objet
• Modulaire (ensemble de fonctionnalités qui font sens)
• Partage les caractéristiques suivantes d’un composant
• Boite noire (séparation interface/implémentation)
• Indépendant de la localisation
• Neutralité vis-à-vis des protocoles de transport
• Les services sont réutilisables indépendamment de :
• la plate-forme (UNIX, Windows,…)
• leur implémentation (Java, C++, Visual Basic,…) 10
• l’architecture sous-jacente (.NET, J2EE,…)
Propriétés des services
1. Contrat Standardisé
• Contrat entre le fournisseur de service et le consommateur de
service
• Un service expose un contrat d’utilisation décrit en deux
parties:
• Une partie abstraite qui déclare les messages d’entrée et de
réponse du traitement offert.
• Une partie concrète qui décrit les standards et protocoles
techniques utilisés pour l’activation du service.

Conditions Générales de Vente


Règlement Intérieur 11
in Vos droits/Vos devoirs

out
Propriétés des services
2. Couplage faible
• Un service ne peut pas appeler un autre service. Il délègue
cette fonction à un traitement spécialisé dans l’enchaînement
(fonction d’orchestration).
• L’utilisation d’une orchestration évite que les services aient
besoin de connaître les autres services

12
Le couplage fort rend difficile la réutilisation et accroît la complexité des
systèmes
Propriétés des services
➢ L’orchestration favorise l’indépendance des services et
assure que des services n’appellent pas directement
d’autres services

13
Propriétés des services
3. Activation à distance et interopérabilité
• Un service doit être activable à distance indépendamment de sa
technologie
• L’activation se fait par l’envoi (et la réception) d’un message XML
• Le service doit exposer une interface d’utilisation qui est la même
indépendamment de sa localisation sur le réseau
• L’appel au service fonctionne quelque soit le langage et le
système d’exploitation du consommateur (utilisateur du service)

14
Propriétés des services
4. Abstraction
• Fonctionnement du service dit en « boîte noire »
• Seul le contrat exposé au consommateur du service est connue
• Le fonctionnement interne du service ne doit pas être
visible(logique métier et implémentation)
• Il est par conséquent important d’assurer la prédictibilité d’un
service: Pas de variation dans le comportement et dans la
réponse d’un service lors de la réception d’une requête

15
Propriétés des services
5. Sans état (Stateless)
• Un processus ou une application stateless est indépendant.
• Il ne stocke pas de données et ne fait référence à aucune
transaction passée.
• Chaque transaction est effectuée à partir de rien, comme si
c'était la première fois.
• Un service doit être sans état de façon à minimiser la
consommation des ressources

16
Propriétés des services
6. Autonomie
• Un service doit disposer de l’ensembles des informations
nécessaires à son exécution
• Ne doit dépendre d’aucun service externe (couplage lâche)
• Garantir l’autonomie d’un service permet de s’assurer de sa
prédictibilité

17
Synthèse
Depuis… …Vers…

• Orienté fonctionnalités • Orienté processus


• Conçu pour durer • Conçu pour changer
• Cycle de • Développement et
développement long déploiement interactif

• Orchestration de
• Silos applicatifs
Services
• Couplage fort
• Couplage faible
• Orienté Objet
• Orienté message 18
Service Web
• La notion de « service » est le concept phare, les services Web sont
juste un moyen de les implémenter
• C’est un traitement délivré par un fournisseur et utilisé par un
consommateur
• Implémenté dans n’importe quel langage,
• Déployé sur n’importe quelle plate forme
• Des applications modulaires, auto descriptives :
• Publiées, localisées
• Invoquées de n’importe quel point du web.
• Accessible via des protocoles standards Internet HTTP basés sur le
langage XML
• L’avantage essentiel des services Web concerne le fait que le client
consommateur n’a pas besoin de connaitre l’identité du fournisseur
de service. 19
Service Web

20
SOA: Avantages et limitations
Avantages
 L’ouverture et l’interopérabilité, pour partager des modules
applicatifs entre plateformes et environnements.
 La réutilisation et la composition, permettant le partage de
modules entre les applications
 L’évolutivité, permettant aux applications de greffer de
nouveaux modules afin de répondre aux nouveaux besoins
fonctionnels.
 La pérennité, impliquant le support des technologies
existantes et à venir.

21
SOA: Avantages et limitations
Limitations
 Obstacle Technique:
 Certains anciens systèmes demeurent difficilement compatibles
avec la mise en place de la SOA.
 Obstacle Méthodologique:
 Il existe encore assez peu de méthodes couvrant l'élaboration et
le déploiement de l’architecture.

22
Développer un modèle
architectural
• Commencer par faire un schéma de l’architecture
• En se basant sur les principaux requis des cas d’utilisation ;
décomposition en sous-systèmes
• Déterminer les principaux composants requis
• Sélectionner un style architectural
• Raffiner l’architecture
• Identifier les principales interactions entre les composants et les
interfaces requises
• Décider comment chaque donnée et chaque fonctionnalité sera
distribuée parmi les différents composants
• Considérer chacun des cas d’utilisation et ajuster l’architecture
pour qu’elle soit réalisable 23
• Détailler l’architecture et la faire évoluer

Vous aimerez peut-être aussi