{"id":2115,"date":"2020-11-06T00:00:14","date_gmt":"2020-11-05T23:00:14","guid":{"rendered":"https:\/\/devstage.bix-consulting.com\/?p=2115"},"modified":"2023-05-24T09:42:59","modified_gmt":"2023-05-24T07:42:59","slug":"proof-of-concept-data-orchestrierung-mit-sap-data-intelligence","status":"publish","type":"post","link":"https:\/\/www.bix-consulting.com\/en\/proof-of-concept-data-orchestrierung-mit-sap-data-intelligence\/","title":{"rendered":"Proof-of-Concept Data Orchestration with SAP Data Intelligence"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8220;1&#8243; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_row _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; text_font_size=&#8220;17px&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>Eine zentrale Herausforderung f\u00fcr jedes gr\u00f6\u00dfere Unternehmen ist die Zusammenf\u00fchrung und Verkn\u00fcpfung von Stamm- oder Bewegungsdaten. Daten k\u00f6nnen geordnet in einem DWH wie dem SAP BW oder ungeordnet in einem Data Lake liegen. Sie k\u00f6nnen auch als Streaming Daten einflie\u00dfen oder aus anderen externen Quellen stammen. Das f\u00fchrt zu unterschiedlichen und komplexen Daten-Orchestrierungsszenarien.<\/p>\n<p>Daher hat biX Consulting f\u00fcr ein gro\u00dfes Pharmaunternehmen in einem Proof of Concept Projekt SAP Data Intelligence auf seine F\u00e4higkeiten in diesem Bereich getestet. Es wurde dabei untersucht, ob das Tool f\u00fcr die Anbindung von unterschiedlichen Quellen und Zielen geeignet ist, sowie Daten zu lesen und zu schreiben und dabei on the fly zu transformieren. F\u00fcr den PoC wurden Szenarien entworfen, welche neben der Einrichtung von SAP DI und Error Handling verschiedene F\u00e4lle mit Schwerpunkt auf Transformation und Orchestrierung behandelten.<\/p>\n<p>SAP Data Intelligence ist ein System f\u00fcr die Koordinierung und Verarbeitung von Daten. Die Daten k\u00f6nnen strukturiert, unstrukturiert oder auch Streaming Daten sein. Wichtige Bestandteile sind Profilierung, Data-Catalog und Governance, sowie Machine Learning. Ausgef\u00fchrt wird SAP DI containerbasiert, der Zugriff geschieht \u00fcber eine Webapplikation. Das erlaubt einerseits eine Skalierung und Parallelisierung von Arbeitsprozessen, andererseits containerweise die gew\u00fcnschte Arbeitsumgebung in Hinsicht auf Ressourcen und verwendete Software zu erstellen. Arbeitsprozesse werden in Pipelines bzw. Graphen zusammengestellt, die aus einzelnen Operatoren bestehen. Operatoren k\u00f6nnen Eing\u00e4nge und Ausg\u00e4nge besitzen, die durch ihre Verbindungen Graphen bilden. Eine gro\u00dfe Zahl vorgefertigter Operatoren, die spezielle Funktionen wie das Lesen aus dem SAP BW erf\u00fcllen, ist bereits integriert. Erg\u00e4nzt werden diese Operatoren durch die M\u00f6glichkeit Custom-Operatoren zu erstellen. In diesen kann z.B. eigener JavaScript oder Python Code implementiert werden.<\/p>\n<p>F\u00fcr den PoC wurde SAP DI als eigene onPremise Installation eingerichtet, die SAP DI Diagnostics und SAP Vora beinh\u00e4lt. Den Testszenarien entsprechend wurden Tenants, User und Verbindungen angelegt. Die erstellten Verbindungen zu verschiedenen Systemen konnten so in den folgenden Szenarien direkt verwendet werden. Die Testszenarien, die Transformation und Orchestrierung untersuchten sollen, werden hier kurz vorgestellt werden.<\/p>\n<p><strong>Open API in Vora Table<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/Billd1b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>&nbsp;<\/p>\n<p>Im ersten Transformationsszenario wurden Daten von einer Website geladen und in einem VORA File abgelegt. F\u00fcr die Verbindung zur Website wird der Open API Client genutzt. Die Query, die an diesen gesendet wird, sowie die anschlie\u00dfende Transformation werden mit einem Python Operator erstellt, der jeweils eigenes Coding beinhaltet. Die Transformation macht die Daten Vora-kompatibel. Wiretap-Operatoren, die zwischen die Operatoren geschaltet werden erlauben Debugging und die Zwischenergebnisse zu pr\u00fcfen. F\u00fcr die Produktivsetzung werden diese entfernt. Der Graph Terminator beendet den Graphen nach einmaligem Durchlauf.<\/p>\n<p><strong>ABAP Tabelle COEP via SLT mit Split in Kafka und HANA Tabelle<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/bild2b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>&nbsp;<\/p>\n<p>In diesem Szenario wurde die Verbindung zu einem SAP ECC System getestet, dessen Daten in die HANA geschrieben und mittels Kafka gestreamt werden sollen. Die Daten aus dem ECC Table wurden mittels SLT Connector gestreamt, der diese als JSON String an einen Python Operator \u00fcbergibt. Dieser hat hier zwei Aufgaben. Er leitet die Daten an den HANA Client Operator und teilt die Daten in Pakete, die vom Kafka Producer verarbeitet werden k\u00f6nnen. Der Graph wird nicht per Operator beendet, sondern wartet auf weitere Daten. Das muss bei der Konfiguration der SLT Verbindung ber\u00fccksichtigt werden, da die mehrfache Nutzung der gleichen Konfiguration zum Deadlock f\u00fchren kann.<\/p>\n<p><strong>ECC Dataquelle gejoint mit hierarchischen Textdaten aus SQL-Server<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/bild3b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>&nbsp;<\/p>\n<p>Im dritten Szenario wurden Bewegungsdaten aus einem ECC mit Stammdaten aus einem MS SQL-Server angereichert. Die Herausforderung f\u00fcr dieses Szenario ist es passende Eintr\u00e4ge zu finden, ohne den gesamten Datensatz laden zu m\u00fcssen. F\u00fcr den Join wurden die Daten aus dem ECC ebenfalls in einer Datenbanktabelle gespeichert. Da die Information \u00fcber die Verbindung zwischen Stamm- und Bewegungsdaten in einer weiteren ECC-Datenquelle lag wurde ein zweiter Graph erstellt. Der erste Graph zieht die Daten aus dem ECC, der zweite Graph erstellt den Join zwischen den beiden Tabellen aus dem ECC und den sechs Tabellen aus dem SQL-Server.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/bild4b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p><strong><\/strong><\/p>\n<p><strong>SAP BW Extraktion in zwei verschiedene HANA Datenbanken<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/bild5b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>&nbsp;<\/p>\n<p>Die Extraktion von Daten aus dem SAP BW und das Schreiben in zwei unterschiedliche HANA Datenbanken wurde in diesem Szenario untersucht. Die Extraktion erfolgt mittels eines vorgefertigten Operators, der Daten in die Vora schreibt. Dessen Ergebnis kann von einem Python-Operator ausgelesen werden, der die Daten transformiert und an zwei separate HANA Clients \u00fcbergibt. Der letzte Python Operator wartet auf die Erfolgsmeldungen beider HANA Clients bevor er durch eine Nachricht an den Terminator-Operator den Graphen beendet.<\/p>\n<p><strong>Kafka Nachrichten lesen, transformieren und in S3 Dateien schreiben<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/11\/bild6b.jpg&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p>&nbsp;<\/p>\n<p>Hier wurde das Lesen von Datenpaketen aus Kafka und die Speicherung als S3 Datei getestet. Die ankommenden Pakete werden mittels Python-Operator in das csv-Format transformiert. Das erlaubt angebundene Spark oder Vora Systeme performant anzuschlie\u00dfen. Zu Testzwecken wurden Informationen aus dem Header wie Zeitstempel und Reihenfolge der Datenpakete mit herausgelesen. Der Header der ausgegebenen Datei kann ebenfalls angepasst werden um Informationen wie bspw. Spaltennamen mitzugeben.<\/p>\n<p><strong>Fazit<\/strong><\/p>\n<p>Auch wenn einige Aspekte noch nicht v\u00f6llig ausgereift sind zum Zeitpunkt der Projektdurchf\u00fchrung, kann SAP DI f\u00fcr die Daten-Orchestrierung im Unternehmen empfohlen werden. Flexibilit\u00e4t spielt hierbei eine zentrale Rolle. Flexibilit\u00e4t entsteht durch eine gro\u00dfe Zahl vorgefertigter Operatoren, die viele verschiedene Anwendungsszenarien bereits abdecken, als auch durch die M\u00f6glichkeit eigene Operatoren mit Customcode zu erstellen. Flexibilit\u00e4t entsteht auch durch die Basierung des Systems auf Containern, welche Skalierung und Parallelisierung erlauben.<\/p>\n<p>Insbesondere die gute Integration mit bestehenden SAP-L\u00f6sungen hebt das Tool deutlich von anderen Anbietern ab, ohne die Integration von 3rd Party L\u00f6sungen zu vernachl\u00e4ssigen. Dies gepaart mit einer konsequenten Cloud-Nutzung und -Integration zeigt, dass das Tool ein Schritt in die richtige Richtung ist.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; locked=&#8220;off&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; text_font=&#8220;Roboto|300|||||||&#8220; text_font_size=&#8220;30px&#8220; locked=&#8220;off&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<p style=\"text-align: center;\"><span style=\"color: #000000;\">Ansprechpartner<\/span><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/08\/Oliver-Ossenbrink-e1598705178874.png&#8220; align=&#8220;center&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; transform_translate=&#8220;-4px|22px&#8220; locked=&#8220;off&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; text_font=&#8220;Roboto|300|||||||&#8220; text_font_size=&#8220;16px&#8220; transform_translate=&#8220;-3px|30px&#8220; locked=&#8220;off&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;]<\/p>\n<div class=\"elementor-element elementor-element-d95ca40 elementor-widget elementor-widget-heading\" data-id=\"d95ca40\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n<div class=\"elementor-widget-container\">\n<h3 class=\"elementor-heading-title elementor-size-default\" style=\"text-align: center;\">Oliver Ossenbrink<\/h3>\n<\/div>\n<\/div>\n<div class=\"elementor-element elementor-element-c4afb6c elementor-widget elementor-widget-heading\" data-id=\"c4afb6c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n<div class=\"elementor-widget-container\">\n<p class=\"elementor-heading-title elementor-size-default\" style=\"text-align: center;\">Gesch\u00e4ftsf\u00fchrung Vertrieb und HR<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_social_media_follow _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; transform_scale_linked=&#8220;off&#8220; transform_translate=&#8220;0px|35px&#8220; transform_translate_linked=&#8220;off&#8220; text_orientation=&#8220;center&#8220; locked=&#8220;off&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][et_pb_social_media_follow_network url=&#8220;mailto:oliver.ossenbrink@bix-consulting.de?cc=vertrieb@bix-consulting.de&#8220; _builder_version=&#8220;4.16&#8243; _module_preset=&#8220;default&#8220; background_image=&#8220;https:\/\/www.bix-consulting.com\/wp-content\/uploads\/2020\/08\/E-Mail.png&#8220; background_enable_image=&#8220;on&#8220; background_size=&#8220;contain&#8220; global_colors_info=&#8220;{}&#8220; theme_builder_area=&#8220;post_content&#8220;][\/et_pb_social_media_follow_network][\/et_pb_social_media_follow][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine zentrale Herausforderung f\u00fcr jedes gr\u00f6\u00dfere Unternehmen ist die Zusammenf\u00fchrung und Verkn\u00fcpfung von Stamm- oder Bewegungsdaten. Daten k\u00f6nnen geordnet in einem DWH wie dem SAP BW oder ungeordnet in einem Data Lake liegen. Sie k\u00f6nnen auch als Streaming Daten einflie\u00dfen oder aus anderen externen Quellen stammen. Das f\u00fchrt zu unterschiedlichen und komplexen Daten-Orchestrierungsszenarien. Daher hat [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":2116,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_lmt_disableupdate":"","_lmt_disable":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"iawp_total_views":10,"footnotes":""},"categories":[18],"tags":[43,146,39,26,45,29,30,31,145,48,35,150,40,149,147,148,38,27,44,41,50,151,28,42,49,46,47],"class_list":["post-2115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-beratung","tag-bi","tag-big-data","tag-bix","tag-bix-beratung","tag-bix-consulting","tag-bix-gold","tag-bix-sap","tag-business-intelligence","tag-consulting","tag-data-intelligence","tag-data-orchistrierung","tag-data-science","tag-data-orchestrierung","tag-di","tag-proof-of-concept","tag-ratingen","tag-sap","tag-sap-beratung","tag-sap-bw","tag-sap-consulting","tag-sap-data-intelligence","tag-sap-gold-partner","tag-sap-hana","tag-sap-solutions","tag-service","tag-solution"],"modified_by":"admin","_links":{"self":[{"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/posts\/2115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/comments?post=2115"}],"version-history":[{"count":0,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/posts\/2115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/media\/2116"}],"wp:attachment":[{"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/media?parent=2115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/categories?post=2115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bix-consulting.com\/en\/wp-json\/wp\/v2\/tags?post=2115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}