Architecture orientée services - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

L'architecture orientée services (calque de l'anglais Service Oriented Architecture, SOA) est une forme d'architecture de médiation qui est un modèle d'interaction applicative qui met en œuvre des services (composants logiciels) :

  • avec une forte cohérence interne (par l'utilisation d'un format d'échange pivot, le plus souvent XML),
  • et des couplages externes « lâches » (par l'utilisation d'une couche d'interface interopérable, le plus souvent un service web WS-*).

Ce terme est apparu au cours de la période 2000-2001 et concernait à l'origine essentiellement les problématiques d'interopérabilité syntaxique en relation aux technologies d'informatique distribuée utilisées en entreprise. Cette conception a évolué pour désigner maintenant le sous-ensemble particulier d'architecture de médiation en fonction de la technologie disponible.

Le service est une action exécutée par un « fournisseur » (ou « producteur ») à l'attention d'un « client » (ou « consommateur »), cependant l'interaction entre consommateur et producteur est faite par le biais d'un médiateur (qui peut être un bus) responsable de la mise en relation des composants. Le service étant à grandes mailles, il englobe et propose les fonctionnalités des composants du système. Ces systèmes peuvent aussi être définis comme des couches applicatives. L'architecture orientée services est une réponse très efficace aux problématiques que rencontrent les entreprises en termes de réutilisabilité, d'interopérabilité et de réduction de couplage entre les différents systèmes qui implémentent leurs systèmes d'information. Les architectures SOA ou AOS ont été popularisées avec l'apparition de standards comme les Services Web dans l'e-commerce (commerce électronique) (B2B, inter-entreprise, ou B2C, d'entreprise à consommateur), basés sur des plates-formes comme J2EE ou .NET. Elles mettent en application une partie des principes d'urbanisation. Au sein de l'architecture orientée services, on distingue les notions d'annuaire, de bus, de contrat et de service, ce dernier étant le noyau et le point central d'une architecture orientée services. La déclinaison ou plus précisément la mise en œuvre de la SOA qui se repose entièrement sur Internet est appelée la WOA (Web Oriented Architecture).

Historique

Au cours de la décennie 1980-1990, la problématique de l'interopérabilité des systèmes d'information, particulièrement complexe lors de fusion ou de l'acquisition d'entreprises, a donné naissance au domaine de recherche de l'interopérabilité des données ; c'est à cette époque que l'on distingua l'interopérabilité syntaxique de l'interopérabilité sémantique des données. Ces recherches aboutirent aux systèmes multibases, aux développements des bases de données réparties et à l'architecture fédérée. En raison de nombreux problèmes insolubles, l'architecture fédérée fut pratiquement abandonnée.

Les deux principales exigences fonctionnelles qui se sont dégagées au cours de cette période sont :

  1. Les différents producteurs d'information doivent pouvoir continuer à utiliser leur système de façon transparente. Par exemple, un trust réalisant une acquisition ne doit pas handicaper son nouveau membre en imposant un changement brutal de système informatique.
  2. L'organisation doit pouvoir obtenir une synthèse de l'information produite par ses différents membres. Il s'agit ici d'information en lecture seule, la synthèse s'effectuant toujours du bas vers le haut.

Ces exigences fonctionnelles se cristallisèrent avec l'invention par Gio Wiederhold de l'architecture de médiation en 1990-1992 :

  1. Les usagers finaux sont séparés des sources de données par une couche de médiation (couche de services) permettant une synthèse dynamique de l'information.
  2. Les différents médiateurs (services) peuvent communiquer entre eux pour transformer et combiner l'information provenant de différentes sources.
  3. Les différents médiateurs (services) communiquent en utilisant un langage offrant une grande capacité d'expression sémantique et de transformation.

La recherche sur la médiation de données porta alors sur la création d'architecture générique comme le ARPA I3 où apparurent les cinq grandes familles de services (Adaptation, Transformation, Extension, Management et Coordination), le développement de langages à haute expressivité sémantique comme KQML et les outils de transformation sémantique de l'information comme les ontologies.

Parallèlement, le développement de la technologie Web rendit progressivement les autres technologies d' informatique distribuée de moins en moins attrayantes. L'arrivée en 1996 d'XML provoqua un engouement pour ce langage dans le milieu de la recherche et les langages ad-hoc ou plus complexes comme KQML furent pratiquement abandonné, du moins pour ce type d'architecture. L'industrie développa de nombreux produits sous l'impulsion de la recherche fondamentale, par exemple, on compte plus de 150 Ph.D. en ligne directe de Wiederhold, la plupart ayant participé activement au développement de cette technologie chez IBM, Oracle, Sun, Microsoft, Cisco, Samsung, LG, Bell Laboratories, Silicon Graphics, Kodak, Google, Napster et autres ; comme James Duncan Davidson qui fut le créateur de Tomcat (Java Servlet et JavaServer Pages) ainsi que de Ant. À la fin de la décennie 1990-2000 on trouvait un nombre considérable de ce type de technologies dont l'interopérabilité était parfois extrêmement problématique, du moins sans recette logicielle pour la réaliser.

Page générée en 0.106 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise