Frustrated that it couldn't solve its RPG problem, IBM turned its attention to a symptom
While Java can certainly claim some success for new development, it was never adopted as a mainstream replacement for RPG. In five attempts, IBM simply couldn't find a rational RPG replacement that RPG programmers could, or would, embrace.
Frustrated that it couldn't 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.
Nearly anything you buy today to help extend the life of your IBM i RPG application will be a third-party solution
With customer interest in screen-scrapers waning and with the advent of OAR, IBM has essentially left the challenge of resolving IBM i user interface issues to third-party vendors. Nearly any solution you buy today to extend the life of your IBM i RPG application will be a third-party solution.
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:
That overly broad definition isn'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.
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.
PASE has proved to be a primary enabler in the IBM i's role as an open source platform.
Ten years or so after its introduction, IBM added the Portable Application Solution Environment (PASE) to its midrange platform. It took a while for PASE to get traction, but today PASE is nearly single-handedly responsible for enabling the IBM i to successfully support open source languages such as PHP, Python, and even Node.js. PASE has proved to be a primary enabler in the IBM i's role as an open source platform.
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 its 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.
The Fresh Faces campaign is about persisting the IBM i platform, not customers' old, monolithic RPG applications
To be clear, though, the Fresh Faces campaign is about persisting the IBM i platform, not customers' old, monolithic RPG applications. Had IBM truly been inspired to champion young IBM i programmers, it would have been far more aggressive, and started 25 years earlier, to improve RPG (which only got full free-format syntax five years ago), get IBM i-related curriculums (and IBM i boxes themselves) in universities, and open the IBM i with programming interfaces like Open Access.
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.
© 2021 ASNA. All rights reserved. v1.355