Further Reading: Legacy System Modernization Case Study
Books
-
Working Effectively with Legacy Code by Michael Feathers. Though not COBOL-specific, this is the definitive guide to understanding, testing, and improving legacy code. The techniques for "characterization testing" (writing tests that capture existing behavior) are directly applicable to COBOL modernization.
-
Refactoring: Improving the Design of Existing Code by Martin Fowler. The foundational text on refactoring. While examples are in Java, the principles — rename for clarity, extract common code, separate concerns — apply directly to COBOL.
-
DB2 for z/OS: Application Programming and SQL Guide (IBM SC27-4764). The comprehensive reference for embedding SQL in COBOL programs. Covers host variables, cursors, SQLCA, and dynamic SQL.
-
Modernizing Enterprise Applications with COBOL by Tom Ross and others (IBM Press). Practical guidance on modernizing COBOL applications, including web services, XML/JSON handling, and integration with Java.
IBM Redbooks
-
Batch Modernization on z/OS (SG24-7779). Strategies for modernizing batch processing, including checkpoint/restart, parallel processing, and batch-to-online migration.
-
Developing Web Services for CICS (SG24-8148). Step-by-step guide to creating CICS web services with JSON and XML support. Covers pipeline configuration, data transformation, and security.
-
Application Modernization with IBM COBOL (REDP-5693). A shorter Redpaper focusing on Enterprise COBOL v6 features that support modernization: JSON GENERATE/PARSE, UTF-8 support, and improved debugging.
Online Resources
-
IBM Developer — COBOL Modernization (developer.ibm.com). Articles, tutorials, and code samples for modernizing COBOL applications. Includes guides for JSON handling, REST APIs, and z/OS Connect integration.
-
Open Mainframe Project — COBOL Working Group (openmainframeproject.org). Community resources for COBOL education and modernization, including the COBOL Programming Course and related projects.
-
z/OS Connect EE Documentation (IBM Knowledge Center). Reference for z/OS Connect Enterprise Edition, which provides a gateway for exposing z/OS assets (CICS, IMS, batch) as RESTful APIs with OpenAPI documentation.
Topics for Further Exploration
-
z/OS Connect EE: IBM's API gateway for z/OS. Provides automatic OpenAPI (Swagger) documentation generation, request/response mapping, and API management for CICS and batch programs.
-
Event-Driven Architecture on z/OS: Using IBM MQ and CICS events to move from batch-oriented to event-driven processing. This is the natural next step after API exposure.
-
Mainframe DevOps: Tools like IBM Dependency Based Build (DBB), Wazi Deploy, and Urban Code Deploy that bring modern CI/CD practices to z/OS environments.
-
COBOL and Java Interoperability: Enterprise COBOL can call Java methods and be called from Java. This enables integration with machine learning models, modern frameworks, and cloud services without rewriting COBOL code.
-
Cloud-Hosted z/OS: IBM Wazi as a Service and similar offerings that provide z/OS environments in the cloud, enabling modern development workflows for mainframe applications.