MuleSoft - Einführung in Mule ESB
ESB steht für Enterprise Service BusDies ist im Grunde ein Middleware-Tool zum Integrieren verschiedener Anwendungen über eine busähnliche Infrastruktur. Grundsätzlich handelt es sich um eine Architektur, die ein einheitliches Mittel zum Verschieben der Arbeit zwischen integrierten Anwendungen bietet. Auf diese Weise können wir mithilfe der ESB-Architektur verschiedene Anwendungen über einen Kommunikationsbus verbinden und ihnen die Kommunikation ermöglichen, ohne voneinander abhängig zu sein.
ESB implementieren
Das Hauptaugenmerk der ESB-Architektur liegt darauf, die Systeme voneinander zu entkoppeln und ihnen eine stetige und kontrollierbare Kommunikation zu ermöglichen. Die Implementierung von ESB kann mit Hilfe von erfolgen‘Bus’ und ‘Adapter’ auf folgende Weise -
Das Konzept des „Busses“, das über einen Messaging-Server wie JMS oder AMQP erreicht wird, wird verwendet, um verschiedene Anwendungen voneinander zu entkoppeln.
Das Konzept des „Adapters“, der für die Kommunikation mit der Backend-Anwendung und die Umwandlung von Daten vom Anwendungsformat in das Busformat verantwortlich ist, wird zwischen Anwendungen und Bus verwendet.
Die Daten oder Nachrichten, die über den Bus von einer Anwendung zu einer anderen übertragen werden, haben ein kanonisches Format, was bedeutet, dass es ein einheitliches Nachrichtenformat gibt.
Der Adapter kann auch andere Aktivitäten wie Sicherheit, Überwachung, Fehlerbehandlung und Verwaltung des Nachrichtenroutings ausführen.
ESB-Leitprinzipien
Wir können diese Prinzipien als zentrale Integrationsprinzipien bezeichnen. Sie sind wie folgt -
Orchestration - Integration von zwei oder mehr Diensten, um eine Synchronisation zwischen Daten und Prozess zu erreichen.
Transformation - Umwandlung von Daten vom kanonischen Format in ein anwendungsspezifisches Format.
Transportation - Abwicklung der Protokollaushandlung zwischen Formaten wie FTP, HTTP, JMS usw.
Mediation - Bereitstellung mehrerer Schnittstellen zur Unterstützung mehrerer Versionen eines Dienstes.
Non-functional consistency - Bereitstellung eines Mechanismus zur Verwaltung von Transaktionen und Sicherheit.
Notwendigkeit von ESB
Die ESB-Architektur ermöglicht es uns, verschiedene Anwendungen zu integrieren, über die jede Anwendung kommunizieren kann. Im Folgenden finden Sie einige Richtlinien zur Verwendung von ESB:
Integrating two or more applications - Die Verwendung der ESB-Architektur ist vorteilhaft, wenn zwei oder mehr Dienste oder Anwendungen integriert werden müssen.
Integration of more applications in future - Angenommen, wir möchten in Zukunft weitere Dienste oder Anwendungen hinzufügen, kann dies mithilfe der ESB-Architektur problemlos durchgeführt werden.
Using multiple protocols - Wenn wir mehrere Protokolle wie HTTP, FTP, JMS usw. verwenden müssen, ist ESB die richtige Option.
Message routing - Wir können ESB verwenden, wenn wir ein Nachrichtenrouting basierend auf dem Nachrichteninhalt und anderen ähnlichen Parametern benötigen.
Composition and consumption - ESB kann verwendet werden, wenn Dienste für Zusammensetzung und Verbrauch veröffentlicht werden müssen.
P2P-Integration vs. ESB-Integration
Angesichts der zunehmenden Anzahl von Anwendungen war eine große Frage vor den Entwicklern, wie verschiedene Anwendungen verbunden werden können. Die Situation wurde durch Handcodierung einer Verbindung zwischen verschiedenen Anwendungen behandelt. Das nennt manpoint-to-point integration.
Rigidityist der offensichtlichste Nachteil der Punkt-zu-Punkt-Integration. Die Komplexität nimmt mit der Anzahl der Verbindungen und Schnittstellen zu. Die Nachteile der P-2-P-Integration führen uns zur ESB-Integration.
ESB ist ein flexiblerer Ansatz für die Anwendungsintegration. Es kapselt und stellt jede Anwendungsfunktionalität als eine Reihe diskreter wiederverwendbarer Funktionen zur Verfügung. Keine Anwendung lässt sich direkt in andere integrieren, stattdessen werden sie wie unten gezeigt über einen ESB integriert.
Für die Verwaltung der Integration besteht ESB aus den folgenden zwei Komponenten:
Service Registry- Mule ESB verfügt über eine Dienstregistrierung / ein Dienstregister, in der alle im ESB bereitgestellten Dienste veröffentlicht und registriert werden. Es dient als Entdeckungspunkt, von dem aus die Dienste und Funktionen anderer Anwendungen genutzt werden können.
Centralized Administration - Wie der Name schon sagt, bietet es einen Überblick über die Transaktionsströme der Leistung von Interaktionen innerhalb des ESB.
ESB Functionality- Die VETRO-Abkürzung wird im Allgemeinen verwendet, um die Funktionalität von ESB zusammenzufassen. Es ist wie folgt -
V(Validieren) - Wie der Name schon sagt, wird die Schemaüberprüfung validiert. Es erfordert einen validierenden Parser und ein aktuelles Schema. Ein Beispiel ist ein XML-Dokument, das ein aktuelles Schema bestätigt.
E(Anreichern) - Fügt einer Nachricht zusätzliche Daten hinzu. Der Zweck besteht darin, die Nachricht für einen Zieldienst aussagekräftiger und nützlicher zu machen.
T(Transformieren) - Konvertiert die Datenstruktur in ein kanonisches Format oder aus einem kanonischen Format. Beispiele sind die Umrechnung von Datum / Uhrzeit, Währung usw.
R(Routing) - Leitet die Nachricht weiter und fungiert als Gatekeeper des Endpunkts eines Dienstes.
O(Bedienen) - Die Hauptaufgabe dieser Funktion besteht darin, den Zieldienst aufzurufen oder mit der Ziel-App zu interagieren. Sie laufen im Backend.
Das VETRO-Muster bietet allgemeine Flexibilität für die Integration und stellt sicher, dass nur konsistente und validierte Daten im gesamten ESB weitergeleitet werden.
Was ist Mule ESB?
Mule ESB ist ein leichter und hoch skalierbarer Java-basierter Enterprise Service Bus (ESB) und eine Integrationsplattform von MuleSoft. Mit Mule ESB kann der Entwickler Anwendungen einfach und schnell verbinden. Unabhängig von verschiedenen Technologien, die von Anwendungen verwendet werden, ermöglicht Mule ESB die einfache Integration von Anwendungen und den Datenaustausch. Mule ESB hat die folgenden zwei Ausgaben -
- Gemeinschaftsausgabe
- Enterprise Edition
Ein Vorteil von Mule ESB ist, dass wir problemlos von der Mule ESB-Community auf Mule ESB Enterprise upgraden können, da beide Editionen auf einer gemeinsamen Codebasis basieren.
Funktionen und Fähigkeiten von Mule ESB
Folgende Funktionen besitzt Mule ESB -
- Es verfügt über ein einfaches grafisches Drag-and-Drop-Design.
- Mule ESB ist in der Lage, Daten visuell abzubilden und zu transformieren.
- Der Benutzer kann Hunderte von vorgefertigten zertifizierten Steckverbindern nutzen.
- Zentrale Überwachung und Verwaltung.
- Es bietet zuverlässige Funktionen zur Durchsetzung der Unternehmenssicherheit.
- Es bietet die Möglichkeit der API-Verwaltung.
- Es gibt ein sicheres Data Gateway für die Cloud- / On-Premise-Konnektivität.
- Es stellt die Dienstregistrierung bereit, in der alle im ESB bereitgestellten Dienste veröffentlicht und registriert werden.
- Benutzer können die Kontrolle über eine webbasierte Verwaltungskonsole haben.
- Das schnelle Debuggen kann mit dem Service Flow Analyzer durchgeführt werden.