JBoss Fuse - Introduction à ESB

Dans ce chapitre, nous commencerons par les éléments essentiels d'Enterprise Service Bus. Vous trouverez ci-dessous une explication détaillée sur ESB ainsi que ses avantages, ses inconvénients et quelques diagrammes pour une compréhension plus facile.

Qu'est-ce que l'ESB?

ESB signifie Enterprise Service Bus. ESB dans sa forme la plus simple est un middleware qui agit comme une autoroute de l'information aidant plusieurs applications à communiquer.

Dans le monde de l'entreprise, nous développons des solutions pour de nombreux domaines. Ces solutions peuvent utiliser différentes technologies et différents formats de données. Il devient fastidieux d'utiliser ces solutions ensemble en raison de la variance de compatibilité de la communication ou du format de données dans ces technologies. Nous avons donc besoin d'une technologie qui permettraloosely coupled integration entre ces différentes solutions.

ESB vise à simplifier ce problème d'intégration en devenant un «HUB» qui se trouve au milieu de toutes vos applications et facilite le routage des messages entre elles. ESB sert de médiateur, agissant comme autoroute de l'information, s'occupant du routage de la transformation des données, laissant le codeur ou le développeur se concentrer sur sa propre logique d'application.

Comprendre ESB devient très simple quand on comprend le problème pour lequel il a été spécialement conçu et que la solution devient facile. Il faut bien comprendre comment activer de nombreux systèmes disparates, écrits dans différentes langues et fonctionnant sur différentes machines utilisant différents formats de données pour partager des informations et former une plate-forme d'entreprise intégrée.

Le problème d'intégration

Dans la plate-forme d'entreprise, il est courant que plusieurs applications collaborent et fournissent des fonctionnalités métier dans leur ensemble, mais l'intégration de ces applications est le problème le plus récurrent. Cela devient encore plus difficile avec le temps à mesure que les applications se développent.

Chaque application peut entrer et sortir des données dans son propre format. Cette approche fonctionne bien si le nombre d'applications est inférieur, mais à mesure que le nombre d'applications augmente, les roues d'intégration doivent également être modifiées avec une meilleure approche. Par exemple, si une application particulière pour une entreprise doit être modifiée, son format de sortie ou de données d'entrée pour toutes les applications dépendantes de cette application maître est affecté.

Une telle approche constitue le plus gros obstacle pour l'intégration qui attend une architecture étroitement couplée. C'est là qu'ESB entre en scène. Chaque application n'a pas besoin de communiquer directement avec une autre application; à la place, toutes les applications communiquent avec l'ESB et l'ESB gère le routage des informations et la conversion interne du format des données.

Pourquoi ESB?

Voici quelques points qui expliquent pourquoi Enterprise Service Bus est essentiel.

  • ESB vise à simplifier le problème de l'intégration avec des applications compatibles avec des variantes.

  • Il agit comme un middleware, qui sert de médiateur de toutes vos applications et facilite le routage des messages entre elles.

  • Au lieu que chaque application s'interface avec toutes les autres applications directement, chaque application n'a plus qu'une seule interface avec l'ESB.

  • L'ESB est responsable de la traduction des messages vers / depuis un format commun et de leur acheminement vers leurs destinations.

  • L'économie majeure de cette approche est une aubaine si vous devez remplacer l'une de vos applications existantes. Au lieu d'écrire tout un tas de nouvelles interfaces, vous n'avez plus à vous soucier que d'une seule interface (entre votre application et l'ESB).

SOA et ESB?

SOA et ESB sont couramment utilisés de manière interchangeable, mais ils sont complètement différents.

SOA est un modèle de conception qui permet à une application d'exposer ses fonctionnalités en tant que service sur le réseau via des protocoles de communication, tandis que ESB est un modèle qui facilite la communication entre des systèmes disparates, mais ESB peut être utilisé comme une épine dorsale lors de la mise en œuvre de SOA.