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
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...
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
REST ou SOAP pour les web services ?
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