Die Integration von Systemen ist ein spannendes und notwendiges Feld, um die keine moderne IT-Landschaft herumkommt. In einer Zeit, in der die digitalen Prozesse die Oberhand gewinnen und der Automatisierungsgrad sowie die Datenmenge kontinuierlich steigen, nimmt auch die Anzahl an IT-Systeme zu. Die Verknüpfung kann einseitig oder zweiseitig erfolgen, je nachdem ob ein System das andere steuert oder ein wechselseitiges Zusammenspiel wichtige Anwendungsfälle ermöglicht.
Besonders interessant ist dabei die Integration von proprietären Systemen mit open-source Lösungen. Die Vorteile beider Systemvarianten schließen sich in integrativen Anwendungsszenarien nicht aus, sondern werden mit Konnektoren kombiniert.
So sind die Workflows der open-source Workflowmanagement-Plattform Apache Airflow und die Prozessketten im SAP Business Warehouse (BW) optimal kombinierbar und bilden die Brücke zwischen SAP Ökosystem und open-source Landschaft.
In diesem Blogartikel zeigen wir Ihnen, welche Anwendungsfälle für eine Kombination von Apache Airflow und den Prozessketten in SAP sprechen und welche Umsetzungsideen zu unseren Airflow-BW-Konnektoren führten.
Sowohl Apache Airflow als auch die Prozessketten im SAP BW sorgen für eine Automatisierung der Datenprozesse. Die jeweiligen Anwendungszwecke und die Herangehensweise sind jedoch unterschiedlich. Bevor die Wirkung der Systemkombination betrachtet werden kann, zeigen wir Ihnen zunächst die individuellen Stärken.
Das SAP BW fungiert als Treffpunkt für unternehmensweite Daten. Die verlässliche Bereitstellung der Daten und performante Rahmensetzung für Analysen und Reports zählt zum Hauptzweck des Systems. Hier vereinfachen die Prozessketten den Betrieb des BW durch Automatisierung wiederkehrender Schritte im ETL Bereich. Die Prozessketten selbst werden mit einer visuellen Oberfläche erstellt und BW-seitig eingeplant, ausgeführt und überwacht.
Mit der Workflowmanagement-Plattform Apache Airflow steht eine open-source Lösung für skalierbare Systemorchestrierung mit hervorragender Anpassbarkeit für eine Vielzahl von Anwendungsfälle bereit. Die Workflows werden mit der einfachen Syntax der Programmiersprache Python definiert und greifen auf viele vordefinierten Operatoren zurück, welche Spark-Jobs, Python-Skripte und Machine Learning Workflow starten und überwachen. Die Community hinter Airflow liefert professionelle Features, wie eine umfangreiche Weboberfläche und eine vollfunktionale API und sorgt dafür, dass das open-source System wettbewerbsfähig bleibt.
Während Apache Airflow vermehrt eingesetzt wird, wenn andere open-source Systeme koordiniert werden sollen, sind das SAP BW und seine Prozessketten durch die Zentralität im Geschäftsalltag von Bedeutung. Im nächsten Schritt werden Anwendungsfälle betrachtet, die eine Kombination der Workflows in Airflow und der BW Prozessketten fordern.
Sollen Machine Learning Modelle produktiv in den Geschäftsalltag integriert werden, müssen das Training, die Evaluation und je nach Gestaltung auch die Prognose per Workflows abgebildet und versioniert werden. Die zahlreichen Airflow Operatoren bieten sich hierfür an. Die Triggerung des Trainings per BW kann beispielsweise erfolgen, nachdem aktuelle Daten geladen wurden.
Um verfügbare Entwicklerkapazitäten optimal zu nutzen, ist eine Aufweitung der verwendbaren Programmiersprachen zur Datenmanipulation und Prozessdarstellung hilfreich. Über Airflow können Skripte jeder Art gestartet werden. Nach erfolgter Datenbearbeitung kann eine Prozesskette im BW die finalen Schritte der Datenbearbeitung übernehmen.
Open-source Lösungen sind leistungsfähiger und stabiler denn je. Über die Schnittstelle zu Airflow können Drittsysteme indirekt angeschlossen werden.
Aus Performance-Gründen kann die Verwendung der Infrastruktur des BWs ein Zugewinn für die Datenworkflows in Airflow darstellen. Umfangreiche ETL Prozesse werden in das BW verlagert und entlasten die Airflow Worker.
Durch die genannten Anwendungsfälle wird deutlich, dass eine beidseitige Integration der Systeme wünschenswert ist. Hierfür sind vorhandene Verknüpfungspunkte nutzbar:
Im SAP BW kann für die Umsetzung ein REST Client erstellt werden, der per Airflow API ausgewählte Workflows nach Bedarf startet und für die Ausführung benötigte Parameter übergibt.
Für die Verbindung in das BW sind HTTP-Requests über ein Python-Skript oder bequem über eine Abwandlung des HTTP-Operators nutzbar. Im BW muss ein Endpunkt zum Starten der Prozesskette erstellt werden.
Die reine Triggerung von Prozessketten und Workflows beschreibt jedoch noch kein vollwertiges Integrationsszenario. Folgende Aspekte sind im geschäftlichen Kontext relevant:
Aus diesem Grundgedanken heraus haben wir bei NextLytics einen SAP-BW-Konnektor entwickelt, der die genannten Anforderungen umsetzt. Der Ablauf einer Triggerung eines Workflows mithilfe einer SAP BW Prozesskette ist in dem folgenden Bild schematisch dargestellt.
Beispiel einer Triggerung aus dem SAP BW mit synchroner Prozessverfolgung
Im BW Prozess kann gleichzeitig der Status des Workflowlaufes und die Log-Ausgaben der Aufgaben nachverfolgt werden. Beispielsweise kann so ein bedingter File-Upload gestartet werden, der nur Dateien mit Änderungen in die Datenbank überträgt.
Die Verbindung zu der Airflow-Instanz kann über einen Verbindungstest überprüft werden und über entsprechende Felder ist die Übergabe von Parametern (z.B. Zielsystem) einfach möglich.
Für das Triggern von BW Prozessen mit Airflow bietet sich die Entwicklung eines eigenen Operators für eine benutzerfreundliche Schnittstelle an. Die Logik für eine synchrone Ausführung wird somit zentral gekapselt und verteilt sich nicht auf viele verschiedene Workflowdefinitionen.
Haben Sie noch Fragen oder Interesse an dem Konnektor? Sprechen Sie uns gerne an. NextLytics steht Ihnen stets als erfahrener Projektpartner zur Seite. Wir helfen Ihnen, Ihre Datenprobleme von der Datenintegration bis zum Einsatz von Machine Learning Modellen effektiv zu lösen.