Présentation
En anglaisNOTE 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’articleABSTRACT
SOA (Service Oriented Architecture) is an architectural style whose primary purpose is to provide loose coupling between software agents. The SOA style simplifies existing services and so drives their reuse. The result is a need to properly define data standards. After compiling a list of the main existing architectural styles and models, this article details the SOA architecture and explains how to recognize it and put it into practice. Many examples are given to illustrate the article.
Auteur(s)
-
Jean-Paul FIGER : Président de la société ARMOSC
INTRODUCTION
Cet article 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 ou microservices) 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 heureusement en voie d’abandon ( https://www.w3.org/standards/techs/soap#w3c_all) 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.
KEYWORDS
SOA | REST | service oriented architecture | microservices | loose coupling
VERSIONS
- Version archivée 1 de août 2006 par Jean-Paul FIGER
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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. Microservices
Le style architectural « Microservices » est une approche permettant de développer une seule application en tant que suite de petits services, chacun s’exécutant dans son propre processus et communiquant avec des mécanismes légers, souvent une API de ressources HTTP REST. Ces services sont construits autour de capacités métier et déployables indépendamment par des machines entièrement automatisées. Il existe un minimum de gestion centralisée de ces services qui peuvent être écrits dans différents langages de programmation et utiliser différentes technologies de stockage de données.
(Martin Fowler and James Levis, « Microservices », March 2014 .)
Le terme Microservices, qui est apparu vers 2012, n’est pas très bien choisi car chaque « microservice » peut être gigantesque, par exemple les APIs de Google Maps. En fait, ils satisfont à 100 % à la définition d’un service SOA donnée dix ans auparavant dans une version précédente de cet article : couplage lâche, services sans état, services interopérables. Ce regain de popularité est justifié par le fait qu’il existe de plus en plus de services réutilisables sur l’Internet (Cloud Computing) et de plus en plus de plateformes qui permettent de les mettre en œuvre sans nécessiter d’infrastructure dédiée. Voici deux exemples grand public créés en 2012 assez démonstratifs, IFTTT et Zapier, et un exemple plus technique AWS Lambda.
-
IFTTT (If This Then That)
Cette plateforme gratuite rassemble plus de 600 microservices que l’on peut exploiter selon une logique simple, l’enchaînement d’instructions conditionnelles pour exécuter ou non une action. Le fonctionnement est le suivant : Si Déclencheur [If This Trigger] Alors Faire [Then That Action].
Si mon Nest Protect détecte une alarme de fumée, alors m’envoyer une notification à mon téléphone Android.
Si nouvelle image du jour sur le site de la NASA, alors me l’envoyer par mail
Très utile pour automatiser des tâches personelles ou à la maison
-
...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
Microservices
BIBLIOGRAPHIE
-
(1) - NETCRAFT - February 2017 Web Server Survey. - (2017) https://news.netcraft.com/archives/2017/02/27/february-2017-web-server-survey.html
-
(2) - W3C - Architecture of the World Wide Web (2004) - https://www.w3.org/TR/webarch
-
(3) - W3C – URIS - Addressability, and the use of HTTP GET and POST (2004) - https://www.w3.org/2001/tag/doc/whenTouseGet-20040321.html
-
(4) - PITAC - Cyber security : a crisis of Prioritization (2005) - https://www.nitrd.gov/pitac/reports
-
(5) - FOWLER (M.), LEVIS (J.) - * - Microservices (2004)
ANNEXES
W3C – World Wide Web Consortium
Architecture du World Wide Web
http://www.w3.org/TR/2004/REC-webarch-20041215
Web Services
https://www.w3.org/standards/techs/soap#w3c_all
Projet Apache
IFTTT (If This Then That)
Schema.org
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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