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)
Présentation
Article inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(234 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.
5. REST ou SOAP pour les web services ?
L’introduction de la spécification Web Method dans SOAP 1.2 permet à SOAP de se conformer au style REST. Cette faiblesse de SOAP ayant été comblée, le débat sur la différence entre ces deux approches est donc devenu en partie sans objet.
Dans les deux cas, les données sont échangées sous la forme de XML sur HTTP. Il n’y a donc pas, de ce point de vue, de différence en terme de performance ou de fiabilité contrairement aux affirmations de certains vendeurs SOAP. Le fait d’ajouter une enveloppe SOAP autour des données est neutre. Qui d’ailleurs se sert de cette enveloppe ?
La plupart des grands sites qui offrent des services web aux développeurs comme Amazon ou eBay offrent simultanément les deux types d’interfaces. L’écrasante majorité (plus de 85 %) des centaines de milliers de développeurs choisissent REST comme interface, essentiellement pour des raisons de simplicité. La barre adresse d’un navigateur suffit pour écrire et tester une requête REST alors que SOAP impose l’emploi d’un langage de programmation et de l’infrastructure correspondante. Ces sites ont par ailleurs unifié les données manipulées par les services SOAP ou REST, ce qui réduit encore l’écart qui aurait pu exister.
La plus grande différence entre les deux styles est le nom de la ressource. Dans le style REST, le nom de la ressource est dans l’URI (figure 6) alors que dans le style SOAP, tous les messages sont généralement envoyés vers un point d’entrée unique (figure 7). Le nom de la fonction à effectuer est caché à l’intérieur de l’enveloppe. Cette manière de faire peut présenter des avantages dans certains cas, en particulier quand certaines parties du message doivent rester confidentielles. En revanche, dans la majorité des cas, c’est plutôt un inconvénient. Le point d’entrée unique entraîne un couplage fort et un goulot d’étranglement qui complique la gestion des priorités et des performances. Le mécanisme simple décrit précédemment 3.6...
REST ou SOAP pour les web services ?
Article inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(234 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.
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
- ...
Article inclus dans l'offre
"Technologies logicielles Architectures des systèmes"
(234 articles)
Actualisée et enrichie d’articles validés par nos comités scientifiques.
Quiz, médias, tableaux, formules, vidéos, etc.
Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.
Un ensemble de services exclusifs en complément des ressources.