JBoss Fuse - Einführung in ESB

In diesem Kapitel beginnen wir mit den Grundlagen von Enterprise Service Bus. Im Folgenden finden Sie eine detaillierte Erläuterung zu ESB mit seinen Vor- und Nachteilen sowie einige Diagramme zum leichteren Verständnis.

Was ist ESB?

ESB steht für Enterprise Service Bus. ESB ist in seiner einfachsten Form eine Middleware, die als Informationsautobahn fungiert und die Kommunikation mehrerer Anwendungen unterstützt.

In der Unternehmenswelt entwickeln wir Lösungen für viele Dinge. Diese Lösungen können unterschiedliche Technologien und Datenformate verwenden. Die gemeinsame Verwendung dieser Lösungen wird aufgrund der Kompatibilitätsabweichung der Kommunikation oder des Datenformats in diesen Technologien umständlich. Deshalb brauchen wir eine Technologie, die es ermöglichtloosely coupled integration zwischen diesen verschiedenen Lösungen.

ESB zielt darauf ab, dieses Integrationsproblem zu vereinfachen, indem es zu einem "HUB" wird, der sich in der Mitte all Ihrer Anwendungen befindet und das Weiterleiten von Nachrichten zwischen ihnen erleichtert. ESB fungiert als Vermittler, fungiert als Informationsautobahn, kümmert sich um das Routing der Datentransformation und überlässt es dem Codierer oder dem Entwickler, sich auf seine eigene Anwendungslogik zu konzentrieren.

Das Verständnis von ESB wird sehr einfach, wenn wir das Problem verstehen, für das es speziell entwickelt wurde, und die Lösung einfach wird. Man sollte ein klares Verständnis dafür haben, wie man viele unterschiedliche Systeme ermöglicht, die in verschiedenen Sprachen geschrieben sind und auf verschiedenen Computern mit unterschiedlichen Datenformaten ausgeführt werden, um Informationen auszutauschen und eine integrierte Geschäftsplattform zu bilden.

Das Integrationsproblem

Auf der Unternehmensplattform arbeiten häufig mehrere Anwendungen zusammen und stellen Geschäftsfunktionen als Ganzes bereit. Die Integration dieser Anwendungen ist jedoch das häufigste Problem. Mit der Zeit wird es sogar schwierig, wenn die Anwendungen wachsen.

Jede Anwendung kann Daten in ihrem eigenen Format eingeben und ausgeben. Dieser Ansatz funktioniert gut, wenn die Anzahl der Anwendungen geringer ist. Mit zunehmender Anzahl der Anwendungen müssen jedoch auch die Integrationsräder mit einem besseren Ansatz umgestellt werden. Wenn beispielsweise eine bestimmte Anwendung für ein Unternehmen geändert werden muss, ist das Ausgabe- oder Eingabedatenformat für alle Anwendungen, die von dieser Master-Anwendung abhängig sind, betroffen.

Ein solcher Ansatz ist die größte Hürde für die Integration, die eine eng gekoppelte Architektur erwartet. Hier kommt ESB ins Spiel. Jede Anwendung muss nicht direkt mit einer anderen Anwendung kommunizieren. Stattdessen kommunizieren alle Anwendungen mit dem ESB und der ESB übernimmt das Routing von Informationen und die Konvertierung des internen Datenformats.

Warum ESB?

Im Folgenden finden Sie einige Punkte, die erklären, warum Enterprise Service Bus unerlässlich ist.

  • ESB soll das Problem der Integration in variantenkompatible Anwendungen vereinfachen.

  • Es fungiert als Middleware, die als Vermittler aller Ihrer Anwendungen dient und das Weiterleiten von Nachrichten zwischen ihnen erleichtert.

  • Anstatt dass jede Anwendung direkt mit jeder anderen Anwendung verbunden ist, verfügt jede Anwendung nur noch über eine Schnittstelle zum ESB.

  • Der ESB ist dafür verantwortlich, Nachrichten in ein / aus einem gemeinsamen Format zu übersetzen und an ihre Ziele weiterzuleiten.

  • Die größte Einsparung bei diesem Ansatz ist ein Segen, wenn Sie eine Ihrer vorhandenen Anwendungen ersetzen müssen. Anstatt eine ganze Reihe neuer Schnittstellen zu schreiben, müssen Sie sich nur noch um eine Schnittstelle kümmern (zwischen Ihrer Anwendung und dem ESB).

SOA & ESB?

SOA und ESB werden üblicherweise synonym verwendet, sind jedoch völlig unterschiedlich.

SOA ist ein Entwurfsmuster, mit dem die Anwendung ihre Funktionen als Dienst über das Netzwerk über Kommunikationsprotokolle verfügbar machen kann, während ESB ein Modell ist, das die Kommunikation zwischen unterschiedlichen Systemen erleichtert. ESB kann jedoch als Backbone bei der Implementierung von SOA verwendet werden.