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).
Es reicht also nicht, "nur" COBOL in seinen vielen Facetten zu beherrschen. Ich muss in jedem Fall geübt mit dem wichtigsten Host für COBOL Programme umgehen können. Dankenswerterweise stellt IBM eine Community Plattform für IBM Z Enthusiasten mit einer ganzen Fülle von Trainingsmöglichkeiten und der Möglichkeit zum Austausch mit Experten zur Verfügung.
Diese Möglichkeit nutze ich und werde ich nutzen um in folgenden Themen wieder fit zu werden.
IBM Z Konzepte und Grundlagen
Erarbeiten der Grundlagen der Systemarchitektur und von Security und Privacy.
Einarbeiten in wichtige Werkzeuge und Arbeitsumgebungen zur Arbeit mit z/OS
- IBM Z Open Editor auf Visual Code
- Zowe als Explorer für z/OS Files, Insbesondere COBOL Sourcen
- z/OS Unix System System Services (USS)
- REXX für schnelle Skripte
- Time Sharing Option (TSO)
- Erste Schritte in der Nutzung der Job Control Language (JCL). JCL ist mir nicht unbekannt, muss aber aufgefrischt werden. Und JCL ist natürlich zentral für die COBOL Programmierung im IBM Umfeld.
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.
Damit will ich mich natürlich beschäftigen.
Wenn man sich Enterprise COBOL anschaut, lernt man zwangsläufig auch die Job Control Language.
Mir scheint die Java Integration über CICS Services und/oder DB2 Stored Procedures aber praxisrelevanter.
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. Ich fürchte allerdings, das Community Plattform dazu keine Übungsmöglichkeiten zur Verfügung stellt und ich auf hoffentlich reichlich vorhandene Literatur angewiesen sein werde.
DB2 und IMS/DB
Relationale Datenbanken kann ich. 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.
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.
Anmerkung:
Viele der vorgenannten Aspekte sind von mir noch zu erledigen. Die Fortschritte dabei werde ich kontinuierlich einarbeiten.