04.11.2017 Strukturiertes Re-Engineering von logistischen Kernsystemen

Der Software-Dreiklang

Von: Heidi Schmidt

Längst sind die Zeiten vorbei, in denen Logistik-Software lediglich dazu diente, ein paar papierene Prozesse zu beschleunigen: was die Dachsers, Schenkers, Hellmanns und viele andere IBM-i-Anwender an Lösungen (selbst) entwickelt haben, setzt Weltmaßstäbe.

  • Abbildung 1: Eine moderne Entwicklungsumgebung auf IBM i, zum Beispiel RDi + eXplain,  öffnet neuen Entwicklern den Zugang zu undokumentierten und „verwachsenen“ Anwendungen

    Abbildung 1: Eine moderne Entwicklungsumgebung auf IBM i, zum Beispiel RDi + eXplain, öffnet neuen Entwicklern den Zugang zu undokumentierten und „verwachsenen“ Anwendungen

  • Abbildung 2: Die 3 Schritte der Transformation von monolithischen Source-Codes in sauber geclusterte Anwendungen

    Abbildung 2: Die 3 Schritte der Transformation von monolithischen Source-Codes in sauber geclusterte Anwendungen

  • Heidi Schmidt, PKS

    Unsere Autorin Heidi Schmidt, Geschäfts-führende Gesellschafterin der PKS Software GmbH, berät und begleitet IBM-i-Anwender bei der Transformation gewachsener Anwendungen.

Diese maßgeschneiderte IT-Unterstützung hat viel gekostet – und manchmal geriet im Eifer eines Projektes die Software-Architektur unter die Räder. Auch die Dokumentation fiel auf der Prio-Liste gern einmal ganz nach hinten.

Doch der Großteil der heutigen operativen Software taugt, hat eine hohe fachliche Reife und soll daher auch weiterhin genutzt werden. Das macht sowohl kostenseitig als auch unter Risikoaspekten für viele IT-Verantwortliche derzeit den meisten Sinn. Um die werthaltige Essenz jedoch weiter nutzen und im Konzert mit Webservices, der Transformation in eine „API Economy“ oder gar Richtung Blockchain spielen zu lassen, braucht es wieder mehr Transparenz und eine modulare Struktur in den monolithischen Systemen.

Zwei zentrale Fragen

Vor diesem Hintergrund stellen sich zwei zentrale Fragen: Wie schaffe ich es, wieder den Durchblick in den verwachsenen Cobol- oder RPG-Anwendungen herzustellen? Wie bringe ich diese effizient und dauerhaft auf eine zukunftsfähige Modul-Architektur? Die Antworten finden sich im Dreiklang aus Methodik, Werkzeug und Erfahrung.
Die Methodik des Clean.Software.Development. – kurz C.S.D. – ist eine speziell für das Re-Engineering von Altsystemen entwickeltes Verfahren, bei dem über eine strukturierte, software-gestützte Analyse der Bestandscode vollständig re-dokumentiert und visualisiert werden kann.

Dadurch lässt sich zunächst einmal toter Code, der in der Regel ca. 30 Prozent des Gesamtvolumens ausmacht, auf einfache Art und Weise identifizieren und aus dem System entfernen. Gleichzeitig werden Fehler­quellen und Inkonsistenzen sichtbar. Innerhalb weniger Tage erhält man dadurch ein „entschlacktes“ und bereinigtes Bestandssystem; damit ist die Basis geschaffen für die weiteren Modernisierungsschritte.

Modernisierung Schritt für Schritt

Als Werkzeuge für dieses Verfahren werden professionelle Tools empfohlen, wie z.B. eXplain. Mit diesen werden alle Sourcen geparsed und jegliche Metainformationen über den Code in einem datenbankbasierten Repository abgelegt. Bei der Tool-Auswahl sollten IT-Verantwortliche darauf achten, dass die Parser den Code nicht nur vorwärts, sondern auch rückwärts durchlaufen können, so dass im Hauptspeicher die möglichen Applikationsabläufe komplett analysierbar sind. Nur dann erhält man ein vollständiges Bild über die Anwendung, kann für das Re-­Engineering die richtigen Entscheidungen treffen und Umbaumaßnahmen valide abschätzen.

Typischerweise sind die Werkzeuge auf Basis des Eclipse-Frameworks (siehe Abbildung 1) verfügbar, sodass sie auch den jungen Entwicklern aus der Java- oder .Net-Welt den Zugang zu den Altsystemen erleichtern und ihnen ein Verständnis der implementierten Businesslogik ermöglichen.

In der Praxis als wichtig herausgestellt hat sich dabei auch, dass das genutzte Werkzeug nicht nur für den Transformationszeitraum selbst genutzt, sondern den Entwicklern dauerhaft für Wartung und Weiterentwicklung bereitgestellt wird. Dadurch wird der Grundstein für ein dauerhaft höheres Niveau an Qualität und Modularität in der Software-Entwicklung gelegt.

Technische Klarheit schaffen

Hat man über diese Schritte wieder technische Klarheit geschaffen, stellt sich natürlich die Frage, wie jetzt der Sprung zur Fachlichkeit gelingt. Denn technische Klarheit ist wichtig, aber ohne eine fachliche Verortung können die vollen Chancen einer agilen Software-Architektur nicht genutzt werden.

Hierfür bietet sich in C.S.D. das sogenannte „Clustering“ an: die Prozesse (also die „fachlichen Entitäten“) werden – in der Regel gemeinsam mit Vertretern der Fachbereiche – definiert und über ein tool-gestütztes Verfahren von den Entwicklern den technischen Entitäten (Programme, Files etc.) zugewiesen.

Durch die visuelle Überlagerung von technischer Analyse und fachlicher Strukturierung im genutzten Werkzeug (z.B. eXplain) ergibt sich dann das „echte“ Gesamtbild der Anwendung. Damit wird dank Clustering erstmalig zeitgleich die fachliche und technische Sicht auf das System möglich. Dies aber ist die unabdingbare Voraussetzung für ein erfolgreiches Re-Engineering und die schrittweise Überführung von Altanwendungen auf eine wartbare und modulare Architektur (siehe Abbildung 2).

In der Logistikbranche haben in den vergangenen Jahren z.B. die Unternehmen TFG Transfracht (siehe DV-Dialog 5-6/2017, Seite 1) und Fedex mit dem beschriebenen Verfahren ihre gewachsenen IT-Systeme zur Unterstützung ihrer Prozesse fit gemacht für die digitale Transformation. Als Anwendungsunternehmen profitieren sie von einer sicheren Planungsgrundlage für die Weiterentwicklung auf Basis fortlaufend aktueller Informationen in der Entwicklungsumgebung.

Die Agilität und Effizient in der Software-Entwicklung konnte so um 24 bis 37 Prozent gesteigert werden. Gleichzeitig reduzierte die gezielte Wiederverwendung von gekapselter Businesslogik aus dem Bestandssystem die Kosten für die Bereitstellung neuer Anwendungen um bis zu 75 Prozent. Und: junge Mitarbeiter konnten für die Software-Entwicklung auf IBM i begeistert werden, was für das Unternehmen wertvolle Software-Assets zukunftsfähig macht.

©2017 Alle Rechte bei MEDIENHAUS Verlag GmbH