During the first decade of the 21st century, many organizations have built their IT applications using various 4GL platforms such as Visual Basic, Oracle Forms, Power Builder, VB.NET etc. These platforms offered rapid application development capabilities, so user-facing applications could be built quickly. They also offered rich graphical user interface capabilities providing superior usability, productivity and experience to the end users.
The downside is that many of these platforms have been phased out of support, forcing organizations to move to modern technology stacks. With the economics of the cloud, technology is evolving to offer rich graphical capabilities and a user-friendly experience through web applications. Many organizations are considering transforming and migrating their legacy 4GL applications to overcome the challenges of technology obsolescence, vendor support and skill shortages.
The blog narrates typical challenges being faced by customers embarking on 4GL application modernization programs in traditional approaches. The article discusses the HCLTech Automated Technology Modernization Accelerator (ATMA), which helps customers modernize 4GL platforms to cloud-native architecture leveraging HCLTech's Advantage Cloud.
Industry Drivers:
The following factors are driving organizations to modernize their 4GL applications:
- Digital Transformation: The push towards digital transformation has led organizations to look for ways to modernize their legacy systems and enhance user experiences. AWS native services can facilitate the modernization of 4GL applications.
- Cloud Adoption: AWS provides a scalable, cost-effective and secure platform for 4GL applications thanks to the widespread adoption of cloud computing.
- Data Growth: With the growth of data, organizations are increasingly relying on modernizing their applications to handle this growth, which puts increasing pressure on legacy systems. In order to meet this challenge, AWS offers a variety of data storage and processing solutions.
- Security & Compliance Requirements: AWS supports 98 security standards and compliance certifications, more than any other offering, including PCI-DSS, HIPAA/HITECH, FedRAMP, GDPR, FIPS 140-2 and NIST 800-171, helping satisfy compliance requirements for virtually every regulatory agency around the globe. Organizations can secure 4GL applications in AWS as the threat landscape evolves.
HCLTech Solution Overview:
HCLTech follows an in-house developed, automation-led approach for the modernization of 4GL-based IT applications to transition them to modern technology stacks, such as Java and .NET, to be deployed on AWS infrastructure. The approach leverages HCLTech’s automation platforms, namely Automated Technology Modernization Accelerator (ATMA) and ADvantage Cloud, thus significantly reducing the time to market and cost of modernization. This blog describes the various technology elements of these 4GL applications and how they are transformed into modern technology stacks enabling them to be deployed to AWS environments.
Figure 1: Two-Step Approach for 4GL to Cloud Native
Modernize using HCLTech’s ATMA
ATMA follows an automated code transpilation approach to modernize 4GL applications. Typically, 4GL applications follow two-tier architecture style with a relational database server providing data persistence on a remote server, presentation (user interface) and business logic embedded into a thick client module running on the user desktop or a virtual machine. Some applications may follow three-tier architecture with some of the business logic (such as integrations to other applications in the landscape, common services like report generation etc.) deployed on a centralized server forming a middle tier in the architecture between the presentation layer and the persistence layer.
a. Visual Basic Applications
Visual Basic was one of the most popularly used technologies for the development of rich intranet applications during the first decade of the 21st century. The following table lists the key constituents of VB application sources and the transformation approach followed by the ATMA solution.
# | VB Element | Purpose | Target State Mapping | Transformation |
1 | Form (.frm) | Contains form design for the user interface and code behind to handle the user events, business logic, DB interactions | Web enabled view components as Angular / React components providing GUI, controllers handling the events & navigation, service components (Spring/RESTful for Java & Web API for .NET), data access components as 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. |
2 | Class .cls | Represent the data objects for the information model encapsulating the logically connected attributes in an object-oriented paradigm | Equivalent data objects or 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 |
3 | Business Logic (.bas) | These VB components contain the business logic | Service components (Spring/RESTful for Java & 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 |
4 | Library (.dll) | Third party library for a specific set of UI controls or to enable integration to an external platform etc. | Equivalent library providing similar controls for the target stack or enabling integration | Target state equivalents are to be identified and integrated into the modernized application by code refactoring |
Table 1: Modernization solution mapping for VB applications
b. Oracle Forms Applications
Applications built using Oracle Forms technology typically fall into client server architecture with a rich user interface and thick client in the user desktop interfacing with an Oracle DB 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.
# | Forms Element | Purpose | Target State Mapping | Transformation |
1 | Form (.fmb) | Consists of Form designs with controls, layout |
| Manual |
2 | Events, Functions and Program Units (.fmb) | These components handle the user actions, controller logic and data mappings with the UI controls |
| ATMA platform recognizes the event handling logic and processing logic, converts and decouples them into equivalents into appropriate layer in the target state architecture achieving up to 50% of effort reduction |
3 | PL/SQL Blocks (.fmb) | These are blocks of business logic code to process the data and manage interactions with DB and other systems | Java service classes exposed as REST API or Web API | The business services are generated automatically by ATMA platform with close to 70% of automation efficiency |
4 | Stored Procedures (.SQL) | They include 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. AWS SCT, on the other hand, facilitates the translation of business logic into stored procedures. |
5 | 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 |
6 | Interfaces (.frx) | External APIs/User Exits and Interfaces | Interface Adapters and Controllers | Manual |
7 | 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 |
Table 2: Modernization solution mapping for Oracle Forms applications
c. Power Builder Applications
PowerBuilder applications also fall into client-server architecture with rich GUI running on user desktops and typically Sybase as a database. Similar to Visual Basic and Oracle Forms applications, these applications also will have the business logic and user interface logic tightly coupled into the client layer. They are decoupled as per the below depiction through the ATMA conversion approach.
Figure 2: Modernization solution mapping for PowerBuilder applications
Technical Architecture in Modernized State
As you can observe in the above three scenarios, the ATMA platform helps not only to convert the 4GL-based application sources to a modern technology stack but also transform their two-tier architecture to a multi-tier architecture style with web-based user interface, thus easing the deployment and enabling access through web browsers. The following diagram depicts the typical technical architecture of the applications modernized through the ATMA approach.
Figure 3: Technical architecture of the application in a modernized state
Thus, in the first step, the 4GL applications are transformed into modern technology and architecture and are ready to be deployed in the data center infrastructure as on-premise applications.
Migrate to the Cloud using HCLTech’s ADvantage Cloud
Once the 4GL applications are transpiled into a modern stack, HCLTech’s ADvantage Cloud platform is leveraged to identify and list the various on-premise implementations of the applications and recommend equivalent cloud-native services of the AWS platform. Upon confirmation by the cloud migration architect, the ADvantage Cloud platform performs application code remediation automatically to integrate with respective cloud-native service APIs. The below table presents a list of on-premise functions and corresponding AWS services recommended and incorporated by ADvantage Cloud.
Legacy Function | AWS |
API | API Gateway |
Data files | Amazon Aurora, RDS, PostgreSQL |
Databases | Amazon Aurora, RDS, PostgreSQL, DB2, Oracle, SQL Server |
Events | Eventbridge |
Monitoring | Amazon CloudWatch |
Notifications | SNS |
Files / Outputs | Amazon S3 |
Queues | Amazon MQ, SQS, Managed Kafka, ElastiCache, RabbitMQ, IBM MQ |
Search | Elastic Search |
Security | AWS Directory Service, Cognito, LDAP, MS AD |
Workflow | Amazon SWF |
Table 3: Cloud native service recommendations for on-premise application functions
Benefits of HCLTech’s Approach:
With the approach described above, HCLTech has transformed several 4GL applications and delivered value to its clients worldwide.
- As a result of automation capabilities, modernization efforts have been optimized by 50%-60%.
- Automation capabilities allow transformation to happen two to three times faster
- Reduction of 70% in reliance on SMEs for application development
- A high level of consistency and quality is guaranteed
- The reliance on SMEs is low. The data model and business logic remain unchanged. Therefore, there is little risk of functionality being lost
Conclusion
When migrating 4GL application languages to the AWS cloud, customers must consider business and technical considerations. Technical considerations involve the skill sets of the customer organization, the need for a web service-based system and the target AWS cloud infrastructure on which you plan to run the 4GL systems. Migration to the AWS cloud is not just about the application language. In conclusion, 4GL migrations to AWS can provide significant benefits, including scalability, cost savings, improved performance and increased agility. By following a structured approach, organizations can ensure that their 4GL migration to AWS is successful, providing a platform for continued growth and success.
For more information about this solution, please contact us at AppModCloud-Presales@hcltech.com.