IBM und COBOL
Der überwiegende Teil der weltweiten COBOL Sourcen läuft sicher auf IBM Großrechnern der IBM Z Familie unter z/OS. Ganz sicher gibt es in vielen, vor allem mittelständischen Unternehmen eine Menge COBOL Sourcen auf Rechnern der Serie IBM Power Systems unter dem Betriebssystem IBM i (ehemals AS/400 und OS/400).
Ich möchte mich hier auf die IBM Z Rechner konzentrieren. Dankenswerterweise stellt IBM weltweit die Lernplattform Z Xplore zur Verfügung, eine Community Plattform für IBM Z Enthusiasten mit einer ganzen Fülle von Trainingsmöglichkeiten und der Möglichkeit zum Austausch mit Experten.
Die Vielzahl der Trainingsoptionen habe ich in folgenden Schritten genutzt:
- Ich habe mir ein breites Wissen über das umfangreiche IBM Z Environment angeeignet.
- Ich habe mich in der Tiefe auf COBOL, CICS und JCL fokussiert.
IBM Z Environment
IBM bietet für alle wichtigen Skills rund um das IBM Z Environment einen dreistufigen Trainingsplan, des erfolgreiche Absolvierung über Credly Batches nachgewiesen wird.
Inhaltlich sind dadurch folgende Themenkomplexe abgedeckt:
- Konzepte und Grundlagen der Systemarchitektur
- Konzepte zur Speicherorganisation
- Kurzer Anblick in Assembler und PL1
- Überblick über Scriptsprachen im ZOS Umfeld
- Administrations- und Entwicklungsumgebungen
- Security
IBM Enterprise COBOL
Ich bin mit Visual COBOL von Microsoft sehr gut vertraut. Das gilt sowohl für die prozeduralen als auch für die objektorientierten Elemente der Sprache. COBOL muss ich also nicht mehr lernen. Trotzdem werde ich mich sehr intensiv mit IBM Enterprise COBOL beschäftigen und mich dabei auf die spezifischen Möglichkeiten dieses Compilers fokussieren.
IBM Enterprise COBOL ist nicht objektorientiert hat aber Möglichkeiten der direkten Einbindung von Java Klassen und kann mit XML und JSON umgehen. Auch kann Java COBOL über JNI aufrufen.
CICS und REST JSON API
In meiner aktiven Zeit als COBOL Programmierer habe ich eine Unzahl von CICS / BMS Programmen für 3270-Terminals geschrieben. Die Bedeutung solcher UI ist ganz sicher stark rückläufig.
CICS hat mit seiner Fähigkeit zu hochvolumigen Transaktionen mit minimaler Latenz aber immer noch eine zentrale Bedeutung in vielen Branchen mit hohem Datenaustausch Volumen.
Zudem kommt CICS eine zentrale Rolle in der Modernisierung von COBOL Applikationen zu.
- CICS unterstützt RESTful Web Services mit JSON durch CICIS REST Services, SOAP und Java über JCICS
- Durch die Integration mit Jakarta EE oder Spring Boot in einer CICS-Region ist CICS überaus relevant für hybride Anwendungslandschaften.
Es gibt also genügend Gründe, sich intensiv mit CICS auseinanderzusetzen.
DB2, IMS/DB und VSAM
An DB2 interessieren mich Stored Procedures und dabei insbesondere zwei Facetten:
- Speichern von in Java geschriebener Geschäftslogik in DB2 Stored Procedures
- Publizieren von REST JSON API aus DB2 Stored Procedures. Native REST API für DB2 oder DB2 REST-Server ist wahrscheinlich die relevanteste Methode
Ich hoffe, ich finde dazu in der Community Plattform eine Menge Übungsmöglichkeiten.
VSAM ist nach wie vor eine der wichtigsten physischen Speicherstrukturen für COBOL-Anwendungen. In vielen Unternehmen laufen zentrale geschäftskritische Anwendungen auf IBM Mainframes, die VSAM-Dateien nutzen.
Auch IMS/DB ist nach wie vor in vielen Unternehmen mit sehr hohen Transaktionsanforderungen relevant. Mein Anspruch ist nicht, hierarchische Datenbanken designen zu können. Ich möchte aber performant auf IMS/DB zugreifen können und die Methoden dazu beherrschen.
Ich fürchte, das werde ich nicht üben können. Also muss mein Wissen aus der Literatur kommen.
Nächste Schritte
Jetzt bin ich in der Lage, meinen Showcase auf einen IBM Großrechner zu übertragen. Es sollen also zwei Anwendungen entstehen:
- Das Haushaltsbuch als 3270 Terminal CICS Anwendung (Greenscreen). The traditional way.
Die Anwendung wird aus einer Schicht von CICS "Screen"-Programmen und einer Schicht von CICS Backend-Programmen mit der Geschäftslogik bestehen. Zur Datenpersistenz werde ich VSAM Dateien benutzen. Dann habe ich einmal Datei-Handling demonstriert. - Die CICS Backend-Programme bieten ihre Geschäftslogik als Web API an. Es werden als CICS REST/JSON API entstehen.
Die Daten werden in einer DB2 persistiert.
Anmerkung:
Die Fortschritte in diesen beiden Projekten werde ich kontinuierlich einarbeiten.