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
6. Le travail de l’architecte ou comment appliquer le style SOA
Un service d’une architecture orientée service se définit par son URI et par la représentation XML d’un message ou d’une ressource. Ces éléments n’ont pas d’adhérence avec une technologie particulière. Ils doivent être définis par l’architecte. Voici un exemple de check-list qu’il faudra personnaliser selon l’environnement :
-
le premier travail de l’architecte consiste à identifier et à nommer les ressources persistantes par des URI. Une ressource persistante a une durée de vie supérieure à celle d’une transaction ou d’une session. En aucun cas un URI ne doit être la conséquence d’un développement ;
-
il faut bien sûr préférer un nommage logique à un nommage physique des URI pour masquer une implémentation spécifique. Sous Apache, il existe un module mod_rewrite qui permet de manière transparente de rediriger un URL vers un autre. Sous IIS, c’est un peu plus compliqué car il n’y a rien en standard. On peut soit écrire un filtre ISAPI, soit utiliser un composant d’une tierce partie ;
-
il faut noter que l’URI logique ne contient pas d’indication sur la manière dont chaque service élabore ses réponses. C’est ce qu’on appelle un couplage lâche [loosely coupled ]. C’est un principe général d’architecture des systèmes informatiques, trop souvent oublié qui devient « naturel » avec SOA ;
-
les ressources doivent être identifiées par des noms, pas par des verbes. Les ressources représentent des états, pas des actions. C’est d’ailleurs la grande différence avec des techniques du type RPC ou Objet qui détaillent à l’infini des actions (méthodes) ;
-
les URI ne doivent pas changer car vous ne saurez jamais qui détient des vieilles références : liens dans d’autres pages, utilisateurs dans leurs favoris, notes sur un bout de papier ;
-
le contenu des bases de données ou les entités métiers doit avoir des URI. Tout navigateur devient un client du pauvre très utile pour les tests. Les références peuvent se trouver dans d’autres médias comme des messages électroniques ou de la documentation. Le XSLT devient utilisable pour présenter, inclure ou transformer les données ;
-
la toute puissance du HTTP GET et de la représentation hypermédia permet grâce à des liens de construire la navigation ou...
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
Le travail de l’architecte ou comment appliquer le style SOA
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