Auf einen Blick: Die Optimierung von COBOL-Programmen beinhaltet die Migration auf die neuesten Versionen, insbesondere COBOL 5 oder 6. Wichtige Schritte umfassen das Lesen des Migrationsleitfadens, die Auswahl einer Vorlagenanwendung zum Testen und die Analyse von Ladebibliotheksmodulen für frühere Kompilationsversionen.
- Nutzen Sie Mainframe-Profiling-Tools als Leistungsgrundlagen.
- Verstehen Sie die Auswirkungen der Hardware auf COBOL-Leistung und Migration.
Heute treibt das digitale Geschäft laut einer Umfrage von BMC zu mehr Mainframe-Aktivitäten. Anstatt auf Anwendungsleistung zu verzichten, um etwas Geld zu sparen, sollten Sie Ihre Mainframe-Programme so optimieren, dass sie gut mit den modernen Anforderungen neuer und wachsender digitaler Interaktionen abschneiden. Der beste Weg, Ihre COBOL-Programme zu optimieren, besteht darin, sie auf die neueste Version von COBOL zu migrieren, die sich über COBOL Version 5 und 6 erstreckt. Der erste Teil dieser Strategie beinhaltet die Roadmap-Planung.
Erste Schritte zur Migration zur neuesten Version von COBOL
Es gibt einige erste Schritte, die Sie unternehmen müssen, bevor Sie mit der Migration auf die neueste Version von COBOL beginnen:
1. Lies den Migrationsleitfaden für die COBOL-Version, auf die du upgraden wirst.
Die richtige Anleitung findet sich in der IBM Enterprise COBOL für z/ OS-Dokumentationsbibliothek. Sie liefert die für Ihre Migration relevanten Warnhinweise, aber zu Beginn gibt es einige zu beachten, darunter:
- Inkompatibilitäten der Quellsprache beim Migrieren von OS/VS COBOL und VS COBOL II zu neueren COBOL-Versionen
- Datenprobleme, die vom Compiler unentdeckt bleiben, müssen durch wiederholte Tests gefunden werden (einige hilfreiche Compileroptionen: SSRANGE, RULES und DIAGTRUNC).
- JCL, REGION-Größe und weitere Arbeitsdatensätze sind erforderlich (es gibt wesentliche Änderungen bei der REGION-Größe)
- Einige Compiler-Optionen wurden entfernt, wie zum Beispiel NUMPROC(MIG) (siehe Ihren Migrationsleitfaden für eine vollständige Liste)
- Ausführbare Dateien müssen in PDSE-Bibliotheken liegen
- OS/VS COBOL- oder VS COBOL II-Programme sollten vor der Neukompilierung mit COBOL Version 5 oder Version 6 auf COBOL 4.2 aktualisiert werden
2. Eine Geschäftsanwendung zu bestimmen, die als Vorlage für das Upgrade anderer dient.
Ein vorgeschlagener Ansatz ist die Verwendung einer Geschäftsanwendung mit verlängerten Laufzeiten , um die potenziellen Auswirkungen der Neukompilierung problematischen Codes unter COBOL Version 5 oder 6 zu sehen. Sie müssen nicht jedes Programm neu kompilieren, sondern nur diejenigen, von denen Sie glauben, dass sie vom neuen Compiler und der fortgeschrittenen Optimierung profitieren könnten. Verwenden Sie Mainframe-Profiling-Tools, um vor Beginn eine Leistungsbasis festzulegen. Zum Beispiel kann Compuware Strobe, unser Tool zur Leistungsüberwachung und -analyse der Anwendung, die Informationen für die spätere Nutzung erfassen.
3. Analyse der Load-Library-Module, um die Veröffentlichung von COBOL zu bestimmen, unter der die Geschäftsanwendung zuletzt kompiliert wurde.
Konsultieren Sie dabei Ihren Migrationsleitfaden, um sich über Änderungen zu informieren, die im Code für die in früheren COBOL-Versionen kompilierten Module notwendig sein könnten. Es kann auch Kompilierungsoptionen geben, die gelöscht wurden, ihre Funktion geändert haben oder neue Optionen bieten. Portfolio Analyzer – abgerufen über das Library Utility (3.1) des Compuware File-AID-Datei- und Datenmanagement-Tools – ermöglicht es Ihnen, COBOL- und PL/I-Compileroptionen für alle Releases in eine . CSV-Datei für spätere Analyse einzusehen und zu exportieren. CSV-Datei für spätere Analysen. Zusätzlich zu diesen Schritten gibt es weitere Vorläufe, die die Migration erleichtern, einschließlich des Lernens aus eigenen und fremden Fehlern sowie das Sicherstellen, dass Sie Ihre Hardwaremaschinen verstehen.
Aus Fehlern lernen
Obwohl die Migration älterer COBOL-Programme auf die neueste Version von COBOL weniger Fallstricke mit sich bringt als die Konvertierung auf Java, sollten Sie dennoch mögliche Gefahren berücksichtigen, die auf dem Weg auftreten könnten. Zum einen besteht die Möglichkeit, dass Sie zu viel auf einmal übernehmen. Am besten bleiben Sie zunächst bei einer kleinen Anwendung oder einer Reihe von Anwendungen, wie oben Punkt zwei erwähnt. Sie können aus dieser Erfahrung lernen und Ihr neues Verständnis auf andere Anwendungsmigrationen anwenden, um wiederkehrende Fehler zu vermeiden. Vermeiden Sie außerdem es, vor der Migration Annahmen über Programme zu treffen. Analysieren Sie sie im Voraus. Sie benötigen Fakten über die Programme, die Ihnen helfen, ihre Zusammensetzung und ihr Verhalten zu verstehen, um gute Entscheidungen zu treffen, die Ihnen helfen, Probleme zu vermeiden und zu vermeiden.
Kennen Sie Ihre Hardware-Maschinen: ARCH und OPT
Es ist wichtig, einige Hintergrundinformationen zu COBOL und wie verschiedene Versionen die Leistung beeinflussen zu verstehen. Die Art der COBOL-Version hat einen erheblichen Einfluss darauf, wie man die Anwendung migriert. Aus sprachlicher Sicht wurde COBOL mehrfach aufgerüstet – OS/VS COBOL mit Funktionen des ANSI 74-Standards, VS COBOL II mit Merkmalen des COBOL 85-Standards, COBOL Version 5 enthielt Elemente des ISO-Standards 2002 und eine zukünftige COBOL-Version könnte Elemente eines neueren Standards enthalten. Aus leistungstechnischer Sicht war einer der früheren Nachteile gegen COBOL das Versäumnis, die neuesten Prozessor-Hardware zu nutzen. IBM-Großrechner kauften riesige neue Maschinen und COBOL nutzten keine der neuesten Funktionen. Das bedeutete, dass alle COBOL-Versionen von VS COBOL II (1985) bis Enterprise COBOL Version 4.2 (2009) dasselbe Backend verwendeten und denselben Code generierten. Daher wurde im Laufe von 25 Jahren weiterhin derselbe ältere und weniger effiziente Code für COBOL generiert und nutzte keine der neuen Funktionen, die auf den z-Systems-Maschinen eingeführt wurden, beginnend mit dem z900/800 (CY2000). Glücklicherweise änderte sich dies mit COBOL Version 5.1. Alle COBOL-Stufen ab Version 5.1 sind darauf ausgelegt, die neueste Maschinenhardware zu nutzen. Neuere Hardwaremaschinen verfügen über Funktionen, die, wenn sie verwendet werden, dazu neigen, die Arbeit auf die Hardware abzulagern, wodurch der CPU-Verbrauch reduziert und effizienter läuft. Die COBOL ARCH-Kompilierungszeit-Option steuert diese Funktionen. ARCH(6) gilt für die z990/890-Systeme bis z13, das ARCH(11) verwendet. Ebenso steuert die COBOL-OPT-Kompilierungszeit, wie komplex und potenziell effizienter eine Optimierung zu erzeugen ist. OPT(0) ist die minimale Optimierungsstufe und OPT(2)-Level ist das Maximum (OPT(0) bedeutet nicht "keine", sondern "eine minimale Menge"). Höhere ARCH-Stufen erzeugen tendenziell mehr Nutzung der neuesten Maschinenfunktionen, während höhere OPT-Stufen effizientere Optimierungen ermöglichen. Alle COBOL-Versionen verwenden standardmäßig OPT(0). COBOL Version 5.1 verwendet standardmäßig ARCH(6), eine z990/z890-Codebasis. (Hinweis: COBOL Version 5.1 unterstützt ARCH(11), kein z13, und mit ARCH(10) kompilierte Programme laufen auf einem z13, generieren aber keinen Code, der nur auf einem z13 existiert.) COBOL Version 5.2 und 6.1 verwenden standardmäßig ARCH(7), eine z9-Codebasis. Alle COBOL-Versionen erlauben es jedoch den Kunden, die Standardwerte zu ändern. Dennoch ist eine kritische Sorge die Notwendigkeit, einen Standard festzulegen: Die höchste ARCH-Ebene jeder COBOL-Kompilierung sollte auf die niedrigste ARCH-Ebene jeder Maschine in Ihrem Unternehmen gesetzt werden. Wenn Ihr Unternehmen beispielsweise aus z10, z11 und z12 besteht, ermöglicht die Einstellung des Standard-ARCH(8) das Programm problemlos auf dem z11 und z12. Das Setzen des Standard-ARCH(10) führt jedoch zu Problemen, wenn ein Programm anschließend auf einem z10 ausgeführt wird. Auch Katastrophenstandort-Hardware ist von besonderer Bedeutung, da Katastrophenstandorte auf einer anderen ARCH-Maschinenebene liegen können als Ihre Produktionsmaschinen. Im vorherigen Beispiel wird es Probleme geben, wenn die Katastrophenstelle einen z9 hat, da es möglich ist, dass Hardwarebefehle für einen ARCH-Typ höher als Ihre Notfallwiederherstellungsmaschine generiert werden.
Bestimmen Sie die neueste Version von COBOL, auf die Sie migrieren.
Nach diesen ersten Vorbereitungsschritten sollten Sie darüber nachdenken, wohin Sie gehen möchten: COBOL Version 5.2 oder 6.1. Unserer Meinung nach sollten Sie zunächst versuchen, auf 5.2 zu migrieren, um das Erlebnis zu maximieren und Fehler durch einige Testsätze zu beseitigen. Obwohl es keinen technischen Grund gibt, eine Migration mit COBOL Version 5.2 zu starten und dann auf 6.1 zu springen, müssen Kunden herausfinden, was für ihre Umgebung am besten ist. Betrachten Sie Folgendes:
- Ab COBOL Version 6.1 eliminiert doppelte Compiler-Upgrades zweimal, einmal auf 5.2 und erneut auf 6.1. Allerdings...
- Sie können Kosten sparen, indem Sie die IBM Enterprise COBOL-Tests für sowohl COBOL Version 5.2 als auch 6.1 nutzen, um maximale Erfahrung und Anwendungskomfort zu gewinnen, bevor Sie eine formelle Entscheidung zum Upgrade treffen. Während dieser Testphasen wird es keine Änderungen an Single Version Charging (SVC) geben. Weitere Details finden Sie im IBM Ankündigungsschreiben Enterprise COBOL Developer Trial für z/OS, V6.1 .
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.