Académique Documents
Professionnel Documents
Culture Documents
SOA présente une nouvelle couche d’abstraction. Cette nouvelle couche d'abstraction fait suite
à d'autres abstractions créées au fur et à mesure des besoins et des avancées technologiques :
. Page 1
Chapitre 2 : Architecture orienté services et services Web
Exemples
- la création des fonctions et Exemple
procédures,
. Page 2
Chapitre 2 : Architecture orienté services et services Web
. Page 3
Chapitre 2 : Architecture orienté services et services Web
SOA est une architecture métier conceptuel où les fonctionnalités métiers, ou la logique de
l’application, est mise à disposition aux utilisateurs SOA ou aux utilisateurs, en tant que
services réutilisables et partagés dans un environnement informatique. Les services dans une
SOA sont les modules d’une fonctionnalité de l’application avec des interfaces exposées et qui
sont invoquées par messages.
SOA est une approche architecturale qui consiste à présenter les différentes fonctions et
informations d’un système sous la forme de services qui peuvent être utilisés de manière
homogène via des méthodes communes et standards
Un service est une fonction logicielle autonome et sans état qui accepte des requêtes et qui
renvoie des réponses au travers une interface standard bien défini. Un service est donc une
unité de traitement qui fournit un résultat à un consommateur.
2.3.2. Caractéristiques
. Page 4
Chapitre 2 : Architecture orienté services et services Web
Les services ne doivent pas dépendre de l'état d'autres fonctions ou d'autres traitements
externes. Les technologies employées pour réaliser un service comme le langage de
programmation ne font pas partie de la définition d'un service.
L’approche SOA se définit par :
Un couplage lâche (couplage faible) entre les composants d'un système pour ne
pas dépendre de l'état d'autres services et pour faciliter la réutilisation,
Des services sans état pour faciliter l'extensibilité et l'éventuelle orchestration,
Des services fortement interopérables : l’interopérabilité ou
interfonctionnement en informatique est la capacité que possède un système
informatique à fonctionner avec d’autres produits ou systèmes informatiques,
existants ou futurs, sans restriction d’accès ou de mise en œuvre.
- Le service répond à trois fonctionnalités caractéristiques : il est indépendant, il peut être
découvert et appelé de manière dynamique, et il fonctionne seul.
- La communication entre les services est réalisée par la transmission des messages.
- Un service peut être invoqué par une ou plusieurs requêtes et retourne une ou plusieurs
réponses à travers une interface standard.
- La technologie utilisée pour implémenter le service, tel que le langage de
programmation, ne fait pas partie de la définition du service. Un service ne doit pas
dépendre d’une condition provenant d’un autre service.
- Acteurs de SOA : L'architecture en elle-même se représente en faisant intervenir trois
acteurs :
Consommateur, correspond à l'application cliente (ou à un autre service), qui
fait appel au service pour une tâche précise
Producteur de service, correspond à l'application fournisseuse (ou à un
autre service),
Répertoire de services (catalogue de services). Le consommateur trouvera
les informations à propos du client au sein du répertoire de services, où sont
enregistrés et triés un grand nombre de ceux-ci.
Le service est une action exécutée par un « fournisseur » (ou « producteur ») à
l'attention d'un « client » (ou « consommateur »), via un médiateur (qui peut
être un bus) responsable de la mise en relation des composants logiciels
implémentant les services.
. Page 5
Chapitre 2 : Architecture orienté services et services Web
. Page 6
Chapitre 2 : Architecture orienté services et services Web
. Page 7
Chapitre 2 : Architecture orienté services et services Web
Service1
Service2
Service3
Composant de service
Un service (généralement) est présenté par un composant de service, qui est la brique de base
de l’architecture. Il se décompose en deux parties
. Page 8
Chapitre 2 : Architecture orienté services et services Web
- La vue externe (ou spécification de service), qui expose la facette service proprement
dite, elle est constituée par un ensemble d’opérations de service regroupées en
interfaces (au sens UML), et de l’appareillage pour les utiliser (types des données
échangées, contrat de service, propriétés, etc.…).
- La vue interne contient des informations relatives à la logique interne comme le détail
des traitements ou les bases de données manipulées. On y trouve également les
références vers les services utilisés par le composant. Cette vue est masquée aux
consommateurs du composant de service. Elle est employée notamment par les
architectes SI, qui travaillent sur la vision globale du système.
Remarque : Le catalogue des services publiés sur un périmètre est constitué par l’ensemble
des vues externes des composants de service.
Contrat de service
. Page 9
Chapitre 2 : Architecture orienté services et services Web
Le contrat de service4 joue un rôle majeur : il détaille les conditions d’utilisation du service
sous forme de pré et post conditions, protocoles, et contraintes (QoS, …). Les contraintes non
fonctionnelles permettent de fixer les termes du contrat opérationnel entre consommateur et
fournisseur de service.
. Page 10
Chapitre 2 : Architecture orienté services et services Web
. Page 11
Chapitre 2 : Architecture orienté services et services Web
. Page 12
Chapitre 2 : Architecture orienté services et services Web
Avantages Inconvénients
. Page 13
Chapitre 2 : Architecture orienté services et services Web
. Page 14
Chapitre 2 : Architecture orienté services et services Web
3. Services Web
Pour mettre en pratique la théorie de SOA, une implémentation s'est vite imposée : les Web
Services. Même si ce n'est pas l'unique choix d'implémentation, elle est souvent associée à
SOA.
3.1. Définitions
- Définition 1 : Les services web sont des composants distribués qui offrent des fonctionnalités
aux applications au travers du réseau en utilisant des standards ouverts. Ils peuvent donc être
utilisés par des applications écrites dans différents langages et exécutées dans différentes
plateformes sur différents systèmes.
- Défifnition 2 : Un service web (ou service de la toile) est un programme informatique
permettant la communication et l'échange de données entre applications et systèmes
hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités
. Page 15
Chapitre 2 : Architecture orienté services et services Web
exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans
intervention humaine, et de manière synchrone.
Figure 12 : Le service Web offre une couche d'abstraction entre l'application client et le
code de l'application
. Page 16
Chapitre 2 : Architecture orienté services et services Web
Les Services Web WS-* exposent ces mêmes fonctionnalités sous la forme de services
exécutables à distance. Les Services Web WS-* reposent sur un ensemble de protocoles
et de standards de base utilisés pour l'échange de données entre applications dans des
environnements hétérogènes Leurs spécifications reposent sur les standards SOAP et
WSDL.
. Page 17
Chapitre 2 : Architecture orienté services et services Web
. Page 18
Chapitre 2 : Architecture orienté services et services Web
Les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant sur
diverses plates-formes. L’interopérabilité ou interfonctionnement en informatique
est la capacité que possède un système informatique à fonctionner avec d’autres
produits ou systèmes informatiques, existants ou futurs, sans restriction d’accès ou de
mise en œuvre.
Les services Web utilisent des standards et protocoles ouverts.
Les protocoles et les formats de données sont au format texte dans la mesure du
possible, facilitant ainsi la compréhension du fonctionnement global des échanges.
Les outils de développement, s'appuyant sur ces standards, permettent la création
automatique de programmes utilisant les services Web existants.
. Page 19
Chapitre 2 : Architecture orienté services et services Web
Conclusion
SOA est une évolution des plate-forme passées, tout en préservant les caractéristiques
réussies des architectures traditionnelles :
. Page 20