Open Source Languages the Right Way with IBM i

DevelopmentOpen Source
Open Source Languages the Right Way with IBM i
Access IBM i native resources (RPG, DB2, CL, etc.) from Open Source the same way you would access any other resources.

With all the new Open Source announcements for the IBM i in 2019, many IBM i users are justifiably excited and anxious to start using this new technology. At Eradani, we have been building Open Source applications for the IBM i for several years and have learned some valuable lessons about how to use Open Source successfully. In my next few blog posts, I’ll be sharing some of our experiences.

One of the most important lessons we have learned is not to try to force Open Source developers to do things in an RPG/COBOL way nor to force IBM i developers to work in an Open Source way. Rather, it is important to take advantage of the skills each team has built over years of development by allowing them to work together in a way that is optimized for each technology. In practice, that means:

1. When accessing IBM i data from Open Source applications, take an “outside-in” approach. That means, write the Open Source code the way Open Source code is meant to be written. Don’t try to make it look like IBM i code. Access the IBM i the way you would access any other resource for Open Source. For example, if you are writing Node.js code, it’s important to recognize that Node (and all JavaScript) is meant to run asynchronously. Don’t try to force it to be procedural. This will confuse any Node developers you hire in the future and slow your Node applications down to a crawl.

2. When accessing Open Source programs from the IBM i, use an “inside-out” approach. The IBM i developers should be able to call the Open Source without having to do anything different from what they are used to doing. They should be able to simply call a program or command with parameters. A generic “listener” program will run the program or command and transform the parameters into a web service call or a JSON message that will be sent to an Open Source “receiver”. The Open Source code will run its functions and then pass back JSON to the IBM i listener which will transform the JSON back to IBM i parameters and pass them back to the original calling program as parameters. In this way, the IBM i developers can focus on what they are good at (maintaining and enhancing the native IBM i code) and the Open Source developers can focus on what they know.

No alt text provided for this image

The Eradani Connect Framework allows IBM i developers to immediately start calling Open Source programs without the overhead of learning how the Open Source languages work.

By allowing the IBM i developers to focus on what they do best and the Open Source developers to do things in the way that optimizes the technology they are using, you will be taking advantage of the power of the Open Source languages, leveraging the domain knowledge and skills of your IBM i developers and, importantly, ensuring that your code will be maintainable for the long term.

Contact us now to learn more and talk to our experts in IBM i and Open Source.

Get the latest Eradani Blog posts sent to your email.