AWS Cloud Operations & Migrations Blog

Developing enterprise applications on-demand with AWS Mainframe Modernization and Micro Focus

AWS Mainframe Modernization service delivers features and value across the entire mainframe application migration, modernization, execution, and operation lifecycle. The service enables two patterns – Re-platforming and Automated Refactoring. These are popular mainframe modernization patterns because they provide business and technical benefits in the short term with a predictable timeline and cost. The Micro Focus toolchain, with its decades of successful implementations using Micro Focus Enterprise Analyzer, Micro Focus Enterprise Developer, and Micro Focus Enterprise Server, powers the AWS Mainframe Modernization service re-platforming pattern.

Focus of the blog post is the Application Development phase which is a critical phase in a mainframe modernization journey.

Figure 1- Phases of Mainframe Modernization

In this post, we focus on how Micro Focus Enterprise Developer  (Enterprise Developer), packaged as a managed offering by AWS Mainframe Modernization service helps to maintain and modernize mainframe applications. AWS Mainframe Modernization service streams Enterprise Developer using Amazon AppStream 2.0 to deliver the product on-demand to users working from anywhere. AWS Mainframe Modernization services and AppStream 2.0 provide customers quick access to Enterprise Developer over a web browser. This reduces the burden and cost of installing tools on the developer workstation. AppStream 2.0 also manages the operations of the underlying infrastructure.

Mainframe application modernization needs
Business drivers behind a modernization strategy can range from achieving faster speed to market, cost savings to enabling digital transformation journey from mainframe to cloud and beyond. AWS Mainframe Modernization seeks to address the following key needs

  1. Application maintenance and development efficiency
    Fixed capacity and cost constraints limit the availability of parallel development and testing environments on mainframe and legacy environment. Lack of access to individual and integrated development and test environments creates challenges with phased migrations and parallel development and testing.
  2. Solve the skill gap concerns between mainframe COBOL, PL/I, and distributed developers
  3. Lack of access to instructional material and courses leads to a steep learning curve for mainframe developers. Access to modern tools is critical to attract, more easily train developers, and leverage existing skills to maintain and support these core business applications.
  4. Adopt agile and DevOps best practices
    An efficient and nimble environment fostering productivity is required to respond to fast-paced business demands. AWS has established tools and capabilities to enable modern agile development practices.

Micro Focus Enterprise Developer within AWS Mainframe Modernization service

Enterprise Developer provides a powerful environment for mainframe application maintenance, modernization and testing. The service uses an Enterprise Developer AppStream 2.0 image to create standardized infrastructure to support developer needs.

Analyzer helps with Assess & Plan, Developer helps to adapt code for execution in AWS, compiler will compile code that runs in runtime instances in the AWS Mainframe Modernization Service. These tools help migrate mainframe applications and datastores from corporate data centers to AWS

Figure 2 – Micro Focus with AWS Mainframe Modernization Service

Micro Focus Enterprise Developer provides:

  1. A modern development experience for mainframe languages such as COBOL/JCL/BMS and PL/I using an Eclipse-based editor with background parsing to highlight syntax, identify syntax errors and resolve dependencies.
  2. The ability to create data flow diagrams and code structure diagrams to navigate complex applications.
  3. Git interface for interaction with git code repositories hosted in S3, AWS CodeCommit, GitHub, Bitbucket or other resources in AWS or on-premises.
  4. COBOL, PL/I and BMS compilers. The tool provides ability to set directives to emulate different language variants such as Enterprise COBOL for z/OS.
  5. Choice between EBCDIC and ASCII character sets to maintain compatibility with upstream or downstream applications.
  6. A local Enterprise Server runtime for testing and debugging batch jobs and transactions. This interface provides a feature-rich experience of interacting with spool and print output produced by the jobs.
  7. A unit testing framework for capturing the code coverage and performance statistics reports.
  8. Data Tools for file mapping and manipulations using copybook layouts.

Features of Micro Focus Enterprise Developer

Enterprise Developer is one of the main components for the maintenance and modernization of mainframe applications in AWS with the re-platforming pattern. During a re-platforming project from a mainframe to AWS, the mainframe application assets are ported to a mainframe-compatible execution environment. The application source code is adapted and recompiled for execution on the AWS Mainframe Modernization managed runtime.

Enterprise Developer also enables developers to build new applications and services using a single integrated toolset. Enterprise Developer can be used to adapt enterprise applications to work with .NET, Java, web services, REST APIs and AWS Cloud services.

The tool provides support for making incremental changes to your code. For example, you can rename COBOL variables or sections to increase readability. The changes made will reflect across all files in the current workspace (Figure 3 – Renaming variables to increase readability). Selected lines of code can be moved into copybooks to increase reuse.  These techniques allow applying small cumulative changes to reduce risk of introducing errors and collectively enhance code quality.

Variables can be renamed by clicking on variable name in Enterprise Developer IDE. Changes to variable names is applied to all files in the workspace.

Figure 3 – Renaming variables to increase readability

Enterprise Developer Interface Mapping Toolkit (IMTK)  can detect the linkage section content and map it into a new RESTful service. This provides an interface for developing the backend services that interface with newly-written browser-based frontends. In addition, Enterprise Developer provides CICS Web Service Wizard to create REST or SOAP Web Services for CICS applications. Finally, code slicing allows developers to separate business logic and computations into new callable objects and extend applications through J2EE and web services. These features help migrate applications to AWS and continuously modernize, maintain and support application even after the migration to AWS.

Additional benefits of using Micro Focus Enterprise Developer within AWS Mainframe Modernization service

Adoption of parallel development practice

AWS Mainframe Modernization service delivers to each developer a separate and modern development and test environment using AppStream 2.0. The service runs inside the customer’s Amazon Virtual Private Cloud (VPC). VPC provides multiple layers of security to help control access to instances.

Each user is assigned to a stack using a User Pool for additional control. Rumba (a TN3270 emulator) and pgAdmin (administration and development tool for PostgreSQL) are available. This allows efficient access to application databases during the maintenance and validation of resources. Using an Eclipse based IDE enables efficient cross-platform team collaboration and visibility into code changes. Developers can use git branching to keep several work streams going in parallel without affecting each other. This allows large development teams to work in parallel environments accelerating speed of development of COBOL and PL/I applications. Pull requests on these developer branches can be used to initiate CI/CD pipelines to deploy applications to a Micro Focus Enterprise Server runtime instance. Site-specific standards and rules integrated into and enforced by the tool ensures that the developed code meets standards before check-in. Predefined customizations allow support for agile development, continuous integration, and deployment practices for different applications to be centrally managed and deployed.

Scale development capacity while maintaining cost

Business demand for new application functionality is rapidly increasing. With AWS Mainframe Modernization service, customers can now add development capacity when needed. AWS Mainframe Modernization service can scale up and down based on demand. User application customizations and Windows settings are automatically saved after each streaming session and applied during the next session. Home folders are persisted by Enterprise Developer stacks. Stored data is made available to the user in subsequent sessions. Administrators can control idle user session timeouts, and developers can shutdown sessions to save development infrastructure costs.

Organizations can now easily increase capacity to support an augmented workforce around the globe. In addition, development environments can be provisioned on demand in regions closest to the development team to reduce latency.

Increase operational and cost efficiency

AWS Mainframe Modernization is a managed service. AWS Mainframe Modernization relieves customers from the development infrastructure’s management and operations, including scaling, patching, and upgrading. Instead, customers can now focus on product delivery and innovation.

The cost of the Enterprise Developer license is included in the cost of AWS Mainframe Modernization service, eliminating the need for procurement and license management. With pay as you go model, customers decide when the AppStream 2.0 instances run and how to pay for them. As a result, AWS Mainframe Modernization Enterprise Developer can be run using on-demand fleet of streaming instances reducing overall development cost.

AWS Mainframe Modernization service integrates efficiently with other AWS services. Integration with AWS Identity And Access Management (IAM) provides fine-grained access control.  Amazon CloudWatch and AWS CloudTrail for monitoring and logging enables centralized operations and visibility of your development environment.

Agility

AWS CloudFormation templates are used to provision AWS Mainframe Modernization Enterpriser Developer.  This allows for a consistent development environment on-demand. In addition, this fosters a culture of innovation by allowing developers to quickly experiment and try new solutions.

A Re-platforming project with AWS Mainframe Modernization service and Micro Focus is much more than a migration, it is a modernization on many dimensions. Such a project modernizes the complete underlying infrastructure and the processes for managing it. It modernizes the infrastructure from a typical mainframe transaction manager to an AWS fully-managed runtime environment. AWS Mainframe Modernization service implements cloud and DevOps best practices for agility alongside security, high availability, scalability, elasticity, and operability. Transitioning mainframe workloads into agile services with AWS and Micro Focus helps achieve agility attributes required for quick change response.

Summary

This post reviewed the benefits of using AWS Mainframe modernization service along with Micro Focus Enterprise Developer to develop and modernize mainframe applications. You can start using this solution within an AWS account by following that What is AWS Mainframe Modernization documentation. To learn more about AWS Mainframe Modernization and Micro Focus Enterprise Developer, you can engage an AWS Mainframe specialist.

About the authors:

Didier Durand

Didier Durand is a Senior Mainframe Architect in AWS Mainframe Modernization service team. Didier has been working around mainframes throughout his career in various positions. He focused on their migrations to the cloud during last decade. At AWS, he continues to be involved in such transformations, especially for FSI customers.

Jayanthi Rajaraman

Jayanthi Rajaraman is a Customer Delivery Architect with the Professional Services team at AWS. She works with customers to understand their current business and technical requirements and define target architecture on AWS.

Abhijit Kshirsagar

Abhijit Kshirsagar is a Customer Delivery Architect in the Global Financial Services (GFS) division of the AWS Professional Services. Abhijit has worked with mainframes for over 15 years and for last five years, his focus has been integrating mainframes with the distributed systems. With AWS, Abhijit is involved in migrating and modernizing the mainframes for the GFS customers.