IBM is working hard to rebrand the IBM i as a major player in open source application development. Those efforts are good for the IBM i as a platform, but for IBM i shops struggling to determine the future of their existing RPG applications, IBM's rebranding efforts are of little help. You can't count on IBM to help you persist your business-critical RPG application.*
IBM knew it had an RPG problem nearly 30 years ago
In the mid-nineties IBM launched a half-hearted campaign to introduce SmallTalk as an RPG replacement. Few, if any, RPG programmers ever wrote a line of SmallTalk.
With SmallTalk in the dust, IBM launched another half-hearted campaign-this time to promote the C programming language as an RPG replacement. Again, RPG programmers weren’t interested.
With SmallTalk and C dismissed, IBM turned to the then nearly brand-new Java language as an RPG replacement. The IBM i’s Java initiative peaked with a two-page ad in a then-popular midrange magazine that said if RPG programmers didn’t learn Java they’d soon find themselves flipping hamburgers. Most RPG programmers ignored Java (and also avoided resorting to flipping hamburgers for a living). Today, according to the 2020 IBM i Midrange Marketplace Survey, 43% of respondents say they are using Java for new IBM i development.
Next up was Enterprise Generation Language (EGL). A minor attempt was launched to woo RPG programmers to IBM’s EGL, but only to minimal take-up—and usually only by very large customers
The early 90s also saw IBM introduce VisualAge for RPG (VRPG)—not to be confused with ASNA’s Visual RPG (AVR). “VisualAge” was also the branding that IBM used with its SmallTalk and Java efforts) VRPG was initially offered as an OS/2-based RPG environment for creating fat-client graphical applications. Its OS/2 dependence dramatically inhibited the product’s acceptance. A later Windows version, ignoring the growing need for Web development and continuing its focus on fat clients only, also had very little acceptance by RPG programmers.
Which brings us to Node and PHP, the latest in IBM’s search for the holy grail. While Node is sputtering along, PHP is indeed gaining traction on the IBM i. Alas, not as an RPG replacement, but as a language to propel the IBM Power platform forward. Nothing about the Node or PHP movement helps repurpose millions of lines of RPG.
From a programming language perspective, IBM has nothing to offer to help resolve the upcoming RPG crisis decade.
Forget the problem, address the symptom
Unable to solve its RPG problem, IBM turned its attention to a symptom: the IBM i’s aging and, even by 1995 standards,out-of-date character-based user interface. If the RPG back-end couldn’t be replaced with a sleeker pony, IBM thought it should at least put a better looking saddle on the old workhorse. Cynical observers likened IBM’s UI improvement attempts to putting lipstick on a pig.
IBM first turned to the business partner alliances to resolve the IBM i’s user interface challenges. An early partnership with Seagull provided a screen-scraper. A screen-scraper captures RPG’s display data that normally targets green-screen 5250 devices and transforms it at runtime into a graphical user interface on Windows and (then) OS/2 PCs. Other screen-scraper alliances followed before IBM turned its attention to two of its own products, HATS and WebFacing.
In 2010, IBM released Open Access for RPG API (OAR). OAR is a low-level operating system programming interface that lets program data be easily imported and exported, at runtime, from an RPG program. Unlike HATS and WebFace, OAR isn’t a product, it’s an enabler-intended for third-parties to use. While OAR isn’t display data-specific, its primary purpose today drives third-party IBM i products to improve an RPG program’s character-based displays (ASNA’s Wings and Mobile RPG both use OAR). The Open Access API is a great API, it’s a shame it took IBM 15 years to get to it.
A better definition for “application modernization”
If you could buy stock in SEO keywords, had you invested in application modernization” ten years ago, you’d be living one island over from Richard Branson in the Caribbean today. The term has been bent and twisted by many vendors over the years.
In its Redbook, Modernizing IBM i Applications from the Database up to the User Interface and Everything in Between (herein referred to as “the IBM i Modernization Redbook”), IBM broadly defines application modernization as:
- Creating a user interface
- Refactoring a database
- Making major changes to code
- Making minor changes to code
- Making no changes to code
- Integrating new applications
- Any permutation or combination of the preceding items These overly broad definitions aren’t very helpful.
Let's assign a more clear definition: Application modernization encompasses the steps you take to ensure that the persistence of your business isn't hamstrung by your inability to extend or maintain your core application of record.
The result of application modernization should be applications that don’t threaten your business. As you craft your organization’s modernization strategy, keep this end-goal in mind.
IBM’s Modernization Redbook misses the mark
If there were a long-term supply of capable RPG programmers available, it could be argued that the IBM i Modernization Redbook provides good info on rewriting your RPG applications. To be fair, the book is five years old and was written before the threat of losing your RPG team to retirement was fully realized by many shops.
In a world where good RPG programmers are hard to get, IBM's Modernization Redbook misses the mark. For the few shops that will rewrite their existing RPG application in RPG, the book is a must-read, otherwise it's not much help.
Consider its chapters on database reengineering. These chapters present great information, but most of it is about rewriting core business logic. Attempting to integrate what they suggest into an existing database for an existing application does little to help persist that application. For example, moving business rules into SQL will almost certainly break existing record-level code in RPG programs.
Understanding where and how this IBM i Redbook fits into your business’s future is important. It will broaden your thinking but it will also make you realize how hard it would be to rewrite major parts of your RPG application. For the few shops that will rewrite their existing RPG application in RPG, the book is a must-read, otherwise it’s not much help.In a world where good RPG programmers are hard to get the Redbook misses the mark.
Fresh Faces and open source
Open source and the opportunities it brings, as well as the talent it attracts, are great for the IBM i platform. However, these efforts do little to help the IBM i customers persist existing RPG applications
IBM introduced it IBM i Fresh Faces campaign several years ago. Each year six or eight IT professionals are highlighted as being progressive, young IBM i programmers. One of the clever campaign’s goals is to help overcome the IBM i’s reputation as an obsolete computer used only by old people. The young folks featured in the campaign are indeed very bright and clever and bring a long-needed shine to the IBM i’s marketing campaigns. We applaud the Fresh Faces campaign and the optimism and forward-thinking it imbues.
It’s up to you
IBM is doing a great job with new technologies to persist the IBM i. Alas, it isn’t doing much to persist existing RPG applications into the future. In fact, as ironic as it seems, Microsoft is more proactive about persisting RPG applications than IBM is.
There are some lucky shops with younger RPG programming teams for whom the challenge of enhancing and maintaining RPG applications isn’t as dire as it is for many other shops. For these lucky shops, modernizing the UI and building mobile and other applications around the core RPG may be a good strategy for several years yet. For many RPG shops, though, the pending loss of their RPG programmers puts their businesses at risk and bigger steps must be taken.
Whatever your IBM i RPG application modernization strategy is, IBM has left it to you and whatever partner you can find to ensure its success. ASNA would like to be that partner for you. We are uniquely qualified to help you avoid your RPG crisis decade.