
May 4, 2022
Alex Woodie
IBM is rolling out a new application development framework called Merlin as part of its release of IBM i version 7.5. Designed primarily as a lightweight alternative to RDi and running in containers, Merlin could provide a guide to how IBM sources and distributes development tools in the future.
Merlin is a new Licensed Program Product (LPP) offering from IBM designed to allow IBM i developers to create new ILE programs from scratch or modernize existing ones. The software, which is officially called Modernization Engine for Lifecycle Integration, is based on a mix of open source and proprietary tools from IBM, Red Hatand ARCAD software which is packaged to run on the Power server through Red Hat OpenShift containers and accessible through a web browser.
The main IDE is based on Visual Studio Code (but not that of Microsoft, says IBM). IBM called on the change management and DevOps expertise of ARCAD to integrate support for Cottage source code management and Jenkins for continuous integration and continuous deployment (CI/CD) pipelines. It also includes a conversational RPG tool from ARCAD called Transformer, which IBM has renamed Converter for its Merlin offering.
The idea is to provide an environment in which customers can build next-generation applications using the modern DevOps paradigm. Merlin provides comprehensive coverage of ILE languages, including RPGIII and RPGIV, COBOL, CL, DDS, and SQL, giving developers the familiarity of working in these languages while advancing them with automated code management and deployment.
It’s a step up from the dark ages of SEU and PDM, but without the resource-heavy Rational Developer for i (RDi), says IBM program manager Alison Butterill.
“RDi is a great tool,” says Butterill computer jungle, “but it’s based on Eclipse and it contains a lot of proprietary code that didn’t really fit into the containerization space. . . It is a very heavy client. It requires a lot on your own machine.
Merlin offers a slightly different approach to application development and modernization, not to mention that it’s much easier on IT resources, Butterill says.
“We’ve had many, many customers asking us for a browser-based solution, a cloud-based solution, something that incorporates not just editing, compiling, and debugging, but also the modernization aspects of the transformation, and especially DevOps and CI/CD,” she says. “You could [create and modernize applications] with RDi, but again RDi relies on a big client. It also doesn’t integrate DevOps and CI/CD capabilities, and it doesn’t integrate some of the conversion and transformation tools we get from ARCAD. For customers who want to run in the cloud but browser-based and lightweight, this is definitely the tool.
A developer working with Merlin to modernize an application would start by gaining access to Merlin itself. As a certified container application, users will be able to download Merlin directly from the IBM Certified Container catalog. After paying for the required Virtual Process Core (VPC) units with IBM Passport Advantage, they can begin.
The user begins their workflow by acquiring the IBM i server source code. Once the source code is in the Merlin environment, the user can make necessary code updates from Merlin’s browser-based interface. When the job is done, the user then sends the code back to their IBM i to compile and run the object, Butterill explains.
Merlin doesn’t currently have a debugger, but that should change in the near future, according to Butterill, who said it was the fastest development project she’s ever been on at IBM. “We just focused on getting that out the door,” she says. “We have some ideas for our next [release].”
Although Merlin runs in a container, it is not used to build container-based applications. This is an important distinction that IBM wants to emphasize because container technologies, such as Docker and Kubernetes, which are used to manage containers, do not run on IBM i. But the full range of container technologies run on Power Linux environments, hence the decision to base Merlin on OpenShift.
There were several reasons why IBM chose a container-based deployment option for Merlin, Butterill explains. “First, because it allowed us to embed some of the OpenShift functionality,” she says. ” But it is not the only reason. It’s a nice side benefit.
Containers have the main advantage of hiding the inherent complexity of apps made up of a mix of different frameworks and technologies, which describes most modern apps these days. Containers allow a developer to create a standard image of all the different pieces that go into the application, with the assurance that all technologies are at the correct release levels to ensure everything works together.
“Working with containers allowed us to take these different components and put them together in a different way,” Buterill says. “And the containers are of course. . . almost like a black box. You appeal to it, something in their works, and you use it from the outside. This allowed us to encapsulate a lot of this function that we wanted to provide and manage it in a very streamlined way. »
A customer could create their own version of Merlin by tinkering with open source tools, and perhaps even bundling it up as a container. “I could do it myself,” Butterill says. “But it would be a lot of work and we still wouldn’t get all the rooms we cover and the range of our suite.”
Merlin requires IBM i 7.4 or 7.5.
RELATED STORY
Announcement day: IBM lifts the veil on IBM i 7.5 and 7.4 TR6
Help us determine the state of IBM i in 2022