22. Juni 2022

Kafka Teil I: Was eine eventbasierte Kommunikation ausmacht

Der Datenaustausch zwischen einzelnen Systemen einer heterogenen Landschaft gestaltet sich oft als schwierig, aufwändig und fehleranfällig. In Zeiten der Big Data und Realtime-Kommunikation stoßen die starren Schnittstellen an ihre Grenzen. Eine Ablösung verspricht Kafka – eine Event Streaming Plattform für einen Datenaustausch in Echtzeit zwischen verschiedenen Systemen und Applikationen.

Viele Unternehmen bilden ihre Prozesse nicht in einem einzigen System ab, sondern in einer komplexen heterogenen Systemlandschaft. Die sogenannten Legacy-Systeme, die oft historisch bedingt Jahrzehnte lang betrieben werden, bilden dabei nicht selten kritische Prozesse wie beispielsweise Lieferantenbeurteilung, Qualitätsprüfung oder Bestandsplanung ab. Die einzelnen Tools und Systeme des Unternehmens kommunizieren miteinander über Schnittstellen: Sobald ein Prozess abgeschlossen ist, werden die Daten an das nächste System zur weiteren Prozessbearbeitung übergeben, was abhängig von dem zu übertragenden Volumen reichlich Zeit in Anspruch nehmen kann. Erst mit der erfolgten Datenübertragung kann die weitere Prozessierung im nachgelagerten System erfolgen. Mit zunehmendem Datenvolumen und den aktuellen Anforderungen der Realtime-Reaktion erweist sich die Art der Datenübertragung als langsam, starr und im Endeffekt nicht konkurrenzfähig. Die Abhilfe schafft eine eventbasierte Datenübertragung, umgesetzt in der Plattform namens Apache Kafka.

Kafka ist eine Event Streaming Plattform, die eine Echtzeit-Kommunikation zwischen verschiedenen Systemen und Tools ermöglicht. Die Daten werden dabei nicht an das nächste System übergeben, sondern in einem Container auf der Kafka-Plattform zum Abruf bereitgehalten. Das System, das die Daten abruft, entnimmt dem Container nur die Daten, die es für den gegebenen Prozess benötigt, was die Schnittstelle deutlich performanter macht. Die Daten werden dabei nicht in periodischen Arbeiten, sondern erst beim tatsächlichen Bedarf abgerufen. Solche Bedarfe sind als sogenannte Events definiert. Als Event können dabei Ereignisse wie Rechnungseingang, Bestelleingang und weitere dienen. Das Eintreten eines Events stößt den Abruf der in Kafka bereitgestellten Daten an. So verfügt das System stets über die aktuellste Information und operiert mit Echtzeit-Daten.

Ein weiterer Beweggrund für den Umstieg auf die Kafka-Logik ist die Unabhängigkeit einzelner Systeme voneinander. Im Falle eines Updates oder aufwändiger Entwicklungen auf einem der Systeme sind die restlichen Systeme nicht betroffen und können weiterhin betrieben werden.

Kafka für den Umstieg auf S/4HANA

Im Zuge des Umstiegs auf S/4HANA wird eine Anbindung von Kafka für viele Unternehmen aktuell. Es wäre falsch zu glauben, dass mit S/4HANA-Einführung alle Legacy-Systeme wegfallen und durch eine zentrale Anwendung – beispielsweise S/4HANA – ausnahmslos ersetzt werden. Es ist zwar ratsam, alle Prozesse auf Abbildbarkeit in einem zentralen System zu prüfen, aber oft sind die historischen Legacy-Systeme einfach so gut auf das Unternehmen zugeschnitten, dass eine Abbildung einiger Geschäftsbereiche in einem neuen ERP-System obsolet wird. Um einerseits die Anwendungen weiterhin nutzen zu können, die sich bewährt haben, und andererseits von starren Strukturen wegzukommen und die modernen Technologien nutzen zu können, werden die alten Schnittstellen durch die Kafka-Plattform ersetzt.

Mögliche Architektur mit S/4HANA

Die Kafka-Plattform enthält vordefinierte Schnittstellen, die an jede Systemumgebung angepasst werden können. Die SAP Cloud Integration – ein Produkt, das die einzelnen SAP-Systeme miteinander verbindet -  enthält sogar bereits die notwendigen Adapter, die für den Empfang und den Versand der Daten aus und nach Kafka notwendig sind. Für den Einsatz müssen die Adapter entsprechend hinsichtlich Nachrichtenprotokolle, Fehlerhandling, Authentifizierung etc. konfiguriert werden. Auch sind einige SAP Cloud Produkte bereits mit Kafka-Streaming ausgestattet, beispielsweise sind das SAP Concur und SAP Qualtrics.

Für eine Kafka-Integration in eine On-premise-SAP-Umgebung gibt es zwar keine Standard-Adapter von Apache oder SAP, es kann jedoch auf Software von Drittanbietern oder Eigenentwicklungen zurückgegriffen werden. Unter Drittanbietern finden sich Produkte wie ASAPIO als Cloud Integrator für SAP ERP und S/4HANA, Advantco mit Verwendung von Standard SAP PI/PO-Tools, Workato mit OData-Technologie, INIT Software mit eigenem ODP-Connector oder KaTE, bei dem die Verbindung zu Kafka über SAP PO läuft. Für Verbindungen aus dem BI-System kann als Adapter der SAP OpenHub eingesetzt werden.  

Für Eigenentwicklungen stehen verschiedene Werkzeuge zur Verfügung wie beispielsweise SAP Cloud SDK, die Entwicklung von Anwendungen mit Java oder JavaScript erlaubt, die mit SAP-Lösungen und -Services kommunizieren. SAP Cloud Platform Enterprise Messaging bietet eine asynchrone Schnittstelle und kann ebenfalls für die Kafka-Integration eingesetzt werden. Eine weitere technische Infrastruktur stellt für solche Zwecke das SAP Operational Data Provisioning dar: eine Art von Change Data Capture mit Out-of-the-Box-Unterstützung für verschiedene SAP- und Non-SAP-Produkte.

Fazit

Die Plattform Kafka ist sowohl On-premise als auch in der Cloud nutzbar. Die Plattform erlaubt das Abrufen der Daten in der Form und dem Umfang, die vom Anwender benötigt werden. Die hohe Autonomie der einzelnen Systeme sorgt für höhere Unabhängigkeit und Vermeidung von Wartezeiten bei Systemausfällen. Sowohl das Quell- als auch Zielsysteme können flexibler entwickelt werden ohne negative Auswirkungen auf andere Systeme.

Im Zuge des Umstiegs auf S/4HANA wird eine Anbindung von Kafka für viele Unternehmen aktuell. Um einerseits die Anwendungen weiterhin nutzen zu können, die sich bewährt haben, und andererseits von starren Strukturen wegzukommen und die modernen Technologien nutzen zu können, werden die alten Schnittstellen durch die Kafka-Plattform ersetzt.

Lukas Kovacovic, Managing ConsultantCONSILIO GmbH

Weiterführende Infos:

Lernen Sie die neuen Technologien auf unserer Lösungsseite

Move smart mit CONSILIO