AWS Partner Network (APN) Blog

Modernize and Migrate 4GL Applications to AWS Faster with HCLTech ATMA

By Shivaramesh Krishna Jonnadula, Associate VP, Digital & Analytics Services – HCLTech
By Chandra Parvathaneni, Manager, Partner Solutions Architect – AWS 

By Prashanth Nalubandhu, Partner Solutions Architect – AWS

HCLTech-AWS-Partners-2022
HCLTech
Connect with HCLTech-2022

Many organizations previously built IT applications using fourth-generation language (4GL) platforms such as Visual Basic, Oracle Forms, and Power Builder. These platforms once offered rapid application development capabilities and rich graphical user interfaces (GUI), providing superior productivity and user experiences.

More recently, however, organizations are migrating those applications to the cloud to overcome technology obsolescence, vendor lock-in, expensive or limited licensing policies, and skill shortages, among other challenges.

In this post, we describe how HCLTech’s Automated Technology Modernization Accelerator (ATMA) and ADvantage Cloud can help modernize 4GL-based applications to cloud-native architecture, enabling deployment on Amazon Web Services (AWS) environments and significantly reducing costs of modernization and time to market.

HCLTech is an AWS Premier Tier Services Partner and AWS Marketplace Seller with several AWS Competencies, including Migration and Mainframe Modernization Consulting. HCLTech supercharges progress for hundreds of global enterprises, solving both day-to-day and complex challenges with a dedicated full-stack business unit.

Modernizing with ATMA

To modernize 4GL-based IT applications, HCLTech’s approach leverages the following automation platforms:

  • ATMA to first transition the applications to a modern technology stack, such as Java and .NET.
  • ADvantage Cloud to refactor as cloud-native applications and deploy on AWS.

HCLTech-4GL-to-AWS-1

Figure 1 – HCLTech’s two-step approach to migrate 4GL applications to the cloud.

ATMA follows an automated code transpilation approach to modernize 4GL applications. Transpilation is a combination of “compilation,” where high-level programming instructions are processed to machine-level instructions, and “translation,” where the instructions are converted to equivalents in a different high-level programming language.

Typically, 4GL applications follow a two-tier architecture style with a relational database server providing data persistence on a remote server, presentation (user interface) and business logic tightly coupled and embedded into a thick client module running on a user desktop or a virtual machine.

An ATMA-based modernization approach decouples the presentation layer, business logic, and data access components, and then transforms the two-tier architecture into a multi-tier architecture with well-separated layers, including a web-based UI, modular business services, and a data access layer.

The following charts go into more detail about the ATMA transformation approach for specific applications.

Visual Basic Applications

Visual Basic was one of the most popular technologies for developing rich intranet applications during the first decade of the 21st century. The following table lists the key constituents of Visual Basic application sources and the transformation approach followed by ATMA.

Visual Basic Element Purpose Target State Mapping Transformation
Form (.frm) Contains form design for the UI and code behind to handle the user events, business logic, and database interactions Web-enabled view components as angular/react components providing GUI, controllers handling the events and navigation, service components (Spring/RESTful for Java and Web API for .NET), data access components as data access objects (DAOs)/repository components, distributed into a multi-tier architecture ATMA platform recognizes presentation components, event handling logic, and business logic components and converts them into appropriate layers in the target state architecture
Class (.cls) Represents the data objects for the information model encapsulating the logically connected attributes in an object-oriented paradigm Equivalent data objects or data transfer objects (DTOs) serving the same purpose ATMA platform translates the data object definitions from .cls into equivalents as Java bean definitions for Java stack or C# classes for .NET stack
Business logic (.bas) These Visual Basic components contain the business logic Service components (Spring/RESTful for Java and Web API for .NET) and data access components as DAOs/repository components into the business layer of the target stack ATMA platform converts them to target components through automated code transpilation
Library (.dll) Third-party library for a specific set of UI controls or to enable integration to an external platform Equivalent library providing similar controls for the target stack or enabling integration Target state equivalents are identified and integrated into the modernized application by code refactoring

Oracle Forms Applications

Applications built using Oracle Forms technology typically fall into client server architecture, with a rich user interface and thick client on the user desktop interfacing with an Oracle Database server in the backend. The business logic may be embedded in the client layer as PL/SQL program units or into the stored procedures executing in the database server.

Oracle Forms Element Purpose Target State Mapping Transformation
Form (.fmb) Consists of form designs with controls and layout
  • HTML5/ReactJS/CSS
  • Typescript functions
ATMA platform recognizes the event handling logic and processing logic, and converts and decouples them into equivalents within the appropriate layers in the target state architecture, achieving up to 50% effort reduction
Events, functions, program units (.fmb) These components handle the user actions, controller logic, and data mappings with the UI controls
  • Java or C# classes with business logic exposed as REST API
  • Typescript functions in react services and components
ATMA platform recognizes the event handling logic and processing logic, and converts and decouples them into equivalents within the appropriate layers in the target state architecture, achieving up to 50% effort reduction
PL/SQL blocks (.fmb) These are blocks of business logic code to process the data and manage interactions with database and other systems Java service classes exposed as REST API or Web API The business services are generated automatically by the ATMA platform, thus saving more than 70% of modernization efforts
Stored procedures (.sql) Includes the processing logic which executes on the Oracle database server Java service classes exposed as REST API A stored procedure is translated into a business service by ATMA; externalizing the stored procedure from a database server is an architectural decision based on the impact on performance and scalability
Data access libraries (.fll) Enable data access Java or C# Domain Objects / entities and repository (DAO) components Data access components are generated by ATMA automatically
Interfaces (.frx) External APIs/user exits and interfaces Interface adapters and controllers Manual
Database Oracle database Oracle or any other relational database No schema changes in the domain model and no functional changes in the data access layer of the application

PowerBuilder Applications

PowerBuilder applications also fall into client server architecture with rich graphical user interface running on user desktops and, typically, a Sybase database for persistence. Similar to Visual Basic and Oracle Forms applications, these also have the business logic and UI logic tightly coupled into the client layer.

The figure below illustrates how ATMA transpiles the elements of PowerBuilder applications through a conversion approach into modern state components.

HCLTech-4GL-to-AWS-2

Figure 2 – Modernization solution mapping for PowerBuilder applications.

Technical Architecture in Modernized State

As you can observe in the three scenarios above, the ATMA platform not only helps convert the 4GL application sources to a modern technology stack, but it transforms two-tier architectures to multi-tier architecture styles, with the modernized applications accessible through web browsers.

This architecture eliminates the need to deploy the client-side components on each user’s desktop, thus simplifying the application deployment in a central server.

The next figure depicts the typical technical architecture of how the applications are modernized through ATMA approach.

HCLTech-4GL-to-AWS-3

Figure 3 – Technical architecture of the application in its modernized state.

Migrate to the Cloud Using HCLTech’s ADvantage Cloud

Once 4GL applications are transpiled into a modern stack, they are ready to deploy in the data center infrastructure as on-premises applications.

You can leverage HCLTech’s ADvantage Cloud platform to identify and list the various on-premises implementations of the applications and recommend equivalent cloud-native service option on AWS.

Once the cloud migration architect confirms their choices among the options recommended, ADvantage Cloud performs the application code refactoring automatically to integrate with respective cloud-native service APIs, replacing the previous on-premises implementations.

The following table lists on-premises functions and the corresponding AWS products recommended for and incorporated by ADvantage Cloud.

Legacy Function Recommended Products
API Amazon API Gateway
Data files Amazon Aurora, Amazon RDS, Amazon EBS, Amazon EFS, PostgreSQL, RDBMS
Databases Amazon Aurora, Amazon RDS, PostgreSQL, DB2, Oracle, SQL Server
Events Amazon EventBridge
Monitoring Amazon CloudWatch
Notifications Amazon SNS
Print and outputs Amazon S3
Queues Amazon MQ, Amazon SQS, Managed Kafka, Amazon ElastiCache, RabbitMQ, IBM MQ
Reporting Amazon Athena, Amazon QuickSight
Search Elasticsearch
Security AWS Directory Service, Amazon Cognito
Workflow Amazon SWF

For example, the Java I/O-based implementations for file access are replaced with Amazon Simple Storage Service (Amazon S3) integrations through automated code refactoring.

The following figure presents the deployment view of the modernized cloud-native application on AWS, delivering the benefits of elasticity, reliability, security, monitoring, management, and various other functions for business applications.

Figure 4 – Deployment architecture of modernized cloud-native application on AWS.

Subsequent to the modernization and cloud-native refactoring of the 4GL applications, the following activities are performed to package and deploy the applications on AWS:

  • Presentation layer components, including models, views, controllers, services, and validators, are packaged into web archives and deployed on AWS Elastic Beanstalk with Node.js.
  • Business services are packaged as web services and deployed on Amazon Elastic Compute Cloud (Amazon EC2) instances.
  • Batch jobs are deployed as headless components with AWS Lambda services.
  • Databases can be migrated to Amazon Relational Database Service (Amazon RDS), and the data access components of the applications are refactored to integrate with RDS APIs.
  • Application files are migrated to Amazon S3, and all the file read or write operations are transformed into S3 API invocations.

Benefits of HCLTech’s Approach

Using the approach described above, HCLTech has transformed several 4GL applications and delivered value to clients worldwide. For example:

  • Modernization effort reduced by 50-60%.
  • Transformation achieved two to three times faster.
  • Data model and business logic remain unchanged, so there is less risk of lost functionality.
  • Significant reduction (up to 70%) in dependency on legacy application subject matter experts, who otherwise are stressed to support the modernization programs in addition to business-as-usual activities.
  • High-level of consistency of design patterns and code quality.

Furthermore, AWS can help facilitate the modernization of 4GL applications in the following initiatives:

  • Cloud adoption: AWS provides a scalable, cost-effective, and secure platform for 4GL applications.
  • Data growth: AWS offers a variety of data storage and processing solutions that can help organizations as they seek to relieve pressure on legacy systems.
  • Security: AWS supports various security standards and helps satisfy compliance requirements for virtually every regulatory agency around the world.

Conclusion

Modernizing 4GL applications for modern technology stacks and migration to AWS can help overcome the challenges associated with legacy platforms and provide significant benefits for the maintainability and longevity of the applications.

This task can become significantly more economical, quick, and reliable by leveraging HCLTech’s approach, using accelerators such as Automated Technology Modernization Accelerator (ATMA) and ADvantage Cloud.

For more information about this solution, please refer to this AWS consulting offer, or contact HCLTech at AppModCloud-Presales@hcl.com. You can also learn more about HCLTech on AWS Marketplace.

.
HCLTech-APN-Blog-Connect-2023
.


HCLTech – AWS Partner Spotlight

HCLTech is an AWS Premier Tier Services Partner and MSP that serves hundreds of global enterprises to solve day-to-day and complex challenges with a dedicated full-stack business unit.

Contact HCLTech | Partner Overview | AWS Marketplace | Case Studies