Wie man typische Probleme bei der Integration von Legacy-Systemen löst
Vielleicht hat Ihr Unternehmen Legacy-Systeme im Einsatz und Sie stehen vor der Herausforderung, diese zu integrieren? In diesem Artikel geben wir Ihnen praktische Tipps und Ratschläge, wie Sie diese Herausforderung meistern können.
Was sind Legacy-Systeme?
Der Begriff „Legacy-System“ kann auf unterschiedliche Weise verstanden werden, je nachdem, wer den Begriff verwendet. In den meisten Fällen handelt es sich bei einem Legacy-System um alte Software oder Technologie, deren Umstellung auf eine neuere Lösung schwierig und/oder kostspielig ist.
Ein Altsystem (Legacy-System) muss jedoch nicht immer im wörtlichen Sinne „alt“ sein.
Dass es sich um ein Altsystem handeln wird, zeigen einige der Merkmale, die diejenigen, die mit dem System arbeiten, gesehen haben. Die Person, die für die Wartung eines solchen Systems verantwortlich ist, wird mit einer großen Anzahl von Fehlern oder plötzlichen Stabilitätsproblemen konfrontiert. Entwickler beschweren sich über alte Versionen von Werkzeugen und Bibliotheken, die nur sehr schwer zu aktualisieren sind. Für Analysten und Designer gibt es keine angemessene Dokumentation.
Aus unternehmensweiter Sicht können Legacy-Systeme Probleme bereiten, wenn es darum geht, den wachsenden Geschäftsanforderungen gerecht zu werden, und die Integration solcher Systeme mit neueren Lösungen zu erschweren.
Integration von Altsystemen – Herausforderungen
Manchmal ist ein gut funktionierendes System, für das es noch keinen Business-Case für eine Änderung gibt, ein schwieriger Fall, was die Integration mit anderen Unternehmenssystemen angeht.
Warum? Das größte Problem ist der Mangel an modernen Schnittstellen und APIs, ohne die geschäftskritische Systeme nicht einfach integriert werden können. Was sind nun die gängigsten Integrationsmöglichkeiten von Legacy-Systemen?
Möglichkeiten der Integration von Legacy-Systemen
Legacy-Systeme können unterschiedliche Integrationsmöglichkeiten haben. In der Regel sind folgende Fälle zu beobachten.
- Das Legacy-System verfügt über eine REST– oder SOAP-API – und das ist in der Regel die beste Situation für die Systemintegration. Die Integration über APIs ermöglicht eine einfache Kommunikation zwischen verschiedenen Technologien, Programmiersprachen und Plattformen, was für die Integration von Altsystemen und neueren Systemen auf dem Markt von entscheidender Bedeutung ist.
- Das Altsystem verfügt nicht über eine API – in diesem Fall müssen wir leider versuchen, die Integration über den Zugriff auf die Datenbank vorzunehmen, wobei zu bedenken ist, dass bei Eingriffen eines anderen Systems in die Datenbank große Vorsicht geboten ist (mehr zu den Risiken weiter unten).
- Das Legacy-System erlaubt nur den Austausch von Dateien – in einigen Legacy-Systemen gibt es Mechanismen für die Kommunikation über den Austausch von Dateien (XML, CSV, XLS), die entweder manuell ausgelöst werden oder automatisch ablaufen.
Welche Methode der Integration von Legacy-Systemen ist am vorteilhaftesten?
Wie Sie sehen, gibt es für Legacy-Systeme unterschiedliche Integrationsmöglichkeiten. Aus der Perspektive der heutigen schnelllebigen Welt und der Notwendigkeit, agile und flexible Unternehmen aufzubauen, sollten Unternehmen im Rahmen der Systemintegration auf einen schnellen Datenaustausch setzen.
Die Zeit zwischen dem Eintreten eines Ereignisses in System X und der Übermittlung von Informationen an System Y sollte auf ein Minimum reduziert werden. Ein solcher schneller Datenaustausch wird im Online-Handel erwartet, z. B. bei der Erteilung eines Auftrags, der Änderung eines Preises oder der Aktualisierung von Lagerbeständen, oder in der Produktionsindustrie, z. B. bei der Änderung eines Produktionsplans.
Natürlich gibt es Situationen, in denen die Integration spät erfolgen kann, da die Daten nicht sofort fließen müssen. Dies geschieht zum Beispiel mit Empfehlungen und Werbeangeboten, die an unentschlossene Kunden geschickt werden. Mit der Entwicklung von Systemen, die auf Data Science und KI basieren, wird sich diese Zeit jedoch auch hier verkürzen.
Um die Geschwindigkeit der Datenübertragung zu bewältigen, ist die beste Lösung die Verwendung einer REST-API, eventuell einer SOAP-API, so dass das System, in dem das Ereignis eingetreten ist, die anderen Systeme sofort informiert. Beide Arten von API werden für die Systemintegration verwendet, aber REST wird wegen seiner Einfachheit und Flexibilität häufiger verwendet.
Was aber, wenn die API veraltet ist oder gar nicht verwendet werden kann? Sie werden erfahren, wie Sie die häufigsten Herausforderungen bei der Integration von Altsystemen bewältigen können.
Integration von Legacy-Systemen – Herausforderungen
Da wir nun wissen, womit wir es zu tun haben und welche Ergebnisse wir erreichen wollen, wollen wir uns ansehen, wie wir die häufigsten Herausforderungen, die Legacy-Systeme mit sich bringen, lösen können. Wir haben auch eine Lösung für jedes dieser Probleme, um Ihnen zu zeigen, wie Sie damit umgehen können.
Herausforderung 1 / Das System hat eine „veraltete“ API
Manchmal verfügt das zu integrierende System über eine API, aber leider verwendet es nicht standardisierte Protokolle oder Datenformate. Eine solche „Legacy“-API wird eher schwierig zu verwenden sein.
Die Lösung: In einer solchen Situation wäre es eine gute Option, eine zeitgemäße API, z. B. REST, vorzubereiten, die innerhalb der Organisation gemeinsam genutzt wird, aber auf einer „alten“ API basiert. Ein gutes Werkzeug zur Umsetzung dieser Idee sind Integrationslösungen der ESB-Klasse oder Integrationsbibliotheken, wie Apache Camel.
Herausforderung 2 / API liefert immer alle Daten
Ein weiteres Problem sind APIs, die nur den Abruf aller Daten eines bestimmten Typs erlauben, ohne die Möglichkeit, nur die geänderten Daten auszuwählen. So können Sie z. B. nicht nur die neuesten Aufträge, sondern alle Aufträge im Allgemeinen oder alle Aufträge eines bestimmten Typs herunterladen.
Diese Arbeitsweise ist sehr ineffizient, vor allem wenn Sie viele historische Daten haben. Andere Systeme im Unternehmen bräuchten sehr viele Ressourcen, um diese Datenmenge jedes Mal zu verarbeiten und nur das auszuwählen, was sich geändert hat.
Die Lösung: Um das obige Problem zu lösen, kann eine Komponente vorbereitet werden, die Daten aus der API liest, dann Änderungen erkennt und nur die geänderten Objekte an die Zielsysteme sendet. Die Erkennung von Änderungen kann durch High Watermark erfolgen, wenn die zu verarbeitenden Daten nur hinzugefügt werden. Werden Daten sowohl hinzugefügt als auch geändert, kann eine Prüfsumme, z. B. mit dem MD5-Algorithmus, ermittelt und gespeichert werden, so dass bei der nächsten Verarbeitung der Daten auf dieser Grundlage festgestellt werden kann, ob sich die Daten geändert haben oder nicht. Die Prüfsummenzählung ist auch nützlich, wenn Sie nur Änderungen an ausgewählten Attributen und nicht beliebige Änderungen an einem Objekt feststellen wollen.
Diese Lösung wird das Kommunikationsmuster des Altsystems verändern, aber sie wird das Zielsystem viel effektiver über die Änderungen informieren. Und wenn Sie in Zukunft beschließen, Ihr Legacy-System aufzurüsten oder durch ein neues System zu ersetzen, bei dem die API eine effizientere Integration von Änderungen ermöglicht, muss dies nicht zwangsläufig große Veränderungen in Ihrem Integrationskonzept nach sich ziehen.
Herausforderung 3 / Legacy-System sendet eine Datei mit allen Daten
Ein häufiger Fall, vor allem in älteren Systemen, sind Integrationsmechanismen, die auf der Erzeugung von Dateien basieren, die die vollständigen Daten aller Objekte enthalten, z.B. Produkte aus dem PIM-System. Wie ich bereits erwähnt habe, ist die Übermittlung von Daten, die sich geändert haben, eine wünschenswerte Situation. Dieser Fall ist vergleichbar mit der Situation bei einer API, die alle Daten zurückgibt.
Die Lösung: Die Lösungsmethode ist ähnlich wie die vorherige – fügen Sie eine Komponente hinzu, die Änderungen in den Daten erkennt. Der Unterschied liegt in der Art und Weise, wie die Daten erfasst werden, d. h. Lesen der Dateien statt Herunterladen von der API.
Zugegeben, Sie werden nicht in der Lage sein, die Zeit zu verkürzen, die es dauert, bis Änderungen das Zielsystem erreichen, aber aus organisatorischer Sicht werden Sie in der Lage sein, Daten zwischen Systemen über eine leicht konsumierbare API auszutauschen. Die Zielsysteme erhalten nur die überarbeiteten Daten, so dass Ihre Integrationsprozesse in modernere Bahnen gelenkt werden.
Herausforderung 4 / Legacy-System hat keine API
Wie Sie bereits wissen, ist es eine viel bessere Situation, wenn das Legacy-System über eine API verfügt. Leider ist es manchmal nicht möglich, eine API in einer angemessenen Zeit hinzuzufügen. Was ist in einer solchen Situation zu tun?
Die Lösung: Vielleicht sind Sie versucht, direkt mit der Datenbank des Altsystems zu integrieren. Während das bloße Auslesen einer solchen Datenbank wahrscheinlich keine Gefahr für das System darstellt, da sich nichts ändert, ist bei der Änderung von Daten besondere Vorsicht geboten. Wenn Sie Daten in die Tabellen eines anderen Systems schreiben, müssen Sie sicher sein, dass die Geschäftsregeln abgebildet werden, denn wenn Sie einen Fehler machen, werden Sie Fehler in diesem System verursachen. Es ist wichtig, dieses Risiko zu berücksichtigen, wenn man sich für die oben genannte Lösung entscheidet.
Legacy-System nicht so beängstigend!
Wie Sie sehen, können selbst Systeme, die aus Sicht der Integration veraltet erscheinen, mit anderen Systemen in Ihrem Unternehmen integriert werden. Sie werden einige der Probleme nicht beseitigen können, aber Sie haben bereits einen großen Schritt in Richtung einer effektiven und modernen Systemintegration in Ihrem Unternehmen getan. Dieser vorausschauende Ansatz wird Früchte tragen, wenn Sie schließlich mit der Aufrüstung oder Ersetzung von Altsystemen beginnen.
Lernen Sie mehr über Systemintegration