Hier zeigen wir die Talend-Integration über den Aufruf eines HTTP-Webservices. In Talend führen wir die Extraktion durch einen HTTP Aufruf. Das untere Bild zeigt die Archtitektur. Xtract Universal extrahiert die Daten aus SAP und liefert sie über HTTP im CSV-Format. In Talend können wir anschließend die extrahierten Daten weiterverarbeiten und z.B. in eine Datenbank schreiben. talend-http-architecture

Dieses Szenario setzt kein bestimmtes Betriebssystem voraus, im Unterschied zum Szenario mit der Kommandozeile, das nur auf einem Windows-Betriebssystem läuft.
Jobübersicht in Talend
Die Übersicht des Jobs in Talend zeigt die verwendeten Schritte. Es sind insgesamt fünf Schritte, auf die wir unten noch näher eingehen:
talend-00-job-overview


Extraktion in Xtract Universal
Hier sehen wir die Definition der Extraktion in Xtract Universal. Wir extrahhieren Kundendaten aus der SAP-Tabelle KNA1:
talend-xu-extraction-def
In Xtract Universal haben wir eine Extraktion mit Destination vom typ HTTP-CSV definiert.
Die Destination-Einstellungen für http-csv bieten Optionen an, um die Daten ohne die Spaltennamen und ohne Zeilentrenner nach der letzten Zeile zu liefern, was wir hier auch verwendet haben.
. talend-xu-extraction

SQL Server
Im SQL Server haben wir die Zieltabelle mit dem unteren SQL-Befehl definiert, in welche wir später die Daten laden.

CREATE TABLE [dbo].[customers](
	[SAP_Client_MANDT] [nvarchar](3) NULL,
	[Customer_KUNNR] [nvarchar](10) NULL,
	[Country_Customer_LAND1] [nvarchar](3) NULL,
	[Country_Name_NAME1] [nvarchar](35) NULL,
	[City_Customer_ORT01] [nvarchar](35) NULL,
	[Region_Customer_REGIO] [nvarchar](3) NULL,
	[Account_Group_Customer_KTOKD] [nvarchar](4) NULL
) ON [PRIMARY]

Hier nochmal die Tabelle im SQL-Server:
talend-mssql-schema


Talend Bevor wir in Talend die Schritte definieren, haben wir unter Metadata -> Db Connections die Verbindung zum SQL Server
talend-db-connection-01
talend-db-connection-02

und das Tabellenschema definiert.
talend-db-schema

Hier die Übersicht der Metadata-Definition:
talend-db-metadata

Wir schauen uns nun die Einstellungen der fünf Schritte im Talend-Job an.


Schritt 1 - HTTP Aufruf
Im ersten Schritt führen wir den HTTP-Call aus. Der URI-Parameter “http://chaplin:8065/?name=customers_http” wird übergeben. talend-01-httprequest


Schritt 2 - In Zeilen splitten
Die Daten werden anhand des Zeichens für Zeilenumbruch “\r\n” in Zeilen gesplittet. talend-02-normalize


Schritt 3 - In Spalten splitten
Datensätze werden in Spalten gesplittet, dazu wird der folgende reguläre Ausdruck “\s,\s(?=(?:(?:[^"]"){2})[^"]*$)” verwendet.
Wir nutzen das vorher definierte Schema für die Spalten.
talend-03-extract-delimited-fields


** Schritt 4 - In Datenbank schreiben**
Nun schreiben wir die Daten in die SQL-Tabelle. Dazu nutzen wir die Verbindung und das Schema, welche wir am Anfang definiert haben:
talend-04-dboutput


** Schritt 5 - Log schreiben (optional)**
In diesem optionalen Schritt nutzen wir eine Java-Komponente, um im Erfolgsfall die Anzahl der verarbeiteten und eingefügten Datensätze ins Log zu schreiben.
talend-05-print-message


Job ausführen
Nun führen wir den Job aus. Der Job ist erfolgreich und es wurden Kundendatensätze aus SAP extrahiert und in den SQL Server geschrieben.
talend-http-job-executed

Ergebnis im SQL Server prüfen
Nun können wir im SQL Server das Ergebnis prüfen.
talend-mssql-result


In diesem Kapitel haben wir gesehen, wie wir in Talend SAP-Extraktionen, welche Xtract Universal zur Verfügung stellt, über HTTP aufgerufen und verwendet haben.