Modern Tools For A Modern IBM i
May 26, 2021 Alex Woodie
IBM i shops may be in for a rude awakening when they suddenly realize their applications are not keeping up with the times. How can these IBM i shops get on the right track in the modernization department? A trio of IBMers offered some tips.
Brad Bentley, Tim Rowe, and Kris Whitney took to the virtual airwaves last week to present “IBM Tools for Modernizing Your IBM i Applications,” a one-hour webinar from IBM. Application modernization is an extremely broad topic, as the 266-page IBM Redbook of the (almost) same name will attest to, so they obviously didn’t cover every angle of the topic in great depth.
Needless to say, the threesome offered a good overview of the broad challenges and provided some excellent technological guidance on how IBM i shops can begin to extricate themselves from the legacy abyss and pull themselves up into modern times. The good news is that it’s never been easier to get “modern” than it is today.
A Modern World Around i
For Kris Whitney, who now has the title of “chief engineer for IBM i development” in the Rochester, Minnesota, lab, the modernization business has been on a slow burn for a while now, but suddenly for some reason is now heating up.
“It seems like we’ve been in this modernization pattern for a long time,” Whitney said during Wednesday’s webinar. “But in the last year or two it seems like this is a very hot topic and the urgency to get there and actually take action has really increased.”
With buzzwords like modularization, service-oriented architectures, and IoT bandied about, it can feel quite daunting to a developer to even begin to approach the modernization question with today’s tech. But a key fact to keep in mind is that much of the existing application can be retained, and developers do not have to start from scratch, Whitney said.
“How do you get from something maybe that was written 30 years ago to something modern today? It doesn’t mean you have to throw everything out that you did in that journey because there’s still a lot of value left in what has been there and what has worked for a very long time,” Whitney said. “We have to maintain that. You don’t want to throw that away, because starting over could be very expensive.”
The idea is to make the IBM i platform appear as more of a “normal” system to others. That means adopting industry methodologies and tools, including exposing business logic as microservices accessible via API; consuming external APIs with your system; and adopting DevOps, CI/CD (continuous integration/continuous delivery), and agile development methodologies.
IBM technologies will also play a part, ranging from Ansible for automating operations to OpenShift for running containerized applications. And a word of caution: Be prepared for your modernized application to have some container-based components, Whitney said.
“We’re not going to say the only way to do modernization on IBM i is you have to put all the frontends onto containers,” he said. “There are many great ways to create rich interfaces on IBM i directly. But the industry has moved into this concept of ‘I want to use containers because I can take advantage of a lot of new technology.'”
A Modern World Inside i
While Whitney’s presentation focused on how the rich world of external tools can help IBM i professionals in their modernization journey, Tim Rowe, the IBM i business architect for application development and systems management, focused on how the IBM i already has a plethora of modern capabilities built in.
“When we think about IBM i, we have been on a journey as a system for a very long time,” Rowe said. “If you think about when the AS/400 was created, that was back in 1988. Back in those days the AS/400 was a very normal development machine. It was monolithic programs – well that was normal back then. We had RPG and COBOL we had the business applications. That’s what we expected people to do.”
IBM kept the machine on the cutting edge by adding things like support for SQL, support for ILE programming environments, Java, and even support for XML. This kept IBM i applications, and even the venerable Report Programming Generator (RPG), out of the coroner’s office.
“Now, I’ve had people tell me RPG is dead,” Rowe said. “I’ve seen it reported by people in the media that RPG was dead. That was reported back in 1992. Needless to say, that’s not the case.”
With the move to free-format RPG, the language has suddenly taken on new life. You probably can’t hire a junior programmer directly out of college with knowledge of RPG, Rowe said, but with free-format RPG, they should be able to understand 80 percent to 90 percent of what’s going on in the code, just by looking at it. Once again, IBM i is just another “normal machine,” accessible by regular, non-superhero-grade IT folks.
Lately, IBM has been shoring up the manageability of the system with IBM i Services, which are SQL replacements for commands and Control Language scripts. This is part of the “normalization” of IBM i. So is the capability to read and write JSON, and the adoption of the REST API engine that’s built into the operating system, Rowe said.
“I can have a service program, I can create a REST API, and have it up and running in minutes,” Rowe said. “It’s incredibly quick. It’s incredibly simple. It’s also very powerful. We have thousands of customers who are using this.”
Your Never-Ending Transformation Journey
A lot of the old assumptions around application modernization are breaking down, thanks in part to technological innovation, according to Brad Bentley, a senior management consultant with IBM Lab Services. This is a good thing, but that innovation comes with a surprise twist.
“IBM i is an amazing platform,” said Bentley, who was a staff engineer at Lab Services before taking his current role. “We’ve had this business logic that runs perfectly for so long and has managed to make money for you. And now we need to figure out how we can take this and expose this backend data, and backend logic and do it in a way that’s not painful.”
But historically, application modernization was a painful process. That’s because, in order to modernize your application, you had to rewrite quite a bit of it, he said. But thanks to new technology, that painful (and expensive) rewrite is no longer mandatory.
“We’ve entered a wonderful world now where everything interoperates, not just between platforms but between languages, and this concept of abstraction, where you really don’t even know what’s on the other end of what you’re talking to,” Bentley said.
For example, with REST Web services, a company won’t know whether it’s talking to an IBM i server or an application server running in the cloud. Bentley called it a type of “magic,” adding: “This is a good time to take advantage.”
The catch, however, is that once you start, you’ll never be done. “You will never finish your transformation journey,” Bentley warned. “There’s never a line in the sand that says, ‘I’ve modernized my app and now I’m done.’ It’s a continual journey.”
Because it will be such a long journey, you will need trusted friends. The good news is that the IBM i ecosystem is full of folks who are happy to help you along your way.