Resources
/
Case Study

Case Study: Legacy Modernization

Legacy System: Billing system for large US telecom operator. Mission-critical application with high performance requirements.

As-is State: Batch application with 5M+ COBOL LOC and 4000 JCL procedures, leveraging CICS, DB2, and Syncsort. The system has evolved over 30+ years and was maintained by several different vendors. It supports several architectural variants that are no longer in use.

Target State: Linux server cluster with 4 128-core servers with 1TB memory each, DB2 database, standard Linux services.

Challenges

  • Performance: The system is extremely performance critical, yet Java was measured 3-7X slower than COBOL and the DB pipeline performed up to 30X slower on Linux.
  • Custom architecture: Legacy system made extensive use of custom architectural components, such as an in-memory database implemented in Assembly and low-level COBOL.
  • Custom target constraints: The modernized application needed to operate on both EBCDIC and ASCII encoded files. The component-based architecture realized through the COBOL preprocessor needed to be preserved in the modernized application, but should simplify maintenance.
  • Maintainability: Generated code had to satisfy custom coding standards as measured by predefined Sonar profile.

Outcomes

  • Migration process: The legacy system was decomposed into six functional areas which were migrate in subsequent sprints, and system enhancements made during the modernization were retrofit in a last sprint. For testing, the mainframe and Linux applications were run concurrently on the same data and output sent to downstream systems was compared byte-for-byte.
  • Performance parity with the legacy system was achieved by DB tuning, decomposition of billing cycle data for parallel execution, and automated transformation of inefficient search algorithms to better performing counterparts.
  • Custom architectural components and target constraints were realized by special automated transformations.
  • Modernized code met the same coding standards that were required of manual code and are now successfully maintained by client team.
  • Modernization took 14 months and its business impact (cost savings) was recognized with the client’s top internal achievement award.