Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

COBOL, Java und .Net Modernes Legacy
Ein Beitrag von Uwe Graf, Head of Consulting bei EasiRun.

Künstliche Intelligenz verändert die Diskussion über Mainframe-Modernisierung grundlegend. Werkzeuge analysieren COBOL, PL/I, JCL und Assembler, erkennen Abhängigkeiten, erzeugen Dokumentationen, schlagen Testfälle vor und unterstützen bei der Transformation von Anwendungen. Was früher Wochen oder Monate beanspruchte, scheint heute innerhalb weniger Tage möglich zu sein.

Das eröffnet große Chancen. Gleichzeitig entsteht die Gefahr, Analysegeschwindigkeit mit tatsächlichem Anwendungsverständnis zu verwechseln.

Geschäftskritische Mainframe-Anwendungen bestehen nicht nur aus Quellcode. Ihre Bedeutung ergibt sich aus dem Zusammenspiel von Programmen, Daten, Schnittstellen, Batchketten, Transaktionen und Betriebsverfahren. Hinzu kommen fachliche Sonderfälle, historische Entscheidungen und manuelle Abläufe, die häufig nur teilweise dokumentiert sind.

Eine KI kann erkennen, dass ein Datenfeld unter bestimmten Bedingungen verändert wird. Sie weiß deshalb noch nicht, warum diese Änderung fachlich erforderlich ist. Sie kann einen selten genutzten Programmpfad identifizieren. Daraus lässt sich jedoch nicht automatisch ableiten, ob dieser Pfad überflüssig ist oder einen unverzichtbaren Ausnahmefall behandelt.

Eine automatisch erzeugte Beschreibung kann plausibel sein, ohne vollständig zu sein.

Genau hier beginnt Mainframe-Modernisierung nach dem KI-Hype. Die entscheidende Frage lautet nicht mehr nur, was eine KI technisch analysieren oder erzeugen kann. Entscheidend ist, ob Fachbereich, Entwicklung und Betrieb ihre Ergebnisse gemeinsam prüfen, einordnen und bestätigen können.

Besonders deutlich wird das bei der automatischen Übersetzung von COBOL nach Java. Moderne Transpiler und KI-gestützte Verfahren können lauffähigen Java-Code erzeugen und damit den Wechsel auf neue Plattformen oder Entwicklungsumgebungen erleichtern. Die fachliche Logik bleibt erhalten und kann anschließend mit verbreiteten Werkzeugen bearbeitet werden.

Damit ist jedoch noch nicht automatisch eine moderne Java-Anwendung entstanden.

Prozedurale Abläufe, globale Datenstrukturen, Copybooks, Batchabhängigkeiten und gewachsene Schnittstellen können im erzeugten Code nahezu unverändert weiterleben. Die Anwendung verwendet dann zwar Java-Syntax, folgt aber weiterhin der Architektur und Denkweise ihres COBOL-Ursprungs.

Eine solche Transformation kann ein sinnvoller Zwischenschritt sein. Sie kann technologische Abhängigkeiten reduzieren und die Grundlage für weitere Veränderungen schaffen. Problematisch wird sie erst, wenn der Austausch der Programmiersprache bereits als abgeschlossene Modernisierung betrachtet wird.

Eine erfolgreiche Modernisierung muss mehr erreichen. Das Ergebnis sollte verständlicher, wartbarer, sicherer und leichter integrierbar sein. Neue Entwickler sollten nicht nur in der Lage sein, den Code zu kompilieren. Sie müssen die Anwendung sinnvoll betreiben und weiterentwickeln können.

Gleichzeitig bedeutet Modernisierung nicht, dass jede bestehende Anwendung vollständig neu geschrieben werden muss.

Zwischen unverändertem Weiterbetrieb und kompletter Neuentwicklung liegt ein großer Gestaltungsspielraum. Aktuelle Compiler, moderne Entwicklungswerkzeuge, automatisierte Builds und Tests, optimierte Datenzugriffe oder klar definierte APIs können den technischen Zustand einer Anwendung erheblich verbessern. Benutzeroberflächen lassen sich entkoppeln, einzelne Komponenten gezielt erneuern und nicht mehr benötigte Bestandteile entfernen.

Ein solches Vorgehen bewahrt wertvolle fachliche Logik und reduziert Risiken schrittweise. Es ermöglicht früh sichtbare Ergebnisse und schützt den laufenden Betrieb.

Die zentrale Aufgabe besteht deshalb nicht darin, möglichst viel alten Code zu beseitigen. Unternehmen müssen entscheiden, welche Bestandteile weiterhin geschäftlichen Wert besitzen, welche technische Erneuerung benötigen und wo eine Ablösung tatsächlich sinnvoll ist.

KI kann diese Entscheidungen vorbereiten. Sie kann Abhängigkeiten sichtbar machen, ungenutzte Programme identifizieren oder Vorschläge für Refactorings und Testfälle erzeugen. Die Bewertung, welcher Weg fachlich und wirtschaftlich richtig ist, bleibt jedoch eine unternehmerische Aufgabe.

In vielen Projekten liegen die eigentlichen Engpässe ohnehin nicht im Quellcode.

Das Wissen über eine Anwendung verteilt sich häufig auf Programme, Datenmodelle, Tickets, Betriebsdokumentationen und Arbeitsanweisungen. Ein wichtiger Teil befindet sich nur in den Köpfen erfahrener Entwickler, Operatoren und Fachanwender. Sie kennen Sonderfälle, manuelle Eingriffe und betriebliche Abhängigkeiten, die aus einer technischen Analyse allein nicht hervorgehen.

Auch Daten sind nicht immer so eindeutig, wie ihre Strukturen vermuten lassen. Historische Sonderwerte, manuelle Korrekturen und unterschiedliche Interpretationen in angebundenen Systemen können über Jahre gewachsen sein. Wer diese Zusammenhänge nicht erkennt, überträgt alte Missverständnisse möglicherweise direkt in die modernisierte Lösung.

Hinzu kommt die Testbarkeit. Viele etablierte Anwendungen funktionieren seit Jahrzehnten zuverlässig, verfügen aber nicht über eine vollständige automatisierte Testbasis. Seltene Ausnahmefälle, Restart-Szenarien, Batchabhängigkeiten oder manuelle Korrekturen wurden oft nie systematisch erfasst.

KI kann bei der Rekonstruktion solcher Zusammenhänge helfen. Sie kann Testfälle vorschlagen und das Verhalten von Alt- und Neusystem vergleichen. Sie kann jedoch nicht allein entscheiden, welches Ergebnis fachlich richtig sein soll.

Erst belastbares Wissen, verstandene Daten und verlässliche Tests machen aus schneller Analyse eine kontrollierbare Veränderung.

Diese Frage wird noch wichtiger, wenn KI nicht mehr nur analysiert, sondern selbst handelt. Agentische Systeme können Quelltexte verändern, Tests erzeugen, Builds starten und Entwicklungsabläufe ausführen. Damit entwickeln sie sich vom unterstützenden Werkzeug zum handelnden Akteur.

Eine Änderung kann technisch korrekt sein und trotzdem fachlich falsch. Sie kann alle automatisierten Tests bestehen und dennoch einen seltenen Sonderfall übersehen. Deshalb lässt sich Verantwortung nicht an ein Modell delegieren.

Unternehmen müssen festlegen, welche Quellen ein Agent lesen darf, welche Änderungen er ausführen kann und wann eine technische oder fachliche Freigabe erforderlich ist. Ebenso wichtig ist die Nachvollziehbarkeit: Welche Informationen wurden verwendet? Welche Annahmen wurden getroffen? Welche Auswirkungen wurden geprüft?

Solche Regeln sind keine unnötige Bürokratie. Sie bilden das Betriebsmodell für eine neue Form der Softwareentwicklung.

Mainframe-Modernisierung nach dem KI-Hype bedeutet deshalb nicht, die Möglichkeiten künstlicher Intelligenz kleinzureden. KI kann Analyse, Dokumentation, Entwicklung und Qualitätssicherung erheblich beschleunigen. Ihr Nutzen entsteht jedoch erst dann, wenn ihre Ergebnisse fachlich eingeordnet, technisch überprüft und organisatorisch verantwortet werden.

Die entscheidende Frage lautet nicht, ob KI COBOL lesen oder Java erzeugen kann. Entscheidend ist, ob Unternehmen verstehen, bewerten und kontrollieren können, was daraus entsteht.

Denn schnellere Werkzeuge führen nicht automatisch zu besseren Entscheidungen. Zukunftsfähige Mainframe-Modernisierung entsteht dort, wo technologische Möglichkeiten mit Systemverständnis, Testbarkeit und klarer Verantwortung verbunden werden.