Contactez-nous
Quelques définitions pour dresser le décor
Architectures orientées services SOA - Microservices et APIs
H6002 v2 Article de référence

Quelques définitions pour dresser le décor
Architectures orientées services SOA - Microservices et APIs

Auteur(s) : Jean-Paul FIGER

Relu et validé le 14 juin 2021 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Quelques définitions pour dresser le décor

  • 1.1 - Architectures orientées objets
  • 1.2 - Architectures orientées ressources
  • 1.3 - Architectures orientées services
  • 1.4 - Définition du style d’Architecture Orientée Services (SOA)

2 - Comment choisir un style d’architecture ?

3 - REST

4 - Microservices

5 - REQUIEM pour SOAP

6 - Travail de l’architecte ou comment appliquer le style SOA

7 - Conclusion

8 - Annexes

  • 8.1 - Exemples d’utilisation de REST
  • 8.2 - Définition de Services web, XML, SOA, EAI
  • 8.3 - Ressource et Objet

Sommaire

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.

16/05/2018

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’article

Auteur(s)

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.

Nota

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.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-h6002

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

1. Quelques définitions pour dresser le décor

La réutilisation en logiciel se définit par des modèles, des architectures et des styles.

  • Un modèle [pattern] est défini par Martin Fowler comme « une idée qui a été utile dans un contexte particulier et qui le sera probablement dans d’autres contextes ».

    Cette notion de modèle est valide à tous les niveaux, depuis le morceau de code qui résout un problème particulier jusqu’à un groupe de fonctions dans un domaine vaste comme les télécommunications ou la comptabilité.

  • L’architecture logicielle d’un programme ou d’un système est la description de sa structure qui regroupe les composants logiciels, les connecteurs (propriétés externes de ces composants) et les relations entre les composants et les connecteurs.

  • Un style d’architecture définit une famille de systèmes en termes de modèles de structure, un vocabulaire de composants et de connecteurs et des règles ou contraintes sur leurs relations. Chaque style d’architecture a ses propres caractéristiques. L’évolution des styles d’architecture est généralement liée à l’évolution de la technologie.

Pour faire une comparaison avec l’architecture des bâtiments, le style d’architecture roman se caractérise par des murs porteurs, donc épais, sans possibilité de faire de grandes ouvertures, alors que le style gothique fait reposer le poids de la structure sur des piliers. Les murs deviennent des éléments de décoration avec les vitraux. L’évolution des styles d’architecture est rendue possible par l’évolution de la technologie. L’invention de la brouette, de la roue de carrier pour monter les pierres et la fabrication de maquettes ont permis le déploiement du style gothique.

Les styles d’architecture sont donc des modèles de conception [design patterns] pour la structure et les interconnexions entre les systèmes logiciels.

On peut distinguer trois grands styles d’architecture pour les systèmes distribués :

  • architectures orientées objets ;

  • architectures orientées ressources ;

  • architectures orientées services.

1.1 Architectures orientées objets

Les architectures orientées objets nécessitent de communiquer avec l’instance particulière d’un objet qui se caractérise par son état,...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Quelques définitions pour dresser le décor

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

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)

1 Organisations

W3C – World Wide Web Consortium

http://www.w3.org

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

http://apache.org

IFTTT (If This Then That)

https://ifttt.com/discover

Schema.org

schema.org

HAUT DE PAGE
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire

QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE

Entraînez vous autant que vous le voulez avec les quiz d'entraînement.


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre