Présentation
NOTE DE L'ÉDITEUR
Cet article est la version actualisée de l'article du même nom et du même auteur paru dans nos éditions en 2006.
RÉSUMÉ
La technologie SOA (Service Oriented Architecture ou Architecture orientée services) est un style d’architecture dont l’objectif premier est de fournir un couplage lâche entre les agents logiciels. Le style SOA simplifie et donc pousse à la réutilisation de services existants avec comme conséquence la nécessité de bien définir des standards de données. Après avoir dressé une liste complète de tous les styles et modèles d’architecture existants, cet article détaille l’architecture SOA et explique comment la reconnaître. De nombreux exemples viennent illustrer les propos de l’article.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Jean-Paul FIGER : Directeur Innovation et Nouvelles Technologies, Capgemini
INTRODUCTION
Ce dossier est destiné principalement à tous ceux qui s’intéressent à l’architecture des systèmes informatiques. Il a pour but d’expliquer la « révolution » qui se cache derrière le style SOA, la manière de reconnaître une architecture SOA et les conséquences de son introduction dans les entreprises.
Le sigle SOA (Service Oriented Architecture ou Architecture orientée services) est devenu à la mode début 2005 grâce aux succès du déploiement de l’Internet dans le public et dans les entreprises. En quelques mois, tous les fournisseurs de produits ou de services se sont découverts plus SOA les uns que les autres. La lecture attentive de leur documentation laisse perplexe car des discours marketing ou techniques insipides démontrent à l’évidence que leurs produits ou méthodes, restés inchangés, ne sont conformes ni de près, ni de loin au style SOA.
Le style SOA peut s’appliquer à toutes les technologies pour tout type de réalisation. Cependant, la révolution SOA est tirée par les standards de l’Internet. C’est donc naturellement ce qui servira de cadre à cet article, en particulier pour les exemples.
Il existe deux groupes de travail du W3C (World Wide Web Consortium http://www.w3.org) qui couvrent le sujet SOA, un sur l’architecture du World Wide Web http://www.w3.org/TR/2004/REC-webarch-20041215/ dont la lecture est indispensable et un autre sur les web services http://www.w3.org/2002/ws/ (SOAP + WSDL) dont nous verrons plus loin les graves faiblesses.
La traduction de certains termes anglais en français n’étant pas encore estampillée par l’Académie française, j’ai mis [entre crochets] le terme anglais dont ma traduction est issue.
VERSIONS
- Version courante de juil. 2018 par Jean-Paul FIGER
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. SOAP
SOAP (Simple Object Access Protocol ) est un mécanisme qui permet d’échanger des messages XML entre applications, principalement en utilisant le protocole HTTP. SOAP a été développé à l’origine pour traverser via HTTP les pare-feux qui bloquaient les appels RPC (Remote Procedure Call ) de DCOM ou IIOP.
SOAP-RPC ne respecte pas le style SOA puisque c’est un moyen de véhiculer des interfaces RPC spécifiques d’une application dans un tuyau standard. Il nécessite une connaissance fine du fonctionnement de chaque application pour l’utiliser. Il ne satisfait donc pas à la contrainte no 1 d’une SOA qui est d’être faiblement couplée.
Conscient de ces faiblesses, le W3C a donc défini SOAP 1.2 comme un moyen d’échanger des messages entre des nœuds [node ] SOAP, d’un nœud émetteur SOAP vers un nœud récepteur SOAP. Cette version en mode échange de messages respecte le style SOA à condition que le contenu des messages soit informatif, pas prescriptif.
4.1 Message SOAP
Voici (cf. encadré 1) un exemple de message SOAP tiré de SOAP version 1.2 primer du W3C .
Les éléments d’un message SOAP sont donc une enveloppe (env:Envelope), un entête (env:Header) et un corps de message (env:Body).
L’élément Header est optionnel. C’est un moyen de transmettre des informations qui ne font pas partie des données de l’application. Ces informations seront éventuellement traitées par les nœuds SOAP. L’élément Body est le seul élément obligatoire. Il contient les informations qui seront transmises de bout en bout.
En résumé, les différents éléments d’un message SOAP peuvent être représentés de la manière visuelle indiquée dans la figure 5.
Les messages SOAP peuvent être échangés entre des nœuds SOAP par une grande variété de protocoles. Cependant dans la majorité des cas, c’est le protocole HTTP qui est utilisé. Un nœud SOAP est donc identifié par son URI comme une ressource en REST. Les premières versions de SOAP imposaient l’usage de POST. La mise en œuvre de SOAP était donc assez lourde. SOAP ne permettait pas de bénéficier...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
SOAP
BIBLIOGRAPHIE
-
(1) - FOWLER (M.) - « Analysis Patterns » - (1997).
-
(2) - FIELDING (R.T.) - * - http://www.ics.uci.edu/%7Efielding/
-
(3) - Dissertation REST - , http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm.
-
(4) - Syntaxe des URI, - http://www.gbiv.com/protocols/uri/rfc/rfc3986.html
-
(5) - * - IANA, http://www.iana.org/assignments/media-types/
-
(6) - Architecture of the World Wide Web, - http://www.w3.org/TR/webarch/
-
(7) - « URIs, Addressability, and the use of HTTP GET and POST », - http://www.w3.org/2001/tag/doc/whenToUseGet.html
- ...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive