Talend für Service Bus in Unternehmen jeder Größe Im Test: Talend Enterprise ESB 5.2.1

Autor / Redakteur: Götz Güttich / Ulrike Ostler

Mit dem „Enterprise Service Bus 5.2.1“ bietet Talend eine modulare Lösung zur Integration bestehender oder neuer Anwendungen eines Unternehmens auf Open-Source-Basis. Das Testlabor IAIT hat sich angesehen, wie Installation, Konfiguration und Arbeit mit dem Produkt im laufenden Betrieb ablaufen.

Firmen zum Thema

Auch Applikationen nehmen den Bus, den Enterprise Service Bus.
Auch Applikationen nehmen den Bus, den Enterprise Service Bus.
(Bild: Peter Smola / pixelio.de)

Ein Enterprise Service Bus (ESB) dient dazu, Dienste in einem Unternehmensnetz bereit zu stellen. Dazu übernimmt er als Middleware die Datenübertragung zwischen den einzelnen Anwendungen. Es ist beim Einsatz eines ESB folglich nicht mehr erforderlich, spezielle Kommunikationsschnittstellen zwischen Applikationen zu definieren, sondern die Anwendungen kommunizieren alle mit dem Bus und haben so die Möglichkeit, über eine gemeinsame, standardisierte Komponente Daten auszutauschen.

ESBs gibt es schon seit einigen Jahren. Lösungen wie „IBM Websphere“, „Oracle Fusion“ oder auch „Webmethods“ der Software AG stellen ESB-Funktionen bereit. Diese Produkte sind jedoch äußerst komplex und eignen sich hauptsächlich für große Unternehmensumgebungen.

Deswegen haben sich ESBs in kleineren und mittelgroßen Netzen bislang kaum durchgesetzt. Hier tritt nun Talend mit seinem ESB auf den Plan. Das Produkt setzt auf Open-Source-Lösungen auf und soll sehr skalierbar sowie wenig komplex sein. Damit eignet sich die Lösung auch für den Einsatz in Umgebungen, für die ESB bisher kein Thema war.

Talend ESB im Detail

Das ESB-Produkt von Talend besteht einerseits aus einer Eclipse-basierten Tool-Umgebung, andererseits aus Messaging-Komponenten, Webservices, intelligentem Routing und Funktionen zur Datentransformation. Die einzelnen Services können zudem über mehrere Anwendungen hinweg wieder verwertet werden, was ein sehr effizientes Arbeiten ermöglicht. Damit nicht genug, bietet Talends ESB auch noch Funktionen zum Failover und Load-Balancing.

Bildergalerie
Bildergalerie mit 5 Bildern

In seiner Entwicklungsumgebung stellt Talend den Anwendern grafische Paletten mit Icons zur Verfügung, die Funktionen und Konnektoren enthalten. Dank dieses Features haben die Entwickler die Option, Software einfach durch das Ziehen der benötigten Icons auf die Arbeitsfläche und die Definition der dazugehörigen Parameter zu generieren. Insgesamt stellt Talend mehr als 450 Konnektoren bereit, die praktisch alle relevanten Quell- und Zieltypen für Datenintegration, Datenmigration und Datensynchronisierung abdecken. Dazu gehören Dateien, Datenbanken, Big-Data-Lösungen und vieles mehr.

Die Administration von Talend ESB läuft über eine zentrale Administrationskonsole mit der Bezeichnung „Talend Administration Center“ ab (siehe: Abbildung 1). Diese übernimmt das Deployment sowie Upgrades und sorgt so dafür, dass die IT-Verantwortlichen schnell auf wechselnde Integrationsanforderungen reagieren können. Zum Überwachen der Umgebung ist zudem ein Drill-Down auf einzelne Servicestatistiken möglich.

Der Test

Im Test installierte das Labor „Talend ESB 5.2.1“ auf einem Windows-8-Testrechner mit acht Gigabyte RAM, 750 Gigabyte Festplattenkapazität und einem Intel Quad-Core-Prozessor mit 2,4 Gigahertz Taktfrequenz. Als Java-Umgebung kam die zum Testzeitpunkt aktuelle Java-Version 7 Update 17 zum Einsatz.

Nach der Installation entwickelten die Tester mit dem Eclipse-basierten Development-Werkzeug von Talend ein einfaches „Hallo“-Programm, das Nutzern, die ihm über den ESB ihren Namen schickten, den String „Hallo“„{Benutzername}"!" zurücksandte und stellten dieses über den Bus bereit.

Anschließend fügten sie eine bereits bestehende Anwendung in den ESB ein. Zu diesem Zweck existiert eine Beispiel-Applikation von Talend, die die Anforderungen einer Autovermietung mit Reservierungsfunktion und Kundenverwaltung abbildet und die frei für alle Interessierten zur Verfügung steht.

Das Administrationswerkzeug

Nach dem Abschluss der ESB-Installation verwendeten die Tester zunächst einen Browser, um das Talend Administration Center aufzurufen. Dieses arbeitet mit einer übersichtlichen Baumstruktur, die es den zuständigen Mitarbeitern ermöglicht, schnell zu den für sie relevanten Konfiguarationspunkten zu gelangen.

Mit Hilfe des Administrationswerkzeugs lassen sich unter anderem Einstellungen für Projekte und Benutzer vornehmen, das Dashboard mit Verbindungen und Job-Analysen einsehen, die Dienste überwachen und die Server verwalten. Da wir für unseren Test zunächst einmal einen Server benötigten, legten wir zu diesem Zeitpunkt einen solchen an.

Die Hallo-Anwendung

Um mit dem Test fortzufahren, machte das Labor sich im nächsten Schritt daran, die Hallo-Anwendung zu erstellen. Dazu wurde die Talend-Entwicklungumgebung geöffnet und ein neues Projekt angelegt (siehe: Abbildung 2).

Bildergalerie
Bildergalerie mit 5 Bildern

Beim Einrichten des Hallo-Programms arbeiteten die Tester mit den oben bereits erwähnten grafischen Symbolen. Bestimmte Funktionen werden im Entwicklungsstudio durch Icons repräsentiert, die sich auf der rechten Seite nach Themen geordnet in der so genannten Palette finden.

Zu den Themen gehören „Big Data“, „Cloud“, „Datenbanken“, „ESB“, „Eigener Code“ und Ähnliches. Zieht ein Entwickler aus einem dieser Themenbereiche ein Icon in das Arbeitsfenster (das funktioniert per Drag-and-Drop), erzeugt das Talend Development Studio automatisch im Hintergrund den dazugehörigen Code, so dass die IT-Mitarbeiter nur noch die Rahmenbedingungen für die Icons festlegen müssen.

Um nun das IAIT-Hallo-Programm zu erzeugen, erstellten die Prüfer zunächst einen neuen Service mit der Bezeichnung „Hallo“ und importieren das WDSL-Schema. Dadurch sorgten sie dafür, dass die Metadaten des Dienstes in unser Repository übernommen wurden. Das erlaubt es, diese auch in anderen Komponenten zu nutzen.

Das Icon

Danach fügten die Tester dem Dienst einen neuen Job hinzu. Anschließend öffnete sich der Arbeitsbereich. In ihm befanden sich bereits zwei der zuvor erwähnten Icons. Das erste war ein „ESBProviderRequest“-Icon. Dieses empfängt Dienstanfragen aus dem Bus und leitet sie weiter.

Dazu kam noch eine „ESBProviderResponse“-Komponente, die die Antwort an den Bus zurückgibt. Jetzt zogen die Tester aus dem Paletten-Ordner „XML“ ein „XMLMap“-Icon in das Projekt.

Sie statteten dieses mit einem Schema für die übertragenen Daten aus (dazu verwendeten sie die vorher in dem Repository abgelegten WDSL-Schemadaten) und modifizierten den Datenfluss über das Mapping so, dass jeder, der über den ESB seinen Namen an den Hallo-Dienst sendete, die Zeichenkette „Hallo „{Name des Users}“!“ zurück erhielt. Das ließ sich durch eine einfache - mit der Maus gezeichnete – Verbindung zwischen den Request- und den Response-Komponenten realisieren in der wir den Antwortausdruck editierten. Damit war das Programm vollständig.

Hallo! funktioniert

Um den Hallo-Dienst zu nutzen, mussten sie jetzt nur noch eine Software erstellen, die die zu begrüßenden Namen an den ESB schickte. Dazu arbeitete das Prüfteam ebenfalls wieder mit den Icons und der dazugehörige Vorgang nahm keine zehn Minuten in Anspruch.

Nachdem die Lösung gestartet war, fanden sich im Ausgabebereich der Entwicklungsumgebung die in der Tabelle eingegebenen Namen und die dazugehörigen Hallo-Meldungen. Das Programm funktionierte also wie erwartet. Damit kamen die Tester zu dem Schluss, dass der Software-Entwicklungsprozess mit Talend ESB sehr komfortabel abläuft.

Hallo im Runtime Container

Nachdem die Funktionsfähigkeit der eigenen Software sichergestellt war , konnte es daran gehen, das Programm in den Talend Runtime Container zu exportieren, damit es unabhängig vom Entwicklungsstudio nutzbar war. Dazu führten die Tester einen Rechtsklick auf unseren Hallo-Dienst aus und selektierten den Befehl „Export Service“.

Daraufhin erschien ein "Save as"-Fenster. Das Testteam speicherte die Software direkt in dem Deploy-Unterverzeichnis des Talend Runtime Containers (dem Directory "\esb\container\deploy"), so dass sie sofort zum Einsatz kommen konnte. Nach dem Abschluss des Exportvorgangs stand der Hallo-Dienst im Container zur Verfügung.

Das Fallbeispiel Autovermietung

Als Demo-Anwendung (siehe: Abbildung 4) für den ESB liefert Talend eine Software für eine Autovermietung mit. Diese ist dazu in der Lage, Kunden und Autos zu verwalten und Reservierungen für bestimmte Termine vorzunehmen. Die Integration der genannten Software in den ESB lässt sich über die „OSGi“-Kommandozeile durchführen und ist nach der Eingabe von wenigen Befehlen erledigt.

Die Rent-a-Car-Demo

Bildergalerie
Bildergalerie mit 5 Bildern

Nachdem das Labor die Rent-a-Car-Demo eingerichtet hatten, wurde zunächst das grafische Benutzer-Interface gestartet. Die Tester konnten mit seiner Hilfe einen Mietvorgang durch einen bestimmten Kunden simulieren. Zu diesem Zweck wählten sie nach dem Hochkommen des Tools aus der Kundendatenbank zunächst ein Kundenkonto aus und gaben das Mietdatum und das Rückgabedatum an.

Als sie nun auf „Find“ klickten, rief die Applikation über den ESB den „CRMService“ auf, um die Kundendaten und die Kundenstatusinformation in Erfahrung zu bringen. Anschließend gab die Software eine Liste der vorhandenen Fahrzeuge aus, aus der wir eines auswählen konnten. Anschließend klickten wir auf "Reserve" (siehe: Abbildung 5).

Daraufhin rief die Anwendung den „ReservationService“ auf, um die Anfrage weiterzuleiten. Gleichzeitig zeigte das Programm uns eine Bestätigung mit den Buchungsdaten an.

Nutzen der Kommandozeilen

Zusätzlich zu der grafischen Applikation umfasst die Demo auch eine Kommandozeilenanwendung, mit der die Anwender die Datenbanken durchsuchen und Reservierungen vornehmen können. Abgesehen davon lässt sich die Rent-a-Car-Lösung unter anderem auch nutzen, um Failovers zu demonstrieren und um zu zeigen, wie die Web-Dienste mit Hilfe der Web-Services Security (WS-Security) abgesichert werden können.

Diese Schritte hätten jedoch aber den Rahmen dieses Tests gesprengt. Sie lassen sich zudem bereits mit den freien Versionen des ESB durchführen, die für jedermann zum Download auf der Website des Herstellers bereit stehen. Das Labor empfiehlt daher, das Produkt selbst zu installieren und sich einen eigenen Überblick über die Leistungsfähigkeit von Talends ESB zu machen.

Der Autor:

Götz Güttich ist der Leiter des Testlabors IAIT in Korschenbroich.

(ID:39238230)