IBM Is Little Help With IBM i Application Modernization

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 25 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 Markplace Survey, 43% of respondents say they are using Java for new IBM i development.
  • Next up, Enterprise Generation Language (EGL). A minor attempt was launched to woo RPG programmers to IBM's EGL, but only to minimal take-up.
  • The early 90s also saw IBM introduce VisualAge for RPG (VRPG). ("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.
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.

ASNA was an early adopter of IBM's Open Access. ASNA's Wings and Mobile RPG both use IBM i's Open Access API as their key enabler

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.

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

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.

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

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.

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.

© 2021 ASNA. All rights reserved. v1.355