Talend enaio Strecke - Getting started

Ich poste hier mal eine kurze aber hoffentlich nützliche Starthilfe für eine Talend Strecke mit enaio Anbindung.

Voraussetzungen

Talend

Als erstens benötigt ihr ein lauffähiges Talend Data Integration oder ESB.
Diese beiden Versionen unterscheiden sich hauptsächlich darin, dass die ESB version auch Untersützung für REST und SOAP Services auf Karaf mitbringt.
Dieses könnt ihr entweder direkt bei Talend oder Sourceforge (Data Integration bzw. ESB) herunterladen.

Zusätzlich benötigt hier eine Java 8 JDK auf dem System.

Da sich Talend je nach Komponenten noch weitere Bibliotheken nachladen möchte ist es sehr hilfreich, wenn das Entwicklungssystem Internet Zugang hat. Falls Ihr dies nicht habt und es hierzu Fragen gibt, dann einfach ein Thema hier im Hub starten.

enaio Komponenten

Die enaio Komponenten werden von uns Open Source angeboten. Da es Abhängigkeiten zu enaio API Bibliotheken gibt, können wir diese leider nicht völlig öffentlich zugänglich machen. Bitte einfach kurz Schreiben wenn ihr Zugang zu diesen möchtet.

Talend starten

Entpackt einfach das Talend ZIP einfach an eine gewünschten Ort und startet die
enthaltene TOS_DI-win-x86_64.exe (Windows) bzw. TOS_DI-linux-gtk-x86_64 (linux).

Als erstes öffnet sich die Auswahl des Projekt und Workspace. Erstellt hier ein Projekt mit einem Namen eurer Wahl und und klickt Finish.
grafik
Wenn ihr die Checkbox Always ask me at startup entfernt kommt das Fenster in Zukunft nicht mehr

Als nächstes öffnet sich Talend mit dem Welcome. Diesen Tab könnt ihr schliessen.

enaio Komponenten einbinden

Info: Die Komponenten heissen talend-blueline da enaio zeitweilig enaio blueline hiess

Als erstes entpakct ihr die talend-blueline Komponenten an einen passenden Ort eurer Wahl auf dem System. Z.B. parallel zum Talend Ordner.

Um die enaio Komponenten einzubinden klickt Ihr anschliessend auf Fenster >> Preferences um die Einstellungen zu öffnen.
grafik

Hier geht ihr in den Bereich Talend>>Components und wählt den talend-blueline Ordner aus.

Klickt anschliessend Apply and Close.

Nun ist die Entwicklungsumgebung bereit für unsere erste Strecke.

Job

Job erstellen

Um nun eine Talend Job zu erstellen klicken wir rechts auf Jobs Design und anschliessend auf Erstelle Job.

grafik

Nun geben wir dem Job einen Namen unserer Wahl und klicken Finish.

grafik

Der neue Job öffnet sich. Rechts sehen wir alle verfügbaren Komponenten. Darunter auch die zuvor importierten enaio Komponenten.

enaio Verbindung erstellen

Wir klicken nun auf die Komponente EnaioConnection und anschiessend auf die Arbeitsfläche (in der Mitte) .

Unten im Reiter Komponente erscheint nun die Konfiguration unserer neuen Komponente.

Hier kann nun unter Connection Type zwischen dem enaio Webservice und der enaio Native API ausgewählt werden. Wir wählen in unserem Fall die enaio Native API. Beim Username und Password wählen müssen gültige Login Daten zu enaio eingegeben werden. Das Ganze sieht dann in etwa so aus:

Suche hinzufügen

Als nächstes ziehen wir die enaioBlueSearch Komponente auf die Arbeitsfläche. Nun verbinden wir die Connection Komponente mit der Such Komponente über das Ereignis „On Component OK“. Dies bedeutet, dass die Suche Ausgeführt werden soll, sobald die Verbindung zu enaio erfolgreich erstellt werden konnte.

grafik

Wählen wir die Such-Komponente aus und wechseln untern auf den Tab Komponente.

Suche konfigurieren

Enaio Connection

Auswahl der Enaio Verbindung. In unserem Fall ist hier bereits die Korrekte Verbindung ausgewählt. Bei Migrationen von enaio zu enaio kann hier aber die entsprechende Verbindung ausgewählt werden.

Ident.

Zielobjekt der nach dem in enaio gesucht werden soll. Es kann entweder der interne Name oder die Objekt Typ ID verwendet werden. Diese könnt ihr im Editor nachsehen. In Unserem Fall nehmen wir "Document" grafik

Query

Die eigentliche Anfrage an enaio. In unserem Fall könne wir diese auf EBQuery query = search.query(); kürzen. um alle Dokumente zu ermitteln.

Edit Schema

Hier könne wir das Schema, also die Informationen angeben, welche wir aus enaio lesen wollen. In unserem Fall wollen wir die ID und den Namen der Dokumente auslesen. Wir klicken hierfür auf Edit schema, zwei mal auf das grüne Plus und konfigurieren die beiden neien Zeilen wie im Screenshot zu sehen.Anschliessend klicken wir auf OK. Bei der enaio ID handelt es sich um ein Integer. Die beiden Grünen Zeilen sind von der Komponente vorgegebene Eigenschaften welche nicht verändert werden können.

grafik

Mapping

Als letztes müssen wir noch der Komponente sagen, welche Felder ausgelesen werden müssen. Hierfür wählen wir bei der ID unter System Field BaseParams - ObjectId aus und tragen beim Name unter Field by internal name den internen Namen des Feldes ein. In unserem Fall "Name".

Ergebnis ausgeben

Als letztes wollen wir testweise unser Ergebnis ausgeben. Hierzu ziehen wir die Komponente tLogRow auf die Arbeitsfläche und verbinden diese mit unserem Flow per Rechsklick auf die Suche>>Zeile>>Main

Ausführen

Nun sind wir so weit und können unseren ersten Job ausführen.
Hierzu wechseln wir auf den Reiter Starte und klicken auf Ausführen.

In der Konsole werden nun die ID und der Name unserer Dokumente Pipe getrennt ausgegeben.

Fazit

Auch wenn wir hier nur an der Oberfläche der Möglichkeiten gekratzt haben, hoffe ich, dass diese Beschreibung einen ersten Eindruck über die Möglichkeiten von Talend zusammen mit den enaio Komponenten bietet.

Anwendungszenarien

  • Komplexe Importe und Exporte inklusive Anbindung an Drittsysteme mit Talend Standard Komponenten (DB, FS, QUEUES, REST Services etc)
  • Queue Listener/Emitter auf ActiveMQ oder ähnlichen Systemen um Live Schnittstellen von und zu enaio zu erstellen
  • Reporting auf Basis von enaio
  • REST Services
  • SOAP Services
  • uvm.