So gelingt die Ablösung einer zentralen Alt-Anwendung

| Daniel Buchta

Die erfolgreiche Zusammenführung von verschiedenen ERP- und CRM-Systemen.


Die geplante Ablösung des Zentralssystems unseres Kunden war der Auslöser für dieses spannende Projekt. In Vorbereitung auf die Migration und mit dem Fokus eines möglichst vollständig automatisierten Datenaustausch zwischen allen relevanten Softwaresystemen haben wir eine Datenintegrationsplattform aufgebaut.


Die Anforderung unseres Auftraggebers

Das Aufraggebersystem, ein ERP-System “Nevaris Finance” soll so mit allen Systemen verbunden werden, sodass der automatische Datenaustausch stets gewährleistet ist.  
 
Unser Kunde setzt dabei neben dem ERP-System die folgenden Softwarelösungen ein: 

Die Ausgangssituation – Der Auftraggeber löst Alt-Anwendung ab.

Die alte Anwendung kommunizierte über eine “Punkt-zu-Punkt-Verbindung", d.h. es bestand eine direkte Abhängigkeit zwischen den ERP- und allen anderen Systemen. Das hatte zur Folge, dass die Pflege dieser Verbindungen sehr aufwändig war. 

Wenn bspw. Änderungen am alten System vorgenommen wurden, mussten diese manuell bei allen anderen Systemen nachgezogen werden. Kommen neue Systeme hinzu, ist die Verwaltung der Verbindungen sehr aufwendig. 

Das Ziel: Die Ablösung der Alt-Anwendungen  

Unser Kunde soll zukünftig in der Lage sein, schnell und kurzfristig auf Systemanpassungen oder Datenstrukturänderungen zu reagieren. Darüber hinaus bedarf es nur noch eines Ansprechpartners für Anpassungen im Datentransfer. 

Die Lösung: Eine Datenintegrationsplattform nach Maß 

Um ein flexibles System zu schaffen, muss man zunächst die bestehenden Systeme voneinander “entkoppeln“, sodass sie nicht mehr direkt voneinander abhängig sind. 

Die datenliefernden Systeme (Publisher) müssen so nicht mehr wissen, wer ihre Empfänger (Subscriber) sind und wie die Empfänger ihre Datenstrukturen benötigen.  

Unter Einbindung der folgenden Key Features erreichen wir maximale Flexibilität und Skalierbarkeit: 

  • Der Einsatz eines Message Brokers, wie RabbitMQ, ermöglicht die Entkopplung von Systemen und gewährleistet eine flexible Kommunikation zwischen ihnen. 
  • Ein neutrales Datenformat: Die Nachrichten werden in einem neutralen Format verarbeitet, das von einzelnen Systemen entkoppelt ist und somit eine schnelle Transformation in beliebige Datenformate ermöglicht. 
  • Asynchrone Nachrichtenverarbeitung: Daten werden asynchron ausgetauscht, was die Effizienz und Skalierbarkeit des Systems steigert, sowie Abhängigkeiten reduziert. 
  • Publish-Subscribe-Pattern: Dieses Software-Modell ermöglicht die Verteilung von Nachrichten an mehrere Empfänger, ohne dass der Sender die Empfänger kennen muss. 
  • Dead Letter Queue: Daten, die nicht zugestellt werden konnten, werden in die sogenannte Dead Letter Queue eingestellt und können von dort analysiert und neu zugestellt werden. 
  • Dashboard: In einer modernen Web-Oberfläche kann die komplette Datenintegrationsplattform überwacht werden. Administrative Aufgaben wie das Prüfen von Datenfehlern können so auch durch die Mitarbeiter:innen des Kunden erledigt werden.

Effiziente Systemintegration durch Docker, Java und Apache Camel

Der Middleware Connector wird in Docker-Containern ausgeführt und ist so umgebungsunabhängig verfügbar, z.B. in der Cloud, Lokal On-Premise. Die speziell entwickelten Adapter (siehe Abbildung) übernehmen dabei die Vermittlung und Gewährleistung des reibungslosen Datenaustauschs zwischen den Formaten.  

Mit Java als Programmiersprache und Apache Camel als Datenintegrationsframework konnte die Zusammenführung der folgenden Austauschformate aller anderen Systeme erfolgreich realisiert werden: 

  • CSV 
  • JSON 
  • Excel 
  • OData 
  • REST 
  • GraphQL 

Diese Formate werden gemäß der kunden- und unternehmensspezifischen Vorgaben umgesetzt, sodass jetzt alle angebundenen Systeme die unterschiedlichen Formate lesen und bewerten können. So verwendet beispielsweise ERP 1 u.a. das CSV-Format, während ERP 2 auf REST zurückgreift. Trotzdem können nun beide Systeme problemlos Daten austauschen. 

Struktur beim Implementierungsprozess: Von der Machbarkeitsstudie bis zur Dokumentation

Welche Komponenten waren für die erfolgreiche Umsetzung des Projekts erforderlich? 

Um dies zu überprüfen, haben wir den Implementierungsprozess des Projekts in Phasen gegliedert und wie folgt strukturiert: 

  • Ausgiebige Anforderungsanalyse: Eine umfassende Analyse der Anforderungen des Kunden, zum Verständnis des Bedarfs und Erwartungen. 
  • Prototyp für Machbarkeitsstudie: Entwicklung eines Prototyps zur Überprüfung der Machbarkeit (Proof of Concept). 
  • Erstellung eines Sicherheitskonzepts: Ein detailliertes Konzept, das alle sicherheitsrelevanten Aspekte abdeckt. 
  • Abstimmungen mit den Entwickler:innen: Rücksprachen zwischen den Entwickler:innen der beteiligten Systeme, für eine reibungslose Integration. 
  • Umsetzung und Infrastrukturaufbau: Die technische Implementierung der Anforderungen. 
  • Dokumentation: Dadurch stellen wir sicher, dass Wartung und zukünftige Anpassungen des Middleware Connectors reibungslos und effizient durchgeführt werden können. 

Zukunftspläne für die zentrale Datenintegrationsplattform: Erweiterungen und Verbesserungen

Die Weiterentwicklung der zentralen Datenintegrationsplattform soll auch zukünftigen Anforderungen gerecht werden. Dazu gehören folgende Maßnahmen: 

  • Die Anbindung zusätzlicher Systeme  
  • Der Ausbau von Monitoring und Logging: Detaillierte Fehlermeldung für Analysen und zielgerichtete Lösungen. 
  • Eine proaktive Überwachung von Servern und Anwendungen. 

Diese Schritte machen die Plattform zukünftig noch leistungsfähiger und zuverlässiger. 

Tipps für die erfolgreiche Umsetzung von Datenintegrationsprojekten

  1. Eine Dokumentation ist eine sinnvolle Maßnahme, auch wenn sie zunächst mit Kosten verbunden ist. Sie ist eine wichtige Hilfe bei der Fehleranalyse und führt zu einer Minimierung der Folgekosten durch Nacharbeiten. 
  2. Automatisierte Tests sollten frühzeitig im Entwicklungsprozess implementiert werden, um die Korrektheit und Robustheit der Anwendung sicherzustellen. 
  3. Fehlerhandling ist eine der wichtigsten Punkte: Die Datenintegrationsplattform ist abhängig von den liefernden Systemen und muss deshalb auch die Fehler dieser Systeme sinnvoll abfangen können. 

Fazit

Die Integration war ein voller Erfolg! Sie hat die Geschäftsprozesse des unseres Kunden nachhaltig verändert und optimiert. Durch die Automatisierung konnten viele Abläufe verschlankt oder sogar vollständig eliminiert werden, was zu einer deutlichen Effizienzsteigerung führte. Die Migration des Kernsystems unseres Kunden wäre ohne Integrationsplattform nicht annähernd im definierten Zeitraum möglich gewesen. Im Vergleich zur Ausgangssituation ist unser Kunde nun deutlich flexibler und kann neue Softwarelösungen sehr schnell integrieren oder bestehende Systeme ablösen

Stehen Sie vor ähnlichen Herausforderungen, dann sprechen uns gerne jederzeit an.