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.
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.
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
.
Nun geben wir dem Job einen Namen unserer Wahl und klicken Finish
.
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.
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"
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.
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.