Enterprise Service Bus
Alles über das „Data ToolKit“
Enterprise Service Bus
Die DataToolkit Plattform ist ein Werkzeugkasten mit diversen Tools zur Entwicklung und Anbindung von Schnittstellen. Unser DataToolkit Server bietet Ihnen dabei ein System für das zentrale Management Ihrer Datenintegration. Durch die flexible Workflow Engine definieren Sie Geschäftsprozesse und Datenflüsse. Diese werden dann zuverlässig ausgeführt und protokolliert. Mithilfe der offenen und erweiterbaren Architektur der gesamten Plattform sind Sie nicht von einem Anbieter abhängig, sondern können die DataToolkit Plattform nach Belieben erweitern und Ihren Bedürfnissen anpassen. Dabei bietet das DataToolkit von Haus aus Adapter und Konnektoren zu unterschiedlichsten Systemen.
Der DataToolkit Server ist zentral über ein Web UI konfigurierbar. Hier können Sie diverse Einstellungen vornehmen, Workflows definieren und ausführen.
Dabei ist das System jederzeit frei konfigurierbar und erweiterbar.
Projektdurchführung und Enterprise Integration Services – Enterprise Service Bus
Ausgangslage
Eine der häufigsten Anfragen unserer Kunden ist die Integration diverser Softwareprodukte. Dabei sollten die eigenen Prozesse eingehalten werden. Ausgangslage war hierbei meist ein über die Zeit gewachsenes Spinnennetz an Verbindungen.
In der initialen Wachstumsphase des Unternehmens stand meist eine kleinere CRM oder ERP-Lösung im Vordergrund, an die verschiedene Softwareprodukte angebunden wurden. Dabei gab es jedoch immer wieder Ausreißer. Anwendungen die inkompatibel mit der bestehenden Softwarelösung waren. Diese wurden dann mittels Individualentwicklung oder spezialisierter Schnittstellen angebunden.
Mit der Zeit wurden dann Funktionalitäten in eine eigene Software ausgelagert: Personalangelegenheiten wanderten in eine eigene HR-Software, Kundenbeziehungen in ein eigenes CRM, eine eigene Zeiterfassung wurde integriert. Diese Softwareprodukte wurden dann mit den anderen Systemen verbunden; so wuchs die Spinnennetz-Architektur.
- Soll eine Software in das Netz integriert werden, müssen diverse Produkte angepasst werden. Es muss häufig eine Vielzahl an neuen Schnittstellen entwickelt und integriert werden.
- Durch die vielen individuellen Schnittstellen wird die Konfiguration auf viele verschiedene Endpunkte verteilt. Wenn nun die Konfiguration nur an einem Punkt geändert werden soll, müssen diverse Änderungen im gesamten System gemacht werden. Es ist ein hohes Maß an Dokumentation notwendig um den Überblick über die einzelnen Schnittstellen zu behalten.
- Die individuellen Schnittstellen verhindern meist die Aktualisierung der Softwareprodukte. Ein CRM- System wird viele Jahre lang nicht via Update auf den neuesten Stand aktualisiert, da die Chance besteht, die Kompatibilität zu den hierfür eigens entwickelten Schnittstellen zu verlieren. Dies führt zudem zu einem hohen Sicherheitsrisiko, da wichtige Sicherheitsaktualisierungen nicht mehr ausgeführt werden können.
- Aufgrund des Spinnennetzes droht zudem eine zeitliche Abhängigkeit: Ist ein System nicht mehr erreichbar, ist nicht gewährleistet, dass Informationen später erneut übertragen werden. Eine solche Logik muss mühsam in jede Schnittstelle integriert werden.
Die Lösung (Enterprise Service Bus)
Da wir immer wieder mit solchen Problemstellungen konfrontiert sind, haben wir mit der Zeit ein spezielles Verfahren entwickelt.
-
Wir gewinnen einen Überblick über die bestehenden Systeme, die Schnittstellen und die Daten, die ausgetauscht werden.
-
Datenstrecken werden von uns wenn möglich generalisiert, Prozesse werden zusammen mit dem Kunden definiert.
- Hierzu verwenden wir unsere Methode „Target Driven Modeling“/“Domain Driven Modeling“
-
Die verwendeten Softwareprodukte werden an eine zentrale Einheit, das DataToolkit angebunden, welche die Datenströme kontrolliert und verwaltet. Diese nehmen uns die meiste Arbeit im Entwickeln von Schnittstellen, Prozessen, wiederkehrenden Aufgaben ab. Die DataToolkit Plattform bietet zudem ein ausführliches Monitoring, über welches wir die Datenflüsse nachverfolgen können. Durch die Einbindung von Tracing dokumentieren sich Datenflüsse von selbst.
Durch die hohe Verfügbarkeit eines DataToolkit Server Clusters sind wir in der Lage, die Datenflüsse unserer Kunden zuverlässig abzubilden. Konfiguration kann zentral vorgenommen werden und es gibt eine Anlaufstelle zur Modellierung der Prozesse. Dabei ist das DataToolkit sehr leichtgewichtig und hält selbst, abgesehen von Prozessfortschritten und Konfiguration, keine Daten. Die Datenhaltung erfolgt weiterhin in den Datenbanken der Anwendungen des Kunden. Zudem sorgt das DataToolkit für eine zeitliche Entkopplung. Sollte ein System eine Zeit lang nicht erreichbar sein, können Vorgänge nach einer Zeit erneut ausgeführt werden. Andere Vorgänge sind während des Ausfalls nicht betroffen.
Workflow Engine
Der DataToolkit Server bietet eine flexible und prozessorientierte Workflow Engine. Über ein Web UI können Workflows definiert werden. Workflows vereinen die zahlreichen Funktionen der DataToolkit Plattform mit der Modellierung Ihrer Geschäftsprozesse. Somit ist die Workflow Engine sowohl für einfache Datenflüsse als auch für komplexe Abläufe mit manuellen Benutzergenehmigungen konfigurierbar.
Technischer Hintergrund
Die DataToolkit Plattform besteht aus verschiedenen Werkzeugen. Zentral ist dabei der DataToolkit Server und die dadurch bereitgestellte Workflow Engine.
- Basiert auf .NET 6 und wird laufend aktualisiert
- Lauffähig unter Windows (Windows Service) und Linux (systemd)
- Unterstützung für Docker und elastischer Skalierung via Kubernetes
- Verwendung eines Actor Systems zur automatischen Skalierung
Datenhaltung von Prozessfortschritten und Konfiguration über diverse Persistenzanbieter (Microsoft SQL, MySQL/MariaDB, PostgreSQL, MongoDB, Sqlite, InMemory)
- Erweiterbarkeit über eigene Erweiterungen in .NET
Einfache Integrationen via GRPC Api und REST Api für alle weiteren Programmierumgebungen wie Java, node.js, Go, Rust, deno