Skip to Content
Technical Articles

Orchestrierung von HANA SDI mit SAP Data Intelligence

SAP Data Intelligence ist ein Tool womit z.B. externe Prozesse, Tools und andere Systeme sehr gut orchestriert werden können. Ein Use Case ist es bsp. das SAP HANA Smart Data Integration (ein ETL Werkzeug mit nativer HANA Technologie, um Daten aus SAP und NON SAP Quellen in die HANA zu schreiben) anzubinden und ein bereits bestehenden Prozess (in HANA SDI nennt man das “Flowgraph”) zu orchestrieren. In diesem Blog widme ich mich diesem Szenario und starte einen ganz einfachen SDI Flowgraph mit Hilfe von Data Intelligence. Im reellen Leben würde man natürlich noch deutlich mehr machen und Data Hub nicht nur nutzen um einen Data Services Job zu triggern, aber hier soll es primär nur um die Machbarkeit gehen bzw. um zu zeigen, wie die Anbindung funktioniert bzw. aussieht.

Kurze Info zur Abkürzung und den Namen: 

SAP hat zuerst den Namen “SAP Data Hub” verwendet. Das stand für das ausschließlich verfügbare on premise Produkt. Nun gibt es seit 15 Juli 2019 auch eine Cloud Variante (Saas, Software as a Service, wo Kunden über die SAP Cloud Platform die Software ohne eigene Infrastruktur verwenden können) unter dem Namen “Data Intelligence”. Man findet immer wieder die Abkürzungen “SAP DH” (Data Hub) und auch “SAP DI” oder “SDI”. Das führt zur Verwirrung, denn viele kennen diese Abkürzung vom Smart Data Integration. Wenn ich in diesem Blog “SDI” verwende, meine ich Smart Data Integration.

Als Basis verwende ich SAP Data Intelligence in der Version 2.7 und SAP HANA Smart Data Integration (SDI) in der Version 1.134.1.

In meinem Fall habe ich eine SAP CAL (SAP Cloud Appliance Library) Landschaft verwendet. Als Kunde muss natürlich sichergestellt werden, dass Data Intelligence auf SDI zugreifen kann (über das Netzwerk). Über einen Ping und Portscanner kann das zuerst überprüft werden um sicher zu gehen, dass diese Kommunikation auch funktionieren wird.

SAP HANA Smart Data Integration (SDI): 

In SDI habe ich einen sehr einfachen Prozess erstellt, der eine “csv” Datei mit Adressdaten ausliest und diese 1:1 in eine Datenbanktabelle schreibt. Data Intelligence soll diesen Job orchestrieren, bzw. starten. In einer produktiven Umgebung kann man das verwenden, um eine bestehende Programmierung in SDI in einer Pipeline zu nutzen. Man muss die Extraktion, bzw. den entwickelten Code in SDI nicht neu aufbauen in SDI, sondern verwendet die Logik einfach wieder.

Prozess in SDI: 

Werfen wir einen Blick auf den Flowgraph in SDI, den ich dafür erstellt habe:

In diesem Flowgraph wird eine Tabelle mit Kundendaten in eine Template Tabelle geschrieben. Dazwischen befindet sich noch ein Filter, sodass man einstellen kann, welche Datensätze übermittelt werden. Dieser Flowgraph ist also nicht sehr komplex und kann einfach nachgebaut werden. In meinem Fall liegt der Fokus auf Data Intelligence und wie man den Flowgraph konnektiert, daher habe ich bewusst nichts komplexes erstellt.

Prozess in Data Intelligence: 

Jeder Flowgraph in SDI kann, via Data Intelligence, angetriggert werden. Um das zu realisieren, müssen wir zuerst in Data Intelligence eine Verbindung zum System SDI herstellen. Sobald diese Verbindung hergestellt ist, kann man die Flowgraphs sehen und selektieren in SAP Data Intelligence.

Zuerst erstellen wir also die Verbindung in Data Intelligence. Dazu gehen wir in das “Connection Management”:

und klicken hier auf “create”:

Anschließend erscheint ein leeres Feld:

Hier müssen wir nun die Verbindungsparameter zu SDI eintragen:

In meinem Beispiel habe ich den Namen “DEMO_SDI” gewählt, als Connection Typ “HANA_XS” selektiert und anschließend den Host/IP, Port, Protocol um auf SDI Prozesse zuzugreifen, eingegeben. Das Passwort wird nicht dargestellt um anderen Usern keine Möglichkeit zu geben darauf zuzugreifen.

Anschließend kann man in der Übersicht der verbundenen Systeme den neuen Eintrag sehen:

Die Verbindung kann man nun testen, in dem man bei der Verbindung (in diesem Fall “HANAXS”) rechts auf die 3 Punkte klickt und “Check Status” anklickt:

Dann sollte folgendes angezeigt werden:

Wenn alles ok ist, kann man mit dem Designen der Pipeline in Data Intelligence weitermachen:

In Data Intelligence habe ich also einen “Graph” designed (durch Drag&Drop), um den erstellten SDI Flowgraph anzutriggern. Das sieht dann folgendermaßen aus:

Im Flowgraph Operator kann man nun selektieren, welcher Flowgraph angetriggert werden soll. Dazu selektiert man zuerst die Connection, die die Verbindungsparameter zur HANA DB enthält:

Anschließend selektiert man den Flowgraph, den man in dem aktuellen Operator orchestrieren möchte:

Wenn man den Flowgraph selektiert hat, sieht das dann so aus:

Wenn man im Flowgraph “Variablen”  verwendet, werden diese hier angezeigt.

Ansich war es das schon. Nun können wir die Pipeline speichern und anschließend starten:

Anhand des Status kann man sehen, das der SDI Flowgraph erfolgreich angetriggert und beendet hat.

Werfen wir nun noch einen Blick in den Metadata Explorer, ob die Tabelle vorhanden ist und Datensätze beinhaltet:

Damit ist die Orchestrierung bereits beendet und die Integration erfolgreich durchgeführt.

Um diese Integration von Data Intelligence und SDI nachzustellen, kann man genau die gleichen Steps durchführen (natürlich angepasst um die entsprechenden Hostnames, bzw. Verlinkungen). Damit kann die Integration durchgeführt werden zwischen beiden Tools.

Wer die Integration / Orchestrierung von Data Services durchführen möchte, kann sich meinen Blog dazu ansehen:

Orchestrierung von Data Services

Viel Spaß dabei!

Be the first to leave a comment
You must be Logged on to comment or reply to a post.