By Roger Pence
“You see, this profession is filled to the brim with unrealistic (bleep). (Bleep) who thought their (bleep) would age like wine.” Ving Rhames as Marsellus Wallace in Pulp Fiction
The first ten years or so of the AS/400’s life will surely be recorded as the golden years of in-house application development. Around the world, office managers, keypunch operators, and assembly line workers stepped into the realm of application programming and created tons of business applications. No one knew then that one day we’d call these apps “legacy apps.” Most of this ragtag bunch were not computer scientists, in fact few had any formal programming training. But through Shelly Cashman textbooks, IBM Guided Learning centers, COMMON sessions, an innate sense of business needs, and hard work, they forged themselves into programmers. And in doing so they created the primary enabler for how thousands of IBM midrange computers worldwide would deliver unique business value for decades.
Fast forwardFast forward to today. Your legacy RPG apps have been modified and fine-tuned for years. They have paid for themselves many times over. Alas, old RPG applications don’t improve with age. Businesses today can’t live without these apps. And they can’t live with them. It is a vexing challenge. Although these old apps continue to deliver core business value, they do so within narrow constraints imposed decades ago. These apps were designed to be used with a character-based green-screen in a narrow, constricted environment. Monoliths with a myriad of global variables and indicators, and every goofy RPG trick ever published, they are highly resistant to modification and improvement without introducing cascading bugs elsewhere. These apps haven’t fundamentally changed since the 80s. Yet, today business needs change very rapidly and ignoring the need for mobile applications, vertical application integration or swapping out batch processes for real-time updates puts that business’s competitive edge at substantial risk. Your need to keep up with an ever-changing competitive landscape outpaces your abilities to enhance and improve the legacy RPG applications. There was a time when IBM could be held partly responsible. It dragged its feet on keeping the IBM i fresh during the first six or eight years of the new millennium. But IBM has since woken up and done a good job improving the IBM i so that up-to-date tools, techniques, and development process can be used to create modern applications. But being able to create them and creating them are two different things.
Modernization at the topHelp System’s excellent 2015 IBM i marketplace survey confirms that IBM i decision makers know their existing RPG apps are behind the 8-ball. It shows “Modernizing applications” (with a 58.7% vote) as the top concern for the next five to ten years. The challenge is defining “modernization.” Most IBM i shops realize that a legacy IBM i application can’t be replaced by rewriting it or by purchasing a canned package. These options are too time-consuming and expensive. And, the latter option often requires too many compromises. Both also ignore the fact that your legacy RPG application still does many things very well. Outlining a full RPG modernization strategy is beyond the scope of this article, but the abridged version for many IBM i shops presents itself in two phases:
- Revamp. Add function and cosmetics to the existing user interface. Many tools today add grace (a browser-based look and feel) and power (eg, integrating business partner Web services) without requiring invasive changes to the underlying RPG.
- Surround. With the revamp phase putting your legacy RPG in a browser, in the surround phase you build around it with new Web-based components/apps (using your pick of .NET, PHP, Java, and server-side ILE RPG). The legacy application remains open for extension but closed for modification. New features are introduced in these new apps that surround the legacy app.