Assuring Quality in Mainframe Modernization to AWS by Leveraging Atos SyntBots
By Indumathi Balaji, Sr. Consultant – Atos
By Shrikant Chaudhari, Technical Architect – Atos
By Madhuri Susarla, Partner Solutions Architects – AWS
By Ramesh Ranganathan, Partner Solutions Architects – AWS
Mainframe applications are often mission-critical, with significant business logic and large volumes of data.
There is a huge opportunity to move these applications to the cloud, allowing organizations to leverage benefits like cost reduction, improved agility, and the ability to unlock data to drive insights.
Atos, an AWS Advanced Consulting Partner and Managed Service Provider (MSP), classifies the mainframe migration dispositions into the following key categories based on customer requirements seen in the industry:
- Re-architect: This pattern involves decomposing the legacy application functionality and then recomposing it back in the modern architecture, such as using microservices and cloud technologies.
- Transcoding: This pattern involves line-based legacy code conversion to a modern language (like Java or C#). This is a like-for-like migration, which means there is no change to architecture and design of the application.
- Re-platforming with mainframe emulator: Also known as re-hosting or lift and shift, this pattern involves moving the legacy applications to an emulator running on Amazon Web Services (AWS).
Migrating these applications to the cloud does have its challenges:
- Little or no documentation and lack of subject matter experts (SMEs) with tribal knowledge.
- High transformation costs due to the time taken to refactor or rewrite.
- Testing the functional accuracy, data equivalence, and non-functional requirements.
There is a lot of information out there about the migration dispositions, but testing remains underrated. Testing needs to be comprehensive in case of the re-architect or transcoding dispositions, as the code base is completely new and needs to be tested like any new application.
Doing this manually is both effort-intensive and error-prone, and often the business knowledge required to develop test cases for the target system is incomplete or nonexistent. Automated testing solutions can help you establish functional equivalence between the old and new systems.
In this post, we will provide details of the Atos SyntBots solution to accelerate the testing of mainframe migration projects. We’ll also explore how establishing data and functional equivalence between the mainframe and migrated systems is made comprehensive and accelerated using this approach.
SyntBots is a next-generation automation platform that utilizes intelligent automation to transform product engineering, ITOps, and business process across the enterprise.
SyntBots for product engineering combines agile development, environment automation, and a powerful set of reusable test automation tools to deliver continuous testing, continuous delivery, architectural compliance, and automated quality assurance (QA) across the entire enterprise development function.
Figure 1 – SyntBots testing accelerators.
The platform-agnostic Process Recorder captures user actions, automatically creates business process workflows, and performs analysis to identify processes for automation. The workflows generated are fed into the SyntBots TDA to generate test cases.
Test Design Accelerator (TDA)
Test Design Accelerator (TDA) auto-generates test cases from the business process (BPM diagrams) based on the functional specifications and requirements. SyntBots TDA enhances productivity of test design, test coverage, high reusability, and reduce SME dependency.
Hybrid Test Automation Framework (X-BRiD)
The X-BRiD test automation framework supports functional automation of web and mobile applications across browsers using Selenium, and performs non-functional testing such as accessibility and cross-browser testing. Intuitive object repository and data manager helps to maintain the test suite effectively.
Data Validator is a data migration testing tool that validates data in the source is migrated correctly to the destination by comparing/analyzing and pinpointing differences. It can connect various data sources like RDBMs, No SQLs, big data stores, cloud databases, flat files, and complex fixed width files. It’s also capable of checking if transformation of data occurs during movement of source data to destination using business rules.
Atos Mainframe Migration Process and Tooling
Atos, which holds AWS Competencies in Migration and Mainframe Migration consulting as well as Level 1 MSSP Security Consulting, has developed solutions to automate the various phases of mainframe migration, from application analysis to deployment.
For the transcoding disposition, which is the focus of this post, the following tools are used:
- Automated migration of mainframe applications to modern cloud architecture is done using the Atos legacy migration solution: Atos Exit Legacy. This helps in analysis of code and database, migration of the code to modern languages, and in migrating the data.
- Functional testing of the migrated application is performed using the SyntBots test design accelerator and test automation framework: X-BRiD. This framework supports functional testing on web applications across browsers. It maintains test cases and data, executes automated tests that cover regression testing, and generates test reports. It also provides a complete automation solution to test the migrated application.
- Data migration and batch/transaction processing testing is performed by the Data Validator. It validates data before and after migration, as well as source and target outputs in batch or transaction processing.
The following table provides a phase-wise summary of tooling used by Atos in mainframe migration:
|Assessment||Assessment of the existing application migration complexity by capturing data points like size, code complexity, and redundant code to create the business case.||Exit Legacy – Inventory Analyzer captures code inventory and relevant complexity parameters.|
|Decompose||Create documentation in the form of flow chart and sequence diagram by analyzing the code.||Exit Legacy – Business Rules extraction tool auto-generated the design artifacts from code.|
|Recompose||Source code is converted into the desired target technology (for example, OOP, Java, C#, or .NET). In this process, the COBOL code is broken down and put together in new technology in the form of different classes, methods, and functions.||Exit Legacy – Rearchitect cleans up the source code and auto-generates the code in the target platform.|
|Validation – Planning||Capture and enhance the business process based on SME interviews. Design the test cases based on process flows.||Process Recorder captures user inputs and auto-generates linear flow of process. Meanwhile, SyntBots TDA auto-generates the test cases based on enriched process flow.|
|Validation – Functional Testing||Functional/regression testing performed by comparing results between old and new application.||Automated execution of test scripts and test run reports are generated using the X-BRiD hybrid test automation framework.|
|Validation – Data Equivalence||Data is validated to ensure migration of data is error-free and batch programs are working fine.||Validate the data migrated to target systems; files produced by batch programs via the Data Validator.|
About Atos Exit Legacy
Exit Legacy is Atos’ patented tools platform that hosts more than 35 tools to accelerate end-to-end application modernization.
Exit Legacy enables modular, accelerated, and de-risked modernization across modernization project lifecycle. It includes tools for automated legacy analysis, business rules extraction, interactive wizard-based language re-architecture enabling microservice creation from monolith legacy code, user interface (UI) modernization, data and database migration, data masking, code optimization, cloud enablement and containerization, and validation and ecosystem modernization.
Exit Legacy is used during the modernization process, and there is no lock-in post modernization.
Figure 2 – Exit Legacy platform for transformation.
Sample Application Overview
The sample application considered for this post is an “employee master maintenance” application consisting of OLTP functionality developed in CICS/COBOL, and a batch program developed in COBOL/JCL. This application has a simple CRUD functionality with some basic validations.
The application has a main employee menu leading to employee master maintenance, department master maintenance, and designation master maintenance screens. The application data is stored in DB2 tables; namely employee, department, and designation. The full source code for this application can be found on GitHub.
As you can see in Figure 3 below, when the Exit Legacy – Inventory Analyzer tool is run, it provides a clear view of the application inventory like number of COBOL programs, number of copy books, CRUD operations mapping, and cyclometric complexity. This information is used estimate effort for rewrite and application testing, which is an input to the business case for the mainframe migration initiative.
Figure 3 – Application analysis with Exit Legacy.
Migrating the Application Using Atos Exit Legacy
The sample application is migrated using the Exit Legacy – Rearchitect tool and data migration utility to a modern web application with an HTML frontend, Java Spring middle tier, and MySQL database. The code generator has the capability to suggest multiple code patterns, and the developer can choose the one that fits the needs.
The source code for the migrated application can be found on GitHub as well. This code is now ready for deployment on AWS.
The figure below shows mapping of the old code and generated code for one of the designation master screens and its associated application logic.
Figure 4 – Code generation for online application to Java web application.
The sample application also includes a batch program that extracts a comma separated (CSV) file for employee, department, and designation master tables periodically as part of an interface requirement with other third-party applications that need this data.
Exit Legacy converts the COBOL program into Spring Batch Job and Job Control Language files (JCL) to Spring batch configuration files. The image below shows mapping of the old code and generated code for one of the batch programs.
Figure 5 – Code generation: mainframe batch application to Java Spring Batch.
Validating Functional Equivalence of Migrated Application
While moving from legacy (mainframe) to a modern platform, it’s essential to ensure functionality is maintained as the application is completely re-architected and rewritten. The functional equivalence is evaluated by testing the scenarios in both platforms and comparing the results.
In this step, we record functional flows from Exit Legacy and leverage tools to automate the functional validation of the migrated application.
- Process Recorder captures the user actions and translates them to functional process flow. These process flows are enhanced with manual inputs from application SMEs.
- Test cases are automatically generated through SyntBots TDA. Optimized test cases are identified and considered for test script creation.
- X-BRiD executes the automated web application functional testing on the migrated application. The identified test scenarios are scripted for automated execution. This framework minimizes the efforts required for creation and maintenance of automation scripts, and incorporates high degree of reusability by externalizing and maintaining the object repository and data manager.
- Automated test scripts are run against a modern web application platform and obtains the test results.
- Similarly, test cases are executed at the mainframe application as well, either manual or through third-party automation tool.
- Comparison of the output against the mainframe application is manual in this example scenario. In practice, this is mostly likely the case due to lack of test automation on mainframe.
Figure 6 – Test case and test script generation.
Once the test scripts are created, then automated test execution and visibility of the testing progress become equally important.
The user interface-enabled test automation framework provided by X-BRiD helps to plan, manage, and execute scripts effectively. It also provides hassle-free maintenance by enabling externalization of test data and intuitive object repository.
Live reporting provides the execution progress and execution reports provides detailed step level report.
Figure 7 – Test execution and reporting.
Validating Data Equivalence of Migrated Application
Data equivalence testing in mainframes broadly has two categories:
- One-time data migration validation, which is validating data from source application in mainframe (like DB2, VSAM datastores) to modern data stores (like Amazon RDS or Amazon Aurora).
- Validating the data files produced or database updates made by batch programs that run periodically.
Validating Data Migration
In our sample application, the mainframe data is maintained in DB2 and the migrated application data maintained in MySQL. SyntBots Data Validator (data migration testing tool) validates that the data in the source (DB2) is migrated correctly to the destination (MySQL) by comparing/analyzing and pinpointing differences.
Figure 8 – Data validation summary results.
The execution result can be viewed for both source and destination file/database as:
- Number of passed records and total number of records extra in both source and destination database.
- Total count of mismatch records, mismatch values in source, and destination database.
- Status of execution as pass or fail.
Validating Batch File Interface
For our sample application scenario, we’ll test the file output produced by the mainframe application against the file output produced by the Spring batch application.
The appropriate process flow is created for batch application, and test scenarios are identified by SyntBots TDA for these batch application processes. Batch processes are executed at the mainframe as well as on the migrated application.
Both output files are fed into the Data Validator tool to find the data mismatches, if any, between legacy and modernized Java batch.
Figure 9 – Batch process validation.
Customer Benefits Achieved
Leveraging the AWS Cloud with the migration and automated testing tools outlined in this post, Atos has seen following benefits across customers:
- 70-90% reduction in application analysis by leveraging the automation provided by Exit Legacy – Inventory Analyzer, Exit Legacy – Business Rules, and SyntBots Process Recorder.
- 50-60% reduction in test design and script maintenance efforts leveraging SyntBots TDA to autogenerate the test cases and the X-BRiD test automation framework.
- ~100% improvement in functional test coverage via comprehensive analysis provided by the tools as mentioned above; validation by application SMEs and automated test execution leveraging X-BRiD.
- ~60% reduction in deployment effort achieved through effective business rule extraction, automated code reviews, and suite of accelerators for test case generation and execution.
- 2X acceleration in time to deliver compared to a non-automated approach.
Testing is one of the biggest pain points in mainframe migrations. In this post, we detailed a testing solution built by Atos that is based on their proven Test Design Accelerator (TDA) and X-BRiD framework that are part of the SyntBots automation platform.
A number of steps are automated when using this solution, such as capturing the existing flows using SyntBots Process Recorder, generation of test cases on the modern system, generation and execution of test scripts, and comparison of test results. This is possible for both online and batch components typical of a mainframe workload.
Together with AWS and the Atos Exit Legacy platform, customers have an end-to-end solution to migrate mainframe workloads to the cloud after comprehensive verification and validation.
Atos – AWS Partner Spotlight
Atos is an AWS Competency Partner and MSP that is a leader in digital services and believes bringing together people, business, and technology is the way forward.
*Already worked with Atos? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.