Enterprise Service Bus

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir ESB.

L'Enterprise Service Bus ou ESB est une technologie informatique intergiciel.Son but est avant tout de permettre la communication des applications qui à la base ne sont pas pensées pour fonctionner ensemble (deux ERP - Enterprise Resource Planning ou Progiciel de gestion intégré - provenant de chez deux éditeurs différents par exemple).

Roy Schulte de la société Gartner inc, en fait la description suivante : "L'ESB est une nouvelle architecture qui exploite les services web, les systèmes orientés messages, le routage intelligent et la transformation. L'ESB agit comme une colonne vertébrale légère et omniprésente de l'intégration à travers laquelle les services logiciels et les composants applicatifs circulent".

On peut considérer l'ESB comme une nouvelle génération d'EAI (en français, Intégration d'applications d'entreprise) construite sur des standards comme XML, JMS ou encore les services web. Aussi, la différence majeure avec l'EAI réside dans le fait que l'ESB propose une intégration complètement distribuée grâce à l'utilisation des conteneurs de services[1]. Ces "mini-serveurs" contiennent la logique d'intégration et peuvent être déposés n'importe où sur le réseau.

Sommaire

[modifier] Les principes

L'ESB en tant que médiateur entre les clients et les fournisseurs de services s'appuie sur les principes suivants :

  • La découverte dynamique : les services ainsi que la sémantique associée sont enregistrés dans un annuaire partagé.
  • La chorégraphie des processus métiers et l'orchestration des services associés : un outil permet d’orchestrer automatiquement les services nécessaires à l’implémentation des processus collaboratifs représentés graphiquement.
  • La distribution forte : les services sont distribués sur le réseau de l'entreprise ou sur Internet.
  • La communication par messages : les services s’échangent des messages représentés par des documents textuels.

Le terme ESB a été utilisé la première fois par l'éditeur Sonic Software (filiale Progress Software Corporation). D'une certaine façon les ESB constituent le futur de l'EAI.

[modifier] L'architecture

L'Enterprise Service Bus possède comme son nom l'indique une architecture en bus qui l'oppose à l'architecture hub and spoke des premiers EAI. Ceci fait de l'ESB une solution hautement distribuée. Les composantes de cette architecture sont illustrées sur la figure suivante.

Image:ArchitectureESB.png

  • L'ESB possède quatre fondements [2]:

Le Middleware Orienté Message (MOM) qui permet l'échange de messages de manière asynchrone. Ainsi chaque message est déposé sur une file d'attente avant d'être consommé par le destinataire.

Les services Web qui permettent d'interfacer les applications avec le bus. Chaque service contient une logique d'intégration des messages (transformation, routage, etc).

Les transformations qui concernent les messages circulant sur le bus, elles sont essentielles dans un ESB car son rôle est de permettre à des applications de converser même si elles définissent différemment leurs données.

Le routage intelligent qui découple l'expéditeur du message de son destinataire. C'est en fait l'ESB qui va déduire la destination du message. Pour cela il se base sur le contenu du message et les règles qui ont été définies.

  • Peuvent venir se greffer à cette architecture:

Le Business Activity Monitoring (BAM) qui permet de suivre l'activité d'un processus métier.

Le Business Process Management (BPM) qui a pour but de maîtriser l'orchestration des processus métier, c'est à dire l'enchaînement des échanges entre applications.

[modifier] Les standards

L'ESB peut s'appuyer sur les standards suivants :

  • JMS pour le bus.
  • SOAP, WSDL, UDDI pour les services Web.
  • JBI pour les conteneurs de services.
  • XML, XSLT, XPath pour la transformation et le routage.
  • JCA pour la connexion aux applications.
  • BPEL pour l'orchestration des processus métier.

A noter que le standard JBI est important mais ne remporte pas l'adhésion de tous les acteurs (IBM et BEA notamment). Pour cette raison les éditeurs proposent souvent leur propre conteneur de services.

[modifier] Notes et références

  1. Enterprise Service Bus, David Chappell
  2. Définition du Gartner Inc.

[modifier] Produits propriétaires

[modifier] Produits Libres

[modifier] Liens