Migrating COBOL Apps
2h 49mAdvanced2020-10-16
Authors

Malcolm Shore
Cybersecurity Expert, Former Director of GCSB
Course details
Despite the arrival of myriad new and modern languages, COBOL still rules many government and legacy computing systems. Many of these systems are due to be retired, and the organization's applications must be migrated to a modern environment. In this course, learn about the ways in which developers can migrate legacy COBOL applications, the challenges in doing so, and techniques and tips for succeeding in a smooth transition. Discover various techniques and tools you can use to analyze legacy COBOL source code. Explore how to use visualization to better understand legacy code; how to extract code into a subprogram; how to effectively refactor code; and more. Get insight into some automated migration tools that streamline the process. Plus, instructor Malcolm Shore steps through the process of migrating some legacy-style COBOL application demonstrating key tools and processes along the way.
Skills covered
COBOLProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Succeed with a COBOL migration
- 02 - What you should know
1. The Case for Migrating COBOL
- 03 - COBOL today
- 04 - GAO, legacy systems, and COBOL
- 05 - Approaches to legacy migration
- 06 - Reasons for migration success and failure
- 07 - Migrate to the cloud
2. Using COBOL
- 08 - Install a Linux subsystem on Windows
- 09 - Run GnuCOBOL on Linux
- 10 - Look at code from the past
- 11 - Measure code complexity
- 12 - Different dialects of COBOL
3. Challenges for the Migration
- 13 - Self-modifying code
- 14 - Dynamic calls to subprograms
- 15 - Understand XA transactions
- 16 - The buried update
- 17 - The deadly embrace
- 18 - Legacy control flow
- 19 - Challenge - Trace the control flow
- 20 - Solution - Trace the control flow
4. Analysis of COBOL Source Code
- 21 - Lehman's laws of software evolution
- 22 - Reengineer and the horseshoe model
- 23 - Classification of legacy data
- 24 - The reengineering process
- 25 - Visualization of legacy COBOL code
- 26 - Create COBOL flowcharts with Visustin
- 27 - Navigate code visually with Visual Studio
5. Refactoring and Resizing
- 28 - Prepare to refactor code
- 29 - Refactor the DESR application
- 30 - Remove redundant labels
- 31 - Resize applications
- 32 - Make code segments generic
- 33 - Challenge - Refactoring
- 34 - Solution - Refractoring
- 35 - Introduce structure through subprograms
- 36 - Remove dead code
- 37 - Refactor data
- 38 - The challenges of migrating to a relational database
- 39 - Refactoring, continuous integration, and self-testing
- 40 - Observations on the paradigm shift
- 41 - The refactoring catalog
6. An Exercise in Migration
- 42 - P6 application
- 43 - Select the migration option
- 44 - Understand the P6 application
- 45 - Introduction to QWICS
- 46 - Explore the online QWICS demonstrator
- 47 - Migrate P6 into QWICS
- 48 - Start the P6 PRIMA migration
- 49 - Architecting the P6 database
- 50 - Migrate the P6 data
- 51 - Create the data access layer
- 52 - Migrate the P6 code
Conclusion
- 53 - What's next