COBOL-Modernisierung bezeichnet den Prozess der Aktualisierung oder Transformation von COBOL-Anwendungen, die typischerweise als veraltete Systeme gelten, aber weiterhin für den Unternehmensbetrieb unerlässlich sind. Der Anwendungsmodernisierungsprozess umfasst die Einführung der neuesten Softwareentwicklungspraktiken, das Refactoring von COBOL-Code in modernere Programmiersprachen oder die Migration auf neuere Plattformen.
Das Modernisieren von COBOL-Systemen kann dazu beitragen, geschäftskritische Geschäftslogik und Funktionalität zu erhalten und gleichzeitig die Wartungsfähigkeit zu verbessern, die Interoperabilität mit der heutigen komplexen hybriden Umgebung zu verbessern, die Skalierbarkeit zu erhöhen und die Betriebskosten zu senken.
Die COBOL-Modernisierung umfasst mehr als nur die Übersetzung von COBOL-Code in eine neuere Programmiersprache. Das Mainframe-System oder die verteilte Plattform, auf der sich dieser Code befindet und ausgeführt wird, sowie der Tech-Stack, mit dem er interagiert, müssen sorgfältig bedacht werden. Es handelt sich um systemweite Engineering-Arbeit, die nicht nur Codeübersetzung, sondern auch Anwendungsintegration, Neugestaltung der Datenarchitektur, Laufzeitersetzung, Integrität und Sicherheit der Transaktionsverarbeitung sowie weitere Faktoren umfasst.
Die Common Business-Oriented Language oder COBOL ist eine der am weitesten verbreiteten Sprachen zur Programmierung von Großrechnern. Sie wurde speziell für die Anforderungen der geschäftlichen Datenverarbeitung entwickelt.
Die erste Version von COBOL wurde 1960 veröffentlicht. Jahrzehnte später ist sie in schätzungsweise 250 Milliarden Codezeilen im Produktiveinsatz in so unterschiedlichen Sektoren wie Finanzdienstleistungen, Regierung, Logistik, Fertigung und Einzelhandel weiterhin präsent.1 Und da Mainframe-Systeme als Stützpfeiler für Unternehmen weltweit fortbestehen, bleibt COBOL relevant.
COBOL-basierte Anwendungen sind bekannt für ihre außergewöhnlichen Funktionen zur Datenverarbeitung und Dateiverarbeitung sowie für ihre zuverlässige und stabile Leistung. Unternehmen könnten jedoch modernisierte Anwendungen in Betracht ziehen, um die Interoperabilität zwischen Systemen und Datenquellen zu erhöhen, Standards für regulatorische oder Compliance-Anforderungen aufrechtzuerhalten und langfristigen Erfolg mit bestehenden Ressourcen sicherzustellen. Bei strategischer Herangehensweise bietet der Modernisierungsprozess die Möglichkeit, Code und Systeme zu überprüfen, bestehenden Code zu erläutern, Anforderungen zu validieren und effiziente Workflows für die Zukunft zu ermitteln.
Compliance und Sicherheit
Interoperabilität
Wartbarkeit
Der veraltete Code von COBOL entspricht möglicherweise nicht den aktuellen Datenschutzkontrollen und -richtlinien oder wird regelmäßig mit den neuesten Sicherheitspatches bereitgestellt. Dadurch ist er anfällig für Cyberangriffe und Datenschutzverletzung. Da es sich um ältere Systeme handelt, können diese Systeme möglicherweise nicht mit den anspruchsvollen Anforderungen der sich ständig ändernden Vorschriften Schritt halten.
Die Integration veralteter COBOL-Anwendungen in moderne Infrastruktur kann eine komplexe Aufgabe sein. Dieser Mangel an Interoperabilität kann Innovation und Geschäftswachstum verlangsamen und dazu führen, dass Unternehmen hinter der Konkurrenz zurückbleiben.
COBOL-Codebasen können ausführlich und unübersichtlich sein, mit Dokumentation, die unzureichend oder veraltet ist. Ihre eng miteinander verbundenen Komponenten erschweren das Debuggen, während das Hinzufügen neuer Funktionen oder das Aktualisieren vorhandener Funktionen eine Herausforderung sein kann. Daher beeinträchtigen sie häufig die Effizienz und Produktivität der Teams, die mit diesen Systemen arbeiten und sie warten.
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Auf ihrem Weg zur COBOL-Modernisierung können Unternehmen einen oder mehrere dieser Wege wählen:
Kapselung
Anwendung von DevOps-Praktiken
Code-Refactoring
Dieser Modernisierungsansatz wandelt monolithische COBOL-Programme in modulare Mikrodienste um. Geschäftsfunktionen werden als Microservices verpackt und dann als Programmierschnittstellen (APIs) offengelegt.
Die Kapselung ermöglicht eine schnelle Modernisierung, da das zugrunde liegende COBOL-System nicht geändert werden muss. Auf diese Weise verringert es Unterbrechungen und lässt sich gleichzeitig in cloudnative Architekturen und Workflows integrieren.
Unternehmen können eine Continuous Integration/Continuous Delivery (CI/CD)-Pipeline für COBOL-Programme einrichten. Die CI/CD-Pipeline umfasst automatisiertes Testen und Bereitstellung sowie zentrale Repositories, die von Versionskontrollsystemen verwaltet werden. Sie arbeitet auch Hand in Hand mit der Kapselung, indem sie Microservices in containerisierten Umgebungen bereitstellt.
Dieser DevOps-Workflow optimiert die Bereitstellung und Auslieferung von COBOL-Anwendungen. Unternehmen können Produktionszyklen verkürzen und die Veröffentlichung neuer Funktionen für Kunden beschleunigen.
Die Migration ist eine weitere Strategie zur Modernisierung von alten COBOL-Systemen. Dabei werden in der Regel bestimmte Mainframe-Workloads auf Cloud Computing-Plattformen wie Microsoft Azure oder Amazon AWS verlegt.
Dieser Mainframe-Modernisierungsprozess erfordert in der Regel einige Änderungen, wie das Ändern des Datenzugriffs, die Installation von Middleware oder das Neukompilieren von COBOL-Anwendungen für die Ausführung in ihren neuen Umgebungen. Anbieter könnten auch Modernisierung anbieten, um das Rehosting oder die Replattformierung von Workloads zu unterstützen, und Tools für die Leistung in Echtzeit bereitstellen.
Code-Refactoring restrukturiert COBOL-Programme auf Quellcode-Ebene. Ziel ist es, die technischen Schulden zu reduzieren, die oft mit veraltetem Code einhergehen und im Laufe der Zeit durch fortlaufende Wartung „zurückgezahlt“ werden müssen. Unternehmen können bestehenden COBOL-Code optimieren oder ihn in eine neuere Codierung wie C#, Java oder .NET umwandeln.
Die Optimierung beginnt mit der Codeanalyse und einem detaillierten Plan, um Ineffizienzen zu behandeln, Abhängigkeiten zu verringern und Redundanzen zu beseitigen. Der Plan kann die Standardisierung der in den Copybooks definierten Datenstrukturen, die Entwicklung eines modulareren Designs und die Vereinfachung komplexer Geschäftslogik umfassen.
Die Umwandlung umfangreicher COBOL-Codebasen in eine andere Programmiersprache kann zeitaufwändig sein. Anstelle einer vollständigen manuellen Neuschreibung können Entwicklungsteams Automatisierungeinsetzen – einschließlich KI-gestützter Code-Konvertierung oder Code-Übersetzungstools –, um Zeit zu sparen und den Aufwand für die Modernisierung zu minimieren.
Modernisierungsprojekte sind in der Regel riesige und gewaltige Unterfangen. Hier einige Tipps für einen reibungsloseren Weg in die Zukunft:
Bewertung und Planung
Klein anfangen
Schrittweise skalieren
Testen und Dokumentieren
Die Bewertung von COBOL-Codebasen ist ein wichtiger erster Schritt, um den Zustand des Codes und seine Komplexität zu überprüfen, Bereiche zu identifizieren, in denen Modernisierung einen bedeutenden Einfluss haben kann, und den besten Ansatz zu bestimmen. Die Teams müssen dann einen Plan erstellen, der die Modernisierung einschließlich Umfang und Zeitplan umreißt.
Klein anzufangen hilft, die Risiken von Modernisierung zu bewältigen. Zum Beispiel können Unternehmen zunächst einfache Optimierungs- oder Refactoring-Aufgaben in Angriff nehmen oder mit der Kapselung oder Migration kleinerer Geschäftsfunktionen beginnen. Das hält entscheidende Komponenten am Laufen, minimiert Ausfallzeit und begrenzt die Auswirkungen auftretender Probleme.
Unternehmen können dann auf wichtigere Module von COBOL-Systemen ausweiten und dabei die Erkenntnisse aus früheren Iterationen anwenden. Dies ermöglicht es ihnen, veraltete Anwendungen in einem stetigen und nachhaltigen Tempo zu modernisieren und gibt ihnen die notwendige Erfahrung, um komplexere Transformationen zu bewältigen.
Gründliche Tests müssen durchgeführt werden, um Funktionen zu validieren und sicherzustellen, dass das modernisierte System weiterhin wie erwartet funktioniert. Außerdem müssen alle Änderungen dokumentiert werden, sei es neuer Code oder Konfigurationen, API-Definitionen oder DevOps-Workflows.
Künstliche Intelligenz kann den COBOL-Modernisierungsprozess ergänzen. Insbesondere generative KI-Tools werden von großen Sprachmodellen (LLMs) angetrieben, die in Programmiersprachen wie COBOL trainiert oder optimiert wurden, sodass sie Mainframe-Code analysieren können.
Jedoch nimmt KI nicht den Bedarf an Mainframe-Systemen weg – sie erhöht ihn sogar noch weiter. Während KI die Modernisierung von COBOL beschleunigt und Qualifikationslücken durch den Ruhestand von COBOL-Entwicklern überbrückt, bleiben Mainframes als Plattformen unverzichtbar, die trotz aller Verbesserungen durch KI Zuverlässigkeit, Skalierbarkeit und Transaktionsstabilität gewährleisten. Die strategischen Entscheidungen, die bei der Modernisierung getroffen werden, können darüber entscheiden, wie reibungslos der Prozess abläuft und wie erfolgreich die Programme sein werden.
Hier sind einige Modernisierungsaufgaben, bei denen KI helfen kann:
Codeverständnis und Erklärung
Codegenerierung und Refactoring
Code-Umwandlung und Optimierung
Testgenerierung und Code-Dokumentation
Die Anwendungsverständnisplattform von Swimm kombiniert beispielsweise statische Analysen mit LLMs, um Geschäftsregeln zu extrahieren und Abhängigkeiten sowie Variablenflüsse für jedes Element in COBOL-Benutzerbildschirmen zu identifizieren. Gleichzeitig setzt IBM® watsonx Code Assistant® for Z KI-Agenten ein, um Mainframe-Code und technische Dokumentationen in natürlicher Sprache zu verstehen und zu erstellen.
Einige KI-gestützte Apps verfügen über Chatbot-Schnittstellen zur Generierung von neuem Code basierend auf natürlichen Sprachanforderungen. Andere fügen sich in IDEs (integrierte Entwicklungsumgebungen) ein, um Echtzeit-Inline-Code-Vorschläge zu erstellen. IBM watsonx Code Assistant for Z geht noch einen Schritt weiter und refaktoriert COBOL-Anwendungen automatisch in modulare Geschäftsdienste.
Multi-Agenten-Systeme, wie zum Beispiel ein von Persistent Systems entwickeltes, nutzen mehrere KI-Agenten, um COBOL-Code in eine moderne Programmiersprache wie Java umzuwandeln. Ein Codierungsagent führt die Übersetzung durch, während ein Überprüfungsagent den konvertierten Code auf Fehler sowie Möglichkeiten zur Optimierung und Verfeinerung prüft.
KI-gestützte Tools können automatisch Tests generieren, um die semantische Äquivalenz des neuen Codes mit dem ursprünglichen COBOL-Code zu vergleichen. Sie können auch Inline-Kommentare erstellen, um zu dokumentieren, was bestimmte Codefragmente tun.
Wie bei jeder KI-Anwendung müssen die Teams dennoch Vorsicht walten lassen, die Ausgaben auf Richtigkeit überprüfen und jeden generierten Code sowie vorgeschlagene Fixes oder Änderungen testen.
IBM zSystems ist eine Familie moderner z/Architecture-Hardware und führt folgende Systemsoftware aus: z/OS, Linux, z/VSE, z/TPF, z/VM und zSystems.
Entwickelt zur Bewältigung geschäftskritischer Workloads unter Gewährleistung der Sicherheit, Zuverlässigkeit und Kontrolle der gesamten IT-Infrastruktur.
Eine beschleunigte digitale Transformation durch die Modernisierung von Mainframe-Anwendungen mit IBM.
1. Special Report: COBOL Survey Results Prove Pervasiveness, Value and a Bright Future, TechChannel, 11. Oktober 2021