Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Kapitel 1. Red Hat JBoss Fuse Übersicht
Zusammenfassung
Bei Red Hat JBoss Fuse handelt es sich um einen Open Source Enterprise Service Bus (ESB) mit Hauptaugenmerk auf der Vermittlung, Transformation und das Routing von Daten über mehrere Applikationen, Dienste oder Geräte für sowohl interne als auch externe Dienste hinweg. Durch die Implementierung der »Open Source Gateway initiative« (OSGi) Spezifikation können Bündel oder Funktionalitätsmodule lose gepaart werden und sind sehr gut wiederverwendbar; außerdem können Bündel entfernt installiert, gestartet, gestoppt, aktualisiert und deinstalliert werden, ohne dass ein Rebooten notwendig ist und es können mehrere Versionen jedes Bündels gleichzeitig laufen.
Obwohl keine anerkannte Definition eines ESB existiert, konstatiert David Chappell in seinem Buch Enterprise Server Bus,
dass ein ESB eine auf Standards basierende Integrationsplattform ist, die Messaging, Webdienste, Datentransformation und intelligentes Routing verbindet, um auf zuverlässige Weise die Interaktion einer maßgeblichen Anzahl verschiedener Applikationen über weit reichende Unternehmen mit transaktionaler Integrität zu verbinden und zu koordinieren.
| ||
--David A. Chapell |
Ein ESB vereinfacht die Komplexität der Integration durch das Bereitstellen einer einzelnen, auf Standards basierenden Infrastruktur, in die Applikationen eingebunden werden können. Nachdem eine Applikation oder ein Dienst in den ESB eingebunden sind, haben sie Zugriff auf alle vom ESB bereitgestellten Infrastrukturdienste und können auf alle ebenfalls im ESB eingebundenen Applikationen zugreifen. Sie könnten zum Beispiel ein auf JMS basierendes System zur Rechnungsstellung in ein ESB einbinden und die Transportvermittlung des ESBs zur Offenlegung des System zur Rechnungsstellung über das Web mittels SOAP/HTTP verwenden. Sie könnten auch interne Aufträge oder Bestellungen direkt in das System zur Rechnungsstellung leiten, indem Sie das Bestellsystem direkt in den ESB leiten.
1.1. Komponenten
1.1.1. Apache Camel
Red Hat JBoss Fuse verwendet Apache Camel zum Erstellen von Integrations- und Routing-Lösungen mittels »Enterprise Integration Patterns« (EIPs). Jede Route definiert einen Integrationspfad zwischen Endpunkten, wo ein System Nachrichten senden oder empfangen kann und Daten transformiert, validiert, abgefangen usw. werden können, während sie sich auf diesen Routen befinden. Routen können Endpunkte dynamisch verändern, entweder durch Aktivieren zusätzlicher Bündel basierend auf dem Inhalt der Nachricht oder durch zusätzliche Methoden. Mit über 140 definierten Endpunkten ermöglicht Red Hat JBoss Fuse die Integration mit einer Vielfalt von Diensten sofort bei der Bereitstellung.
Weitere Informationen finden Sie im Apache Camel Entwicklungshandbuch.
1.1.2. Apache CXF
Das eingebettete Framework für Web- und RESTful-Dienste von Red Hat JBoss Fuse basiert auf Apache CXF und liefert eine Engine mit kleinem Fußabdruck für das Erstellen wiederverwendbarer Webdienste sowie Dienste aktivierender neuer und alter Applikationen als Teil einer Integrationslösung. Red Hat JBoss Fuse unterstützt eine Vielfalt an Standards und Protokollen zum Erstellen von Webdiensten, wie unter anderem SOAP und WSDL und ermöglicht »Contract-first« oder »Code-first« Entwicklung mit JAX-WS. Des Weiteren bietet Red Hat JBoss Fuse eine Standardweise für den Build von RESTful-Diensten in Java mit JAX-RS.
Weitere Informationen finden Sie im Apache CXF Entwicklungshandbuch.
1.1.3. Apache ActiveMQ
Der eingebettete Messaging-Dienst von Red Hat JBoss Fuse basiert auf Apache ActiveMQ. Er unterstützt die standardmäßigen JMS 1.1 Features und bietet eine breit gefächerte Palette an JMS-Funktionen für das Erstellen robuster und zuverlässiger Messaging-Applikationen. Red Hat JBoss Fuse besteht aus sowohl einem Messaging-Broker als auch Bibliotheken auf Client-Seite die eine entfernte Kommunikation zwischen distribuierten Client-Applikationen ermöglichen. Red Hat JBoss Fuse unterstützt »Point-to-Point« und »Publish/Subscribe« Messaging sowie persistente und nicht persistente Nachrichten; des Weiteren kann ActiveMQ sowohl vertikal als auch horizontal skaliert werden, um die Bearbeitung einer großen Anzahl an Nachrichten für viele gleichzeitig verbundene Clients zu ermöglichen.
Weitere Informationen finden Sie in der Red Hat A-MQ Produkteinführung.
1.1.4. Fabric8
Bei Fuse Fabric handelt es sich um eine Technologie-Schicht, die es einer Gruppe von Containern ermöglicht einen Cluster zu bilden, der einen gemeinsamen Satz an Konfigurationsinformationen und einen gemeinsamen Satz an Repositorys nutzt, von dem aus auf Runtime-Artifakte zugegriffen wird. Dies ermöglicht den Betrieb einer Reihe von Containern entweder auf Ihrer eigenen Hardware oder in der offenen Hybrid Cloud und bietet unter anderem Vorteile wie Konfigurationsverwaltung, Service-Discovery-Failover, Lastverteilung sowie zentralisierte Überwachung.
Weitere Informationen finden Sie im Fabric Handbuch.
1.1.5. Switchyard
Bei Switchyard handelt es sich um ein leichtgewichtiges Framework für das Bereitstellen von Diensten, das Support für den kompletten Lebenszylus bei der Entwicklung, Bereitstellung und Verwaltung von dienstorientierten Applikationen bietet. Es ermöglicht Ihnen die Bereitstellung und den Betrieb von Diensten mit beschränkten Abhängigkeiten und besteht aus Komponenten wie zusammengesetzten Diensten und zusammengesetzten Referenzen.
Weitere Informationen finden Sie unter Switchyard.