+ All Categories
Home > Documents > Service Bus für Unternehmen - Sysbus

Service Bus für Unternehmen - Sysbus

Date post: 28-Nov-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
8
Ein Enterprise Service Bus (ESB) dient dazu, Dienste in ei nem Unternehmensnetz bereit zu stellen. Dazu übernimmt er als Middleware die Datenübertra gung zwischen den einzelnen An wendungen. Es ist beim Einsatz eines ESB folglich nicht mehr er forderlich, spezielle Kommuni kationsschnittstellen zwischen einzelnen Applikationen zu defi nieren, sondern die Anwendun gen kommunizieren alle mit dem Bus und haben so die Möglich keit, über eine gemeinsame, stan dardisierte Komponente Daten auszutauschen. Ein ESB kommt üblicherweise als Teil einer modularen Service Oriented Infrastructure (SOA) zum Einsatz. In solch einer Um gebung kann er die Datenkom munikation zwischen so unter schiedlichen Systemen wie der Kundendatenbank, der Buchhal tung und dem Supply Chain Ma nagement übernehmen. Er verarbeitet unter anderem Anfra gen von Geschäftsanwendungen, mobilen Geräten, Partnern und Browserzugriffe. Dazu setzt er eine große Zahl unterschiedlicher Dienste, wie Web Portale, Web services oder auch Dateiserver ein. Ein ESB erleichtert die Sys temintegration deutlich, da er das Erstellen eigener Skripts über flüssig macht, und schafft so freie Räume für wichtigere Auf gaben. ESBs gibt es schon seit einigen Jahren. Lösungen wie IBM Web Sphere, Oracle Fusion oder auch webMethods der Software AG stellen ESBFunktionalitäten be reit. Diese Produkte sind jedoch äußerst komplex und eignen sich hauptsächlich für große Unter nehmensumgebungen. 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 – wie be Im Test: Talend ESB 5.2.1 Service Bus für Unternehmen Dr. Götz Güttich Mit dem Enterprise Service Bus 5.2.1 bietet Talend eine modulare Lösung zur Integration bestehender oder neuer Anwendungen eines Unternehmens auf OpenSourceBasis. Wir haben uns im Testlabor angesehen, wie Installation, Konfiguration und Arbeit mit dem Produkt im laufenden Betrieb ablaufen. 1
Transcript
Page 1: Service Bus für Unternehmen - Sysbus

Ein Enterprise Service Bus(ESB) dient dazu, Dienste in ei­nem Unternehmensnetz bereit zustellen. Dazu übernimmt er alsMiddleware die Datenübertra­gung zwischen den einzelnen An­wendungen. Es ist beim Einsatzeines ESB folglich nicht mehr er­forderlich, spezielle Kommuni­kationsschnittstellen zwischeneinzelnen Applikationen zu defi­nieren, sondern die Anwendun­gen kommunizieren alle mit demBus und haben so die Möglich­keit, über eine gemeinsame, stan­dardisierte Komponente Datenauszutauschen.Ein ESB kommt üblicherweiseals Teil einer modularen ServiceOriented Infrastructure (SOA)zum Einsatz. In solch einer Um­gebung kann er die Datenkom­munikation zwischen so unter­schiedlichen Systemen wie derKundendatenbank, der Buchhal­tung und dem Supply Chain Ma­nagement übernehmen. Erverarbeitet unter anderem Anfra­gen von Geschäftsanwendungen,mobilen Geräten, Partnern undBrowserzugriffe. Dazu setzt ereine große Zahl unterschiedlicherDienste, wie Web Portale, Web­services oder auch Dateiserverein. Ein ESB erleichtert die Sys­temintegration deutlich, da er dasErstellen eigener Skripts über­

flüssig macht, und schafft sofreie Räume für wichtigere Auf­gaben.ESBs gibt es schon seit einigenJahren. Lösungen wie IBM Web­Sphere, Oracle Fusion oder auchwebMethods der Software AGstellen ESB­Funktionalitäten be­

reit. Diese Produkte sind jedochäußerst komplex und eignen sichhauptsächlich für große Unter­nehmensumgebungen. Deswegenhaben sich ESBs in kleineren undmittelgroßen Netzen bislangkaum durchgesetzt. Hier tritt nunTalend mit seinem ESB auf denPlan. Das Produkt setzt – wie be­

Im Test: Talend ESB 5.2.1

Service Bus für UnternehmenDr. Götz Güttich

Mit dem Enterprise Service Bus 5.2.1 bietet Talend eine modulare Lösung zurIntegration bestehender oder neuer Anwendungen eines Unternehmens aufOpen­Source­Basis. Wir haben uns im Testlabor angesehen, wieInstallation, Konfiguration und Arbeit mit dem Produkt imlaufenden Betrieb ablaufen.

1

Page 2: Service Bus für Unternehmen - Sysbus

reits angesprochen – auf Open­Source­Lösungen auf und sollsehr skalierbar sowie wenig kom­plex sein. Damit eignet sich dieLösung auch für den Einsatz inUmgebungen, für die ESB bisherkein Thema war.

Talends ESB im DetailTalends ESB besteht einerseitsaus einer Eclipse­basierten Too­lumgebung, andererseits ausMessaging­Komponenten, Web­services, intelligentem Routingund Funktionen zur Datentrans­formation. Mit der Lösung lassensich Web­ und Datendienste ent­wickeln, die dazu in der Lagesind, heterogene IT­Umgebungenzu integrieren und das nicht nurinnerhalb eines Unternehmens,sondern auch über mehrere Orga­nisationen hinweg und in derCloud. Die einzelnen Serviceskönnen zudem über mehrere An­wendungen hinweg wieder ver­wertet werden, was ein sehreffizientes Arbeiten ermöglicht.

Damit nicht genug, bietet TalendsESB auch noch Funktionen zumFailover und Load­Balancing.Die Toolumgebung auf Basis vonEclipse versetzt die zuständigenMitarbeiter in die Lage, Java

Webservices, REST­Anwendun­gen, Datenservices und Messa­ging­Routen in einer einzigenOberfläche zu entwickeln, zukompilieren, zu testen und zu de­ployen. Darüber hinaus bestehtdie Möglichkeit, Integrationslö­sungen auf Basis von EnterpriseIntegration Patterns (EIPs) zu er­stellen. Bei den EIPs handelt essich um standardisierte Bausteinefür die gängigsten Integrationsan­forderungen.In seiner Entwicklungsumgebungstellt Talend den Anwendern gra­fische Paletten mit Icons zur Ver­fügung, die Funktionen undKonnektoren enthalten. Dankdieses Features haben die Ent­

wickler die Option, Softwareeinfach durch das Ziehen der be­nötigten Icons auf die Arbeitsflä­che und die Definition derdazugehörigen Parameter zu ge­nerieren. Insgesamt stellt Talendmehr als 450 Konnektoren bereit,die praktisch alle relevantenQuell­ und Zieltypen für Daten­integration, Datenmigration undDatensynchronisierung abdecken.Dazu gehören Dateien, Daten­banken, Big­Data­Lösungen undvieles mehr. Bei Bedarf ist esaber auch jederzeit möglich, ei­genen Code in die Programmeeinzufügen. Auf die Erstellungder Software­Komponenten ge­hen wir später im Test noch ge­nauer ein.Die Administration von TalendESB läuft über eine zentrale Ad­ministrationskonsole namens"Talend Administration Center"ab. Diese übernimmt das De­ployment sowie Upgrades undsorgt so dafür, dass die IT­Ver­antwortlichen schnell auf wech­selnde Integrationsanforderungenreagieren können. Zum Überwa­chen der Umgebung ist zudemein Drill­Down auf einzelne Ser­vicestatistiken möglich. Damitlassen sich Events analysierenund prozessübergreifende Ser­viceaktivitäten unter die Lupenehmen.Talend ESB steht in drei ver­schiedenen Versionen zur Verfü­gung. Bei der Standard Editionhandelt es sich um eine OpenSource­Version mit der sich le­diglich Services erstellen undnutzen lassen. Talend Open Stu­dio for ESB umfasst zusätzlichdie Entwicklungsumgebung aufEclipse­Basis. Talend EnterpriseESB – die in unserem Test einge­setzte Lösung – bietet darüberhinaus noch diverse Manage­

2

Das Talend Administration Center ist die zentrale Stelle zum Verwalten derESB­Lösung

Page 3: Service Bus für Unternehmen - Sysbus

mentfunktionen, wie zum Bei­spiel eine Entwicklungsumge­bung für mehrere Benutzer.Details zu den Unterschiedenzwischen den einzelnen Varian­ten finden sich unter http://de.ta­lend.com/products/esb.Technische Hintergrundinfor­mationenEinige Komponenten von TalendESB setzen auf Apache auf. Sobasieren die Webservices aufdem Framework Apache CXF,das sich einsetzen lässt, umSOAP­ und REST­Web­Dienstezu erstellen.Für die Integration der Dienstefindet im Gegensatz dazu ApacheCamel Verwendung. Dabei han­delt es sich um eine regelbasierteRouting­ und Konvertierungsen­gine, die auf den bereits erwähn­ten EIPs aufsetzt und sich mitJava programmieren lässt. Als

Runtime Container kommtschließlich Apache Karaf zumEinsatz.Der TestIm Test installierten wir TalendESB 5.2.1 auf einem Windows­8­Testrechner mit acht GByteRAM, 750 GByte Festplattenka­pazität und einem Intel Quad­Co­

re­Prozessor mit 2,4 GHzTaktfrequenz. Als Java­Umge­bung kam die zum Testzeitpunktaktuelle Java­Version 7 Update17 zum Einsatz. Nach der Instal­lation entwickelten wir mit demEclipse­basierten Development­Werkzeug von Talend ein einfa­ches "Hallo"­Programm, dasNutzern, die ihm über den ESBihren Namen schickten, denString "Hallo "{Benutzerna­me}"!" zurücksandte und stelltendieses über den Bus bereit.Anschließend realisierten wir –ebenfalls mit der Entwicklungs­umgebung – eine Datenbankab­frage über den ESB. ZumSchluss fügten wir eine bereitsbestehende Anwendung in denESB ein. Zu diesem Zweck exis­tiert eine Beispielapplikation vonTalend, die die Anforderungen ei­ner Autovermietung mit Reser­vierungsfunktion und Kunden­

verwaltung abbildet und die freifür alle Interessierten zur Verfü­gung steht. Sie lässt sich folglichnach der Installation des ESBüberall für Testzwecke nutzen.InstallationTalend ESB 5.2.1 wird in Formeiner Installationsdatei und einerDepotdatei, die alle benötigten

Komponenten enthält, ausgelie­fert. Um die Software zu instal­lieren, reicht es, die beiden Filesin ein gemeinsames Verzeichniszu legen, die Variable "JA­VA_HOME" zu setzen, damit derInstaller die auf dem System vor­handene Java­Umgebung findenkann, und die Setup­Routine zustarten. Danach kommt ein Wi­zard hoch, der zunächst einmaldie Lizenzinformationen anzeigt,dann die Lizenzdatei habenmöchte und zum Schluss fragt,welche Komponenten er wo in­stallieren soll. Für Client­Konfi­gurationen ergibt es zum Beispieloftmals Sinn, nur die Entwick­lungsumgebung einzuspielen. Fürunseren Test entschieden wir unsaber dafür, alle Bestandteile zuinstallieren. Abgesehen davonhaben die zuständigen Mitarbei­ter während des Setups auch dieOption, die Serverkomponenten(Administration Center, Com­mand Line, Job Server und Run­time) als Systemdienste oder alsmanuell zu startende Produkteeinzurichten. Die Konfigurationder Datenbank für das TalendAdministration Center schließtden Setup Wizard gemeinsam mitder Definition des SVN­Serversund ähnlichem ab.InbetriebnahmeNachdem die Installation beendetwar, starteten wir zunächst ma­nuell den Web Server mit Tomcatund dem Administration Centersowie Karaf als Container, da wirdiese Dienste in unserer Testum­gebung nicht als System Serviceseingerichtet hatten. Anschließendverwendeten wir unseren Brow­ser, um das Talend Administrati­on Center aufzurufen. Dortloggten wir uns mit den Stan­dard­Zugriffsdaten "[email protected] / admin" ein. AusSicherheitsgründen verfügt das

3

Unser Hallo­Programm mit den dafür verwendeten Icons

Page 4: Service Bus für Unternehmen - Sysbus

Default­Konto ausschließlichüber das Recht, Benutzerkontenzu verwalten. Auf diese Weisestellt Talend sicher, das währendder täglichen Arbeit mit demSystem keine Standard­Loginda­ten zum Einsatz kommen, waswir für sehr sinnvoll halten. Wirlegten also jetzt im ersten Schrittein Administratorkonto an, logg­ten uns aus und meldeten uns alsAdministrator wieder an.Das AdministrationswerkzeugDas Talend Administration Cen­ter arbeitet mit einer übersichtli­chen Baumstruktur, die es denzuständigen Mitarbeitern ermög­licht, schnell zu den für sie rele­vanten Konfiguarationspunktenzu gelangen. Mit Hilfe des Admi­nistrationswerkzeugs lassen sichunter anderem Einstellungen fürProjekte und Benutzer vorneh­men, das Dashboard mit Verbin­dungen und Job­Analysen ein­sehen, die Dienste überwachenund die Server verwalten. Da wirfür unseren Test zunächst einmaleinen Server benötigten, legtenwir zu diesem Zeitpunkt einensolchen an. Dazu mussten wir dieKommunikationsports definieren,dem Server einen Namen geben,den Host festlegen, den Timeoutbestimmen und so weiter. Optio­nal ist es auch möglich, die Kom­munikation mit dem Server viaSSL abzusichern. Nach dem Ab­schluss der Definition des Ser­vers erscheint er mit seinemStatus und der aktuellen Konfi­guration sofort in der Übersichtund die Administratoren habenbei Bedarf die Option, über denSchaltfläche "Admin Server" aufdie Apache Karaf Web Consolezu wechseln.Zur Repository­Verwaltung lie­fert Talend bei seinem ESB übri­gens "Apache Archiva" mit. Bei

der Arbeit mit dieser Softwarelö­sung stellten wir fest, dass die In­stallationsroutine den Pfad zurJava­Umgebung während des Se­tups ausliest und anschließend indie Archiva­Datei "wrapper.conf"einträgt. Aktualisiert man nunseine Java­Installation und derPfad ändert sich (zum Beispielbei der Aktualisierung von Java 7

Update 15 auf Java 7 Update 17),so reicht es nicht aus, die "JA­VA_HOME"­Variable wieder neuzu setzen, da der wrapper.conf­Eintrag bestehen bleibt. Versuchtman danach, Archiva zu starten,so quittiert das System diesenVersuch mit einer Fehlermel­dung. Erst das manuelle Anpas­sen des Pfads in der wrap­per.conf­Datei macht das Systemwieder lauffähig. Ein Worka­round für dieses Problem liegtdarin, einen festen, immer gleich­bleibenden Pfad zur Java­Umge­bung zu verwenden. Dennochwill Talend das Problem in einemder nächsten Software­Releasesbeheben.Die Hallo­AnwendungUm mit unserem Test fortzufah­ren, machten wir uns im nächsten

Schritt daran, die Hallo­Anwen­dung zu erstellen. Dazu öffnetenwir die Talend­Entwicklungum­gebung und legten ein neues Pro­jekt an.Beim Einrichten des Hallo­Pro­gramms arbeiteten wir mit denoben bereits erwähnten grafi­schen Symbolen. Bestimmte

Funktionen werden im Entwick­lungsstudio durch Icons reprä­sentiert, die sich auf der rechtenSeite nach Themen geordnet inder so genannten Palette finden.Zu den Themen gehören bei­spielsweise "Big Data", "Busi­ness Intelligence", "Cloud", "Da­tei", "Datenbanken", "ESB", "Ei­gener Code" und ähnliches. Ziehtein Entwickler aus einem dieserThemenbereiche ein Icon in dasArbeitsfenster (das funktioniertper Drag­and­Drop), so erzeugtdas Talend Development Studioautomatisch im Hintergrund dendazugehörigen Code, so dass dieIT­Mitarbeiter nur noch die Rah­menbedingungen für die Iconsfestlegen müssen.Möchte ein Anwender zum Bei­spiel eine Access­Datenbank als

4

Nach dem Kompilieren und Bereitstellen eines Service zeigt das Entwicklungs­studio im Arbeitsbereich an, unter welcher URL der Service ansprechbar ist(hier: "http://localhost:8090/services/Hello.World")

Page 5: Service Bus für Unternehmen - Sysbus

Eingabe definieren, so wechselter in der Palette in den Ordner"Datenbanken/Access" und ziehtdas AccessInput­Element in denArbeitsbereich. Danach kann erin den zu dem Element gehören­den Konfigurationsdialogen dieAccess­Version, den Pfad zurDatenbank, den Benutzernamenund ähnliches angeben. Danachist die Konfiguration des Date­ninputs abgeschlossen und dieDatenbank lässt sich für das Pro­jekt nutzen. Beispielsweise kön­nen die Benutzer im nächstenSchritt über eine Mapping­Funk­tion bestimmte Einträge der Da­tenbank übernehmen, neu an­ordnen und ähnliches. Dazu müs­sen sie lediglich ein Mapping­Icon in die Arbeitsfläche ziehen,das Mapping definieren und eineVerbindung zwischen dem Date­ninput und dem Mapping­Iconanlegen (das geht durch das Zie­hen einer Linie zwischen denbeiden Icons mit der rechtenMaustaste).Zum Schluss ist es dann nur nocherforderlich, einen Daten­Outputzu generieren (ebenfalls über einIcon) um das Programm zur Da­tenumwandlung fertig zu stellen.Aufgrund der großen Zahl dervordefinierten Funktionen lassensich fast alle anfallenden Aufga­ben mit Hilfe der Icons erledigen,so dass manueller Programmier­aufwand in den meisten Fällenüberhaupt nicht entsteht. Deswe­gen können auch Mitarbeiter mitgeringen und eingerosteten Pro­grammierkenntnissen gut mit derLösung arbeiten.Für unser Hallo­Programm ver­wendeten wir einen ähnlichenAnsatz wie für das eben be­schriebene Beispielprogramm zurDatenumwandlung. Wir wolltenzwar nicht nur Daten umwan­

deln, sondern auch mit dem ESBkommunizieren, aber der Pro­grammaufbau ist vergleichbar.Zunächst erstellten wir einenneuen Service namens "Hallo"

und importieren das WDSL­Schema. Dadurch sorgten wir da­für, dass die Metadaten desDienstes in unser Repositoryübernommen wurden, um sieauch in anderen Komponentennutzen zu können. Danach fügtenwir dem Dienst einen neuen Jobhinzu. Anschließend öffnete sichder Arbeitsbereich. In ihm befan­den sich bereits zwei Icons. Daserste war ein "ESBProviderRe­quest"­Icon. Dieses empfängtDienstanfragen aus dem Bus undleitet sie weiter. Dazu kam nocheine ESBProviderResponse­Komponente, die die Antwort anden Bus zurückgibt. Jetzt zogenwir aus dem Paletten­Ordner"XML" ein XMLMap­Icon inunser Projekt. Wir statteten die­ses mit einem Schema für dieübertragenen Daten aus (dazuverwendeten wir die vorher inunserem Repository abgelegtenWDSL­Schemadaten) und modi­fizierten den Datenfluss über dasMapping so, dass jeder, der überden ESB seinen Namen an denHallo­Dienst sendete, die Zei­chenkette "Hallo "{Name des

Users}"!" zurück erhielt. Das ließsich durch eine einfache – mit derMaus gezeichnete – Verbindungzwischen den Request­ und denResponse­Komponenten realisie­

ren in der wir den Antwortaus­druck so editierten, dass vor derEingabe ein "Hallo " und nachder Eingabe ein "!"­String hinzu­gefügt wurde.Damit war das Programm voll­ständig und wir konnten es überden Befehl "Ausführen" in derKonfigurationsleiste unterhalbdes Arbeitsbereichs kompilierenund bereitstellen.Um den Hallo­Dienst zu nutzen,mussten wir jetzt nur noch eineSoftware erstellen, die die zu be­grüßenden Namen an den ESBschickte. Dazu legten wir zu­nächst einen neuen Job an undfügten ihm aus der Palette ein Fi­xedFlowInput­Icon hinzu. Dazukamen wieder ein XMLMap­Element, sowie ein ESBConsu­mer­ und zwei LogRow­Einträge.Die FixedFlowInput­Routine er­zeugt die Eingabe. Wir hättenstattdessen auch eine Datenbankoder ähnliches nehmen können,um das Beispielprogramm ein­fach zu halten, gaben wir aber ei­ne feste Tabelle mit drei Namen

5

Der Service zum Abfragen von Buchtiteln

Page 6: Service Bus für Unternehmen - Sysbus

vor, die wir direkt in der Konfi­guration des Input­Icons anleg­ten.Das XMLMap­Element über­nimmt den Job, die Eingabe derInput­Routine an den Dienst wei­terzuleiten. Dazu importiertenwir die Dienstinformationen in­nerhalb der Mapping­Funktion

aus dem Repository, wo sie jaschon von der Servicedefinitionher vorlagen, und verbanden denInput aus der Namenstabelle perDrag­and­Drop damit.Die ESBConsumer­Funktion ruftschließlich den Dienst auf undliefert die Antwort zurück. Dazumussten wir in seinen Konfigura­tionsoptionen die URL derDienstadresse unseres zuvor er­stellten Hallo­Programms einfü­gen.Diese gibt das Studio nach demKompilieren und Bereitstellender Software im Arbeitsbereichaus. Damit wir auf dem Bild­schirm etwas sehen konnten, ver­wendeten wir zum Schluss diebeiden zuvor erwähnten Lo­gRow­Elemente. Eines davonnahm die Antwort in Empfang,das zweite kam als Ziel für even­tuelle Fehlermeldungen zum Ein­satz.

Nachdem wir den Job gestartethatten, fanden sich im Ausgabe­bereich der Entwicklungsumge­bung die drei von uns in derTabelle angegebenen Namen unddie dazugehörigen Hallo­Mel­dungen. Das Programm funktio­nierte also wie erwartet und wirzogen aus unseren bisherigen Er­fahrungen den Schluss, dass derSoftwareentwicklungsprozess mitTalend ESB sehr komfortabel ab­läuft.Einsatz des Hallo­Programmsin einem Talend Runtime Con­tainerNachdem wir die Funktionsfähig­keit unserer Software sicherge­stellt hatten, konnte es darangehen, das Programm in den Ta­lend Runtime Container zu ex­portieren, damit es unabhängigvom Entwicklungsstudio nutzbarwar. Dazu führten wir einenRechtsklick auf unseren Hallo­Dienst aus und selektierten denBefehl "Export Service". Darauf­hin erschien ein "Save as"­Fens­ter. Wir speicherten die Softwaredirekt in dem Deploy­Unterver­zeichnis des Talend RuntimeContainers (dem Directory"\esb\container\deploy"), so dasssie sofort zum Einsatz kommenkonnte. Nach dem Abschluss desExportvorgangs stand unser Hal­lo­Dienst im Container zur Ver­fügung.Um nun seine Funktionalitätnochmals zu testen, setzten wirwieder das gleiche Benutzerpro­gramm ein wie vorher. Dazumussten wir lediglich in der Kon­figuration der ESBConsumer­Funktion den Port in der Service­URL von dem Testport des Studi­os (8090) auf den Standardportdes Talend­Containers (8040) än­dern, damit das System mit demrichtigen Dienst kommunizierte.

Danach konnten wir das Pro­gramm erneut aufrufen und allesfunktionierte wie zuvor, nur dassman jetzt die Ausgabe der Soft­ware auch im Output­Fenster desContainers mit verfolgen konnte.RoutingTalend ESB bringt – wie ein­gangs erwähnt – eine leistungsfä­hige Routing­Funktion mit. Dieselässt sich beispielsweise einset­zen, um Eingaben an verschiede­ne Instanzen eines Dienstes zuverteilen, unterschiedliche Aus­gaben zu erzeugen oder auchdoppelte Daten auszufiltern. Au­ßerdem ist es damit beispielswei­se möglich, auf unterschiedlicheSoftwareversionen bei einzelnenPartnern einzugehen und diesenspeziell auf ihre Software ange­passte Daten zu schicken. Eswürde den Rahmen dieses Testssprengen, im Detail auf dieseFunktionalität einzugehen. Es seinur gesagt, dass sich Routen überdie "Mediation"­Perspektive desEntwicklungsstudios erstellenlassen und dass ihre Konfigurati­on genau wie die Softwareent­wicklung mit Hilfe von Iconsabläuft.Routen lassen sich auch genauwie Services exportieren und de­ployen. Der Umgang mit Routenwird sehr detailliert in der um­fangreichen und guten Talend­Dokumentation beschrieben, die– wie die Open­Source­Versionder ESB­Software – zum kosten­losen Download auf der Websitedes Herstellers zur Verfügungsteht.Die DatenabfrageNach dem Abschluss der Arbeitmit der Hallo­Software wendetenwir uns dem zuvor angekündig­ten Job zur Datenabfrage zu. AlsDatenquelle kann hier alles Mög­

6

Das grafische Benutzerinterface derRent­a­Car­Demo

Page 7: Service Bus für Unternehmen - Sysbus

liche zum Einsatz kommen, voneiner Datenbank bis hin zu einereinfachen Datei. Für unser Test­programm setzten wir als Daten­pool eine CSV­Datei ein, dieverschiedene Buchtitel mit dendazugehörigen Autorennamenenthielt.Für die Kommunikation mit demBus verwendeten wir wiedereinen Job mit den beidenESBProviderRequest­ und ESB­

ProviderResponse­Icons. DasMapping lief erneut über einXMLMap­Element. Zusätzlichfügten wir aber noch unsere Da­tenquelle in das Programm ein,die wir über ein "Datei/Ausga­be"­FileInputDelimited­Icon andie Software anbanden. Anschlie­ßend konfigurierten wir das Map­ping so, dass das Programm eineAnfrage aus dem Bus nach einemBuchtitel mit der Titelspalte derCSV­Datei verglich und den ge­fundenen Titel im Erfolgsfallwieder an den Bus zurückgab.Damit war auch dieses Pro­gramm abgeschlossen und konn­te im Netz bereitgestellt werden.Um die Titel an den Bus zu sen­den, verwendeten wir im Test üb­rigens eine entsprechend ange­passte Fassung des Programms,mit dem wir zuvor die Namen an

unseren Hallo­Dienst geschickthatten.Fallbeispiel AutovermietungAls Demo­Anwendung für denESB liefert Talend eine Softwarefür eine Autovermietung mit.Diese ist dazu in der Lage, Kun­den und Autos zu verwalten undReservierungen für bestimmteTermine vorzunehmen.Der Code für die Anwendungliegt in Development Studio vor,es besteht aber auch die Option,die Software als fertige Anwen­dung in die Laufzeitumgebungdes ESB zu integrieren. In die­sem Test entschieden wir uns fürden zweiten Weg, da wir das Be­reitstellen von Services über dasStudio ja bereits erledigt hatten.Die Daten für die Demoanwen­dung finden sich im Talend­In­stallationsordner unter "esb\examples\talend\tesb\rent­a­car".Für den Build­Prozess der Soft­ware muss Apache Maven aufdem verwendeten Rechner vor­handen sein. Wenn diese Voraus­setzung erfüllt ist, lässt sich dasProgramm durch den im Rent­a­Car­Verzeichnis durchgeführtenBefehl "mvn clean install" ein­spielen.Sobald dieser Vorgang abge­schlossen war, machten wir unsdaran, die Demo­Dienste in denTalend Runtime­Container zu de­ployen. Dieser Schritt lässt sichüber die OSGi­Kommandozeiledurchführen und ist nach der Ein­gabe von zwei Befehlen erledigt.Das gleiche gilt für das Deploy­ment der Demo­Clientanwen­dung. Die Integration einerAnwendung in den Talend ESBgestaltet sich folglich völlig pro­blemlos und ist in kürzester Zeitabgeschlossen.

Die Arbeit mit der Rent­a­Car­DemoNachdem die Installation derRent­a­Car­Demo abgeschlossenwar, starteten wir zunächst dasgrafische Benutzerinterface undsimulierten mit seiner Hilfe einenMietvorgang durch einen be­stimmten Kunden. Zu diesemZweck wählten wir nach demHochkommen des Tools aus derKundendatenbank zunächst einKundenkonto aus und gaben dasMietdatum und das Rückgabeda­tum an.Als wir nun auf "Find" klickten,rief die Applikation über denESB den "CRMService" auf, umdie Kundendaten und die Kun­denstatusinformation in Erfah­rung zu bringen. Anschließendgab die Software eine Liste dervorhandenen Fahrzeuge aus, ausder wir eines auswählen konnten.Anschließend klickten wir auf"Reserve". Daraufhin rief dieAnwendung den "ReservationS­ervice" auf, um die Anfrage wei­terzuleiten. Gleichzeitig zeigtedas Programm uns eine Bestäti­gung mit den Buchungsdaten an.Zusätzlich zu der grafischen Ap­plikation umfasst die Demo aucheine Kommandozeilenanwen­dung, mit der die Anwender dieDatenbanken durchsuchen undReservierungen vornehmen kön­nen. Abgesehen davon ist es auchmöglich, die Demo um eine Ser­vice Locator­Komponente undeine Service Activity Monitoring­Funktion (SAM) zu erweitern.Der Service Locator übernimmtdie Aufgabe, die Service End­points öffentlich zu registrieren.Das heißt, die Dienstnutzer wer­den in die Lage versetzt, dieEndpoints während der Laufzeitzu erkennen, sie müssen also

Die Liste der verfügbaren Mietautos

7

Page 8: Service Bus für Unternehmen - Sysbus

nicht wissen, an welchem Ort derEndpoint genau läuft. Außerdemhaben die Dienstanbieter mit demService Locator die Möglichkeit,ihre Endpoints automatisch zu re­gistrieren beziehungsweise zuderegistrieren und so bei Bedarfden Nutzern zur Verfügung stel­len.

Das SAM überwacht im Gegen­satz dazu Service Calls. Mit dengesammelten Daten lassen sichNutzungsstatistiken erstellen undFehler eingrenzen.Darüber hinaus besteht auchnoch die Möglichkeit, die Demoin zwei unterschiedlichen Contai­nern laufen zu lassen und Server­Failovers zu simulieren. Zusätz­lich lässt sich die Demo auchnutzen, um zu zeigen, wie dieWeb­Dienste mit Hilfe der Web­Services Security (WS­Security)abgesichert werden können undwie Repository ManagementSoftware gemeinsam mit der De­mo funktioniert.All diese Schritte würden denRahmen dieses Tests sprengen.

Sie lassen sich auch bereits mitden freien Versionen der Softwa­re durchführen, die für jeder­mann zum Download auf derWebsite des Herstellers bereitstehen. Außerdem wurden sie imzu der Lösung gehörenden Get­ting­Started­Guide genau be­schrieben, so dass wir nur

empfehlen können, das Produktselbst zu installieren und sicheinen eigenen Überblick über dieLeistungsfähigkeit von TalendsESB zu machen.FazitTalend ESB 5.2.1 lässt sich ver­hältnismäßig einfach in Betriebnehmen und verwalten. Die In­stallation der Software nahm beiuns nur wenige Minuten in An­spruch und die grafische Admi­nistrationskonsole konnte unswegen ihres Leistungsumfangsund ihrer Übersichtlichkeit über­zeugen.Management und Konfigurationdes Systems stellen damit keinProblem dar. Das besondereHighlight des Produkts ist aber

die Entwicklungsumgebung mitden Icons, die auch Anwendermit wenigen bis gar keinen Pro­grammierkenntnissen in die Lageversetzt, Datendienste zu erstel­len und Routen anzulegen.Die Entwicklungsumgebung vonTalend ESB ermöglicht abernicht nur das einfache Software­development, sondern unterstütztdie Anwender auch bei der Inte­gration ihrer Lösungen, beimTesten und beim Deployment.Die restlichen Bestandteile desESB wie der Webservices­Stack,die Load­Balancing­ und High­Availibility­Features sowie dieContainer und das Repositorykönnen ebenfalls überzeugen.Damit ist Talends ESB eine sehrsinnvolle Lösung für Unterneh­men aller Größen, die über dieEinführung eines Service Busnachdenken, aber keines der Pro­dukte der großen Player wie IBMund Oracle nutzen möchten undöffnet damit für ESBs völlig neueMärkte.Talend Enterprise ServiceBus 5.2.1Service Bus zum Bereitstellenvon Diensten in einem Unter­nehmensnetzwerk mit Toolum­gebung, Messaging­Komponen­ten, Webservices, intelligentemRouting und Funktionen zur Da­tentransformation.Vorteile:­ Einfache Installation­ Übersichtliche Administration­ Großer Funktionsumfang­ Leistungsfähige Entwicklungs­

umgebungHersteller:Talendhttp://de.talend.com

Das Repository mit Archiva

8


Recommended