Last week CNN printed an article highlighting the struggles of several state governments to handle the tsunami of unemployment claims in the wake of the coronavirus outbreak. The culprit? The decades-old COBOL applications running on their mainframe systems. Phil Murphy, the Governor of New Jersey even put out a call for ‘volunteer’ COBOL programmers, lamenting “…how did we get here where we literally needed COBOL programmers?”
How many of us in the IBM i world are like these mainframe users – running systems that are based on old applications that fewer and fewer people understand? We are victims of our own success. Our RPG applications are so reliable and easy to maintain, that our companies invest little in maintaining them.
In his book, AntiFragile – Things that Gain from Disorder, Nassim Nicholas Taleb says, “Anything that has more upside than downside from random events or certain shocks is antifragile; the reverse is fragile.” He makes the point that, “Crucially, antifragility is the property of all those natural and complex systems that have survived. Depriving these systems of volatility, randomness, and stressors will harm them.” In other words, our long term success depends on building systems that thrive on change – not systems that depend on things staying static.
So how do we make our applications AntiFragile? One of the first steps is to recognize that we don’t need to do everything in RPG. I do not mean to denigrate RPG. RPG is a great business application language and the IBM RPG lab engineers have done a superhuman job keeping it up to date with new trends. Nor do I advocate for expensive, high-risk RPG rip and replace strategies.
However, there is no way RPG can keep up with the rate of technological change introduced by the millions of software engineers working in Open Source. There are thousands of free Open Source pre-built components we can use to allow our systems to take advantage of the latest technology. We just need to learn to connect them up to our core RPG applications. The secret is to use the right languages and the right components for the goal we are trying to achieve.
Here are some easy steps you can take to quickly get started with reducing the fragility of your IBM i applications and take advantage of all that Open Source energy and technology:
1. Learn about the great Open Source capabilities the IBM lab has added to IBM i. Check out any of Jesse Gorzinski’s (Senior Business Architect – Open Source Software on IBM i) online webinars (Eradani had a webinar featuring Jesse – Ask for the replay).
2. Explore Open Source languages and technology options.
- Get Started with FREE PHP on IBM i
- 5 Reasons to Try Python for Your IBM i
- Get the Most Out of Your IBM i Applications with Native Node, Python & PHP
- Getting Started with Open Source on IBM i – Session 1
- Getting Started with Open Source on IBM i – Session 2
http://linkedin.com/pulse/open-source-languages-right-way-ibm-i-daniel-magid/(opens in a new tab)3. Learn about the powerful connection options IBM has created for linking Open Source applications to RPG and other native IBM i resources. (This will also be covered in the Eradani Open Source webinar mentioned above).
4. One of the keys to attracting new software engineering talent is to start using the Open Source ecosystem of tools like Git, Jenkins, Visual Studio Code, VIM, etc. (More info here)
Adding Open Source to your applications does not have to be hard. IBM has done so many things over the last couple years to make it easier for IBM i users to get started. Don’t wait until it is an emergency, start exploring today!