# Talend enaio Strecke - Getting started

**URL:** <https://ecm.community/t/talend-enaio-strecke-getting-started/35>\
**Category:** Java/Talend\
**Tags:** howto\
**Created:** [4. März 2021 um 21:18 UTC](https://ecm.community/t/talend-enaio-strecke-getting-started/35 "2021-03-04T21:18:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![uw](https://ecm.community/user_avatar/ecm.community/uw/32/695_2.png) [@uw](https://ecm.community/u/uw)\
**Post date:** [4. März 2021 um 21:18 UTC](https://ecm.community/t/talend-enaio-strecke-getting-started/35/1 "2021-03-04T21:18:32Z")

</div>

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](https://www.talend.com/de/products/talend-open-studio/) oder Sourceforge ([Data Integration](https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/) bzw. [ESB](https://sourceforge.net/projects/talendesb/files/Talend%20Open%20Studio%20for%20ESB/)) 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).

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/80ad37dc2cf50e59e7389dfa9856715538e4c25d.png)

Als erstes öffnet sich die Auswahl des Projekt und Workspace. Erstellt hier ein Projekt mit einem Namen eurer Wahl und und klickt Finish.  
 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/dc1badd2f21f93be1450be1cfb020d12a3b3b502.png)  
_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.

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/e4687c5899b092f7eb7f69de29ea6a9a7941f782.png)

# 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](https://hub.ecmind.ch/uploads/default/original/1X/48fb66f50bf3cbc945a743704561181fddf4a4aa.png)

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

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/657f8189f98b2ccc98a291b377c67a96ea643725.png)

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](https://hub.ecmind.ch/uploads/default/original/1X/84dd41e874998b5d7e0b78ca65bf42722cf77704.png)

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

![grafik](https://hub.ecmind.ch/uploads/default/original/1X/caa8bdbacec5d49be2790f77af7414a76f7e2b5d.png)

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

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/e25c9eb4a53b2869a4317bf937685926bea4dd4f.png)

## enaio Verbindung erstellen

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

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/a852133bc8fd47804c18b75a04e02c6944309310.png)

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:

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/b154a079445fb5977019f0985ecb86b0de1afd31.png)

## 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](https://hub.ecmind.ch/uploads/default/original/1X/55dda5f445b804cb74c9fb9fdfe718c460d65b3a.png)

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

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/2ad8189f0ac0e6528f317c7cf080aa3aa5dd7f88.png)

## 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](https://hub.ecmind.ch/uploads/default/original/1X/f3bf966cef7ca667bfa339bf73de3def20a289bd.png)

### 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](https://hub.ecmind.ch/uploads/default/original/1X/f2ac1229985d16b299c4eb7492cb7497a7b458a2.png)

### 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"`.

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/1b01b71c9c701e187b99e0a86e11ad2a5366e96a.png)

## 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`

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/3296d0281f391055378a0077b153e5071e210fd2.png)

## 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`.

 ![grafik](https://hub.ecmind.ch/uploads/default/original/1X/1bb1258d020a9ac1609224637f3938f9eb4a627b.png)

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.
