Irdani brings COBOL to the world of microservices


Jan 19 2022

Alex Woody

IBM i customers who need to connect their COBOL applications to web services and APIs may want to check out Eradani, which is in the process of rolling out an update targeting COBOL code. In the process of modernizing Eradani Connect, the company has enhanced its entire platform, which will also benefit RPG stores.

Eradani Connect is designed to make it easy to connect IBM i applications to external APIs in a bi-directional manner. Through its native wrapper code for IBM i, the software allows customers to render their existing applications using REST protocols and JSON data structures, thus providing a new way to communicate with customers and partners over the Internet. Conversely, the software also helps IBM i stores consume externally developed APIs using these same technologies, which can improve internal applications with additional data feeds.

Up until this point, Eradani has primarily focused on helping IBM i stores deploy and consume data using RPG applications. Given that the majority of IBM i applications are written in RPG, this was a good decision. But lately, the company has had several potential customers who have come out of the woodwork to ask if Eradani Connect can work with their COBOL applications.

“Suddenly now we’re getting all these requests” for COBOL support, says Dan Magid, founder and CEO of Berkeley, California. “They came to us saying, Hey, we really need to do this. There are no good tools out there. Can you handle it?”

After contacting and finding great support for the COBOL version of the product, Magid and the company decided to take these leads at their request. But rather than making a dedicated one-time effort to support these new customers, Eradani will do the more difficult work of integrating COBOL support directly into the product.

At first, working with COBOL was a challenge, as the company and its engineers had no experience with the language, which is often used to code software on the IBM System z mainframe. The procedural language behaves quite differently in IBM i than it does RPG, which it was very familiar with, so there was a huge learning curve to get up to speed quickly on COBOL.

“When we got into it, we didn’t actually know how different COBOL was from an RPG, so we learned there were a lot of things to do,” Majid says. IT Jungle. “We are now more experienced.”

For Eradani CTO Dave Romo, who has nearly a quarter century of experience with the platform, adding COBOL support provided the opportunity to expand his knowledge of IBM i development. “I’ve been writing a lot of COBOL programs,” Romo says. “I know that fairly well now.”

Eradani started COBOL in 2021, and in September the company shipped version 4.1 of Eradani Connect, which brought some COBOL support to the product. With the current version 4.2, the company has expanded its support for COBOL.

One of the new features in version 4.2 is the ability to automatically generate COBOL code from API descriptions, such as Open API and Swagger. By automatically generating YAML code, Eradani will help eliminate common errors that occur when creating these connections manually, such as misspellings, not writing something in CamelCase, or using the minus sign (which is used to separate variable names in COBOL, but which indicates to the subtraction function in other languages).

“In RPG now, you hand over this file written in YAML to describe the way the RPG’s data structure looks,” says Magid. “But for COBOL, we can generate this YAML file automatically [from COBOL data structures]. Then from this YAML file we can then create a TypeSript or a JSON object as well as conversion functions, functions that convert a COBOL record to a JSON object. “

The YAML code generator makes the COBOL version of Eradani Connect more advanced than the RPG version at the moment, although the RPG version will soon get this feature as well, Romo says. “It’s actually a bit ahead of what we can provide for RPG stores where we can now scan the COBOL copy block and generate TypeScript from that,” he says.

As a “global translation layer”, says Magid, the YAML constructor will make it easier for Iradani to include additional languages ​​in the future.

“Once we create this original description in YAML, we can create things in any other language we want. We can create in RPG, we can create in COBOL, and we can create in JavaScript,” says Magid. “If there are enough PL/1 users out there, we can create PL/1 out of it.”

Romo says some of the details of the COBOL language on IBM I’m used to. For example, working with REDEFINES in COBOL was similar but different than working with an RPG overlay, he says.

“It’s the same kind of concept,” he says. “But you don’t tell her exactly where to put things. . . . since everything is intertwined in COBOL, he knows where to put everything, and he knows where to put it.”

Most of the clients who request COBOL support are in the finance world. Magid says many of these customers have moved from the mainframe to the IBM i, bringing their COBOL applications with them. Much of IBM i’s implementation of COBOL is borrowed from the world of mainframes, says Romo, who has consulted IBM’s mainframe COBOL resources for speed in the IBM i COBOL.

Irdani also hired her business partner, Cothern Computer Systems, to help with the transition. Cothern is an expert in migrating COBOL applications to the IBM i platform, and Eradani assisted in his efforts.

Related stories

Eradani Drives Simplification with API Tool Update

COBOL is not the problem. data

Irani bridges the gap between heritage and open source


Leave a Comment