Les Enterprise Service Bus

Java Business Integration

La norme

Java Business Integration est une norme édictée dans la JSR 208. Le problème initial est l'intégration de données en provenance de sources différentes au sein d'un système d'information composé d'applications hétérogènes. JBI définit une architecture qui permet la mise en place de solutions d'intégration basées sur l'utilisation de composants qui communiquent via des messages. Les Enterprise Service Bus sont une implémentation de cette norme. JBI est une spécification normalisant ces intégrations via un jeu d'API permettant à tout fournisseur les respectant de pouvoir se connecter à un conteneur JBI pour échanger des messages avec le reste du S.I. Concretement, un module développé au départ pour un ESB respectant la norme JBI devrait pouvoir être porté sur un autre ESB très simplement.

Les composants

JBI introduit la notion de Composant. Ces composants proposent des services accessibles par l'intermédiaire d'interfaces. Ce sont les parties enfichables dans le bus de service. Il se divisent en deux sous-familles :

Les rôles

Les composants de l'ESB peuvent avoir différents rôles :

Chaque composant peut être à la fois consumer et provider.

Une communication par messages

Les composants de l'ESB communiquent par messages. Ces messages transitent par l'intermédiaire d'un routeur de messages (Normalized Message Router) Ces messages, transitant par le bus de service sont appelés Normalized Message. Les Normalized Messages sont les messages échangés par une application JBI. Ce sont des documents XML formés :

Le Normalized Message Router reçoit et envoie des messages de la part de composants. Il est responsable du routage des messages. Ces messages doivent tous être dans un format normalisé.

Et voici une représentation schématique du Bus de Service :

Exemple de mise en oeuvre >>>