Hallo, willkommen zu unserem heutigen Artikel über Apache ServiceMix. Lassen Sie mich Ihnen einen Überblick geben, was ServiceMix ist und was Sie damit machen können. Apache ServiceMix ist ein Laufzeitcontainer für serviceorientierte Architekturkomponenten, Webservices oder Konnektivitätsdienste für Legacy-Systeme. Apache ServiceMix ist ein Open Source Distributed Enterprise Service Bus (ESB) der Enterprise-Klasse, der auf dem unter der Apache-Lizenz veröffentlichten SOA-Modell basiert. Es ist eine der ausgereiftesten Open-Source-Implementierungen eines Enterprise Service Bus und ein Apache-Top-Level-Projekt. Apache ServiceMix stellt einen OSGi-Container bereit, in dem wir Camel- und ActiveMQ-Instanzen ausführen, konfigurieren und verwalten können, und Sie können die anderen Dienste erkunden, die er bereitstellen kann.
In der Zwischenzeit zeigen wir Ihren Stand ServiceMix auf einem CentOS 7-Rechner, um einige grundlegende Integrationsrouten bereitzustellen und den Container um einige zusätzliche Funktionen zu erweitern.
Systemanforderungen
Bevor wir mit der Installation beginnen, müssen wir unseren CentOS 7-Server mit einigen grundlegenden Anforderungen vorbereiten. Für Apache, Karaf und einige andere Binärdistributionen sind mindestens 200 MB freier Speicherplatz erforderlich.
Lassen Sie uns mit den sudo- oder root-Benutzeranmeldeinformationen eine Verbindung zu Ihrem Server herstellen und die folgenden Aufgaben ausführen,
Betriebssystemaktualisierung
Führen Sie den unten angegebenen Befehl aus, um Ihr Betriebssystem mit den neuesten Updates und fehlenden Patches zu aktualisieren.
# yum update
Java-Setup
Zum Ausführen von Apache ServiceMix selbst benötigen Sie Java Runtime Environment (JRE) 1.6.x (Java 6) oder höher. Stellen Sie sicher, dass die Umgebungsvariable JAVA_HOME auf das Verzeichnis gesetzt werden muss, in dem die Java-Laufzeitumgebung installiert ist.
Sie überprüfen die installierte Java-Version und die aktuellen Einstellungen Ihrer JAVA_HOME- und PATH-Variablen mit den folgenden Befehlen.
[root@servicemix ~]# java -version
java version "1.7.0_91"
[root@servicemix ~]# echo $JAVA_HOME
/usr/lib/jvm/jre
[root@servicemix ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Apache Maven
Apache Maven ist ein Softwareprojektmanagement- und Verständnistool. Basierend auf dem Konzept eines Projektobjektmodells (POM) kann Maven den Aufbau, die Berichterstellung und die Dokumentation eines Projekts von einer zentralen Information aus verwalten. Führen Sie den folgenden Befehl aus, um es auf Ihrem Server zu installieren, bevor Sie Apache ServiceMix installieren.
# ]# wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
Extrahieren Sie diese nun mit dem folgenden Befehl in das Verzeichnis ‚/usr/local/‘.
# tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
Wechseln Sie nun in das Verzeichnis „/usr/local/“ und erstellen Sie mit dem folgenden Befehl einen Softlink.
#cd /usr/local/
# ln -s apache-maven-3.3.9 maven
Jetzt richten wir den Maven-Pfad systemweit ein, indem wir eine neue Datei erstellen und die Parameter wie unten gezeigt hinzufügen.
# vim /etc/profile.d/maven.sh
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}
Nach dem Speichern der Datei müssen Sie sich abmelden und wieder anmelden, um Umgebungsvariablen zu implementieren. Um dann die erfolgreiche Installation von Maven zu überprüfen, überprüfen Sie die Version von Maven mit dem folgenden Befehl.
# mvn -version
Apache ServiceMix herunterladen
Nachdem Sie Java eingerichtet haben, müssen Sie den Apache ServiceMix herunterladen, indem Sie das erforderliche Paket auswählen.
Kopieren Sie die Quelllinkadresse und laden Sie sie mit dem Befehl wget auf Ihren Server herunter.
]# wget http://archive.apache.org/dist/servicemix/servicemix-4/4.5.3/apache-servicemix-4.5.3.tar.gz
Verwenden Sie den folgenden Befehl, um das Paket zu extrahieren.
# tar -zxvf apache-servicemix-4.5.3.tar.gz
Installieren von Apache ServiceMix
Ändern Sie Ihr Verzeichnis in das „bin“-Verzeichnis Ihres extrahierten Pakets und führen Sie den folgenden Befehl aus, um die Installation von ServiceMix wie unten gezeigt zu starten.
[root@servicemix ~]# cd apache-servicemix-4.5.3/bin/
[root@servicemix bin]# ./servicemix
Apache ServiceMix-Konsole verwenden
Wir haben Apache ServiceMix erfolgreich installiert und gestartet. Jetzt zeigen wir Ihnen, wie Sie Ihre ServiceMix-Instanz verwalten, Bundles hinzufügen und entfernen und optionale Funktionen installieren können.
Führen Sie den folgenden Befehl aus, um eine Liste aller derzeit auf Ihrem Server installierten Bundles zu erhalten.
karaf@root> osgi:list
Wenn Sie nach etwas Bestimmtem in der Liste suchen, können Sie Unix-ähnliche Pipes und Dienstprogramme verwenden, um Ihnen zu helfen. Führen Sie beispielsweise den folgenden Befehl aus, um alle Apache-bezogenen Bundles in der Liste anzuzeigen.
karaf@root> osgi:list | grep Apache
Viele der Anwendungen, die Sie schreiben, haben eine Art Protokollausgabe. Um die Meldung in der Protokolldatei anzuzeigen, können Sie den Befehl log:diplay verwenden.
karaf@root> log:display
karaf@root> log:display-exception
Optionale Funktionen
Sie können die Liste der Funktionen mit dem Befehl „features:list“ öffnen. Die Übersicht zeigt Ihnen, ob das Feature derzeit installiert ist oder nicht, die Version und den Namen des Features wie unten gezeigt.
karaf@root> features:list
Um die Webkonsole in ServiceMix zu installieren, installieren Sie die Funktion von Ihrer Konsole aus mit dem unten gezeigten Befehl.
karaf@root> features:install webconsole
Überprüfen Sie nun, ob die Funktion in der Übersicht als installiert markiert ist, indem Sie den folgenden Befehl ausführen, um die Webkonsole zu grep.
karaf@root> features:install webconsole
Jetzt können Sie Ihren Browser auf http://localhost:8181/system/console verweisen und sich mit dem Benutzer „smx“ und dem Passwort „smx“ anmelden, um auf die Webkonsole zuzugreifen.
Von der Webkonsole aus können Sie jetzt Bundles starten und stoppen, Einstellungen konfigurieren, optionale Funktionen installieren oder Systeminformationen anzeigen, alles von Ihrer Webkonsole aus, wie unten gezeigt.
Schlussfolgerung
Am Ende dieses Artikels haben wir eine der ausgereiftesten Open-Source-Implementierungen eines Enterprise Service Bus und eines Apache-Top-Level-Projekts kennengelernt, nämlich Apache ServiceMix. ServiceMix ist sicherlich nicht die erste Wahl für die Anwendungsentwicklung, wenn es um Desktop-Software geht. Wenn Sie jedoch mit komplexeren Umgebungen zu tun haben, in denen verschiedene Anwendungen beteiligt sind und miteinander interagieren müssen, kann ein Enterprise Service Bus den Umgang mit solchen Systemen erheblich erleichtern.