ARCAD Breaks Up Monolithic Code With New Transformer Tool
June 3, 2024 Alex Woodie
There are many different aspects to application modernization: moving from 5250 greenscreens to Web interfaces, adopting the SQL database engine, and using DevOps techniques. Another part of modernization is breaking up monolithic codebases into smaller, more manageable chunks that can be more readily integrated using APIs and Web services, and that’s the goal of a new version of its Transformer product line launched recently by ARCAD Software.
ARCAD Software already offers several capabilities under its Transformer brand, including Transformer RPG for converting fixed-format RPG to free-format RPG; Transformer DB for converting DDS files to modern DDL tables; Transformer Field for expanding field sizes; and Transformer SYNON for moving away from the Synon CASE tool (now called Broadcom 2E).
Now it has one more: Transformer Microservices, which is designed to take monolithic RPG codebases and convert them to more bite-size microservices. The new product, which ARCAD discussed with IT Jungle at the recent POWERUp 2024 conference, is being launched right now, with a version 2 already planned for early 2025.
According to Alexandre Codinach, ARCAD’s vice president of sales and operations for the Americas, Transformer Microservices is the logical continuation of the DevOps and code modernization tools it has developed for IBM i shops, and a natural extension of the development path that ARCAD is trying to lead those customers down.
“We already have the tooling to modernize the code, to modernize the database,” Codinach said. “But the idea here is to try to help people to go to microservices.”
Microservices, also called Web services, are a core component of the modern application architecture that has emerged over the past 15 years or so. Instead of writing an enterprise application that contains all of the feature and functionality contained within a single chunk of code, the various functions are separated logically into their own modules called microservices, and glued together using integration techniques like REST.
IBM i shops have many reasons to adopt microservices, as it can simplify development tasks by breaking up dependencies, make testing and maintenance tasks easier, and potentially make the application more resilient to failure. The architecture also lets organizations more easily replace one function, running as a microservice, with another one. (The other parts of the modern stack don’t make as much sense in IBM i-land, including running in a cloud-native fashion with the separation of compute and storage layers, and running in Kubernetes-based containers.)
Codinach has seen many IBM i shops that can benefit from microservices and a migration from monolithic codebases to n-tier architectures.
“On the i, there are applications that we have written maybe 35 years ago that are huge monolithic programs with 50,000 lines of RPG,” he said. “You have to chain the programs. That creates conflicts, complexity, and the idea is to break that up.”
Transformer Microservices helps by automating the dirty work of identifying the business logic, refactoring it into a modular, RESTful microservice, and then inserting a call to that microservice in the monolithic app. Repeated logic is detected automatically and combined into a single service program, to improve code quality and avoid duplicate maintenance, the company says.
The new offering also helps with tracking down interlocking code dependencies buried amid tens of thousands of lines of spaghetti code and unwinding them, without losing functionality.
Eliminating the links in RPG codebases is one of the toughest aspects of moving to microservices. Transformer Microservices helps by checking for “tight coupling” on candidate code, and then automatically identifying any unexpected “links” to other areas of the application that could make it difficult to extract into its own microservice, the company says.
The product also helps by creating parameters to simplify tightly coupled code. “For example, if a variable is used outside of local code, it is then converted into a parameter of this subroutine call,” ARCAD says in its product brochure. “Similarly, GOTOs are converted as part of the module generation process.”
Transformer Microservices V1 is generally available now, and is fully compatible with all versions of RPG. The software works with other ARCAD products, including ARCAD for DevOps, Transformer RPG, and ARCAD iUnit. It’s designed to work only with Rational Developer for i (RDi), although it could be compatible with Merlin, the joint ARCAD-IBM solution for modern development; ARCAD will need to discuss what IBM wants to do on that front, Codinach says.
Work is already underway on Transformer Microservices V2, according to Codinach. The next version, due in late 2024 or early next year, will simplify the process of exposing RPG-based microservices to outside applications, he says.
RELATED STORIES
DevOps Means Using The Tools You Already Have Better
ARCAD Plugs IBM i DevOps Suite Into Microsoft Azure
Unit Testing Gets A Boost With ARCAD