You are currently on IBM Systems Media’s archival website. Click here to view our new website.


Three Predictions for RPG and BPM

Prediction 2:

BPM will emerge not just as a platform, but also as a strategic tool in itself for legacy software re-engineering projects

When re-engineering legacy software systems, it’s crucial to decide if should you rewrite the whole thing, buy a new package, or rewrite parts of your code and buy a package for other parts. Given that most legacy RPG applications were developed in large part decades ago, a good rethinking will likely lead to different conclusions about which functionality should be custom-developed and which should be purchased.

In his book “Dealing with Darwin: How Great Companies Innovate at Every Phase of Their Evolution,” renowned management guru Geoffrey Moore divides business processes and their supporting IT applications into two categories: differentiators and commodities. It’s in the differentiator category (i.e., what makes the business unique and strong) that custom-developed software is strategically advantageous and cost-justifiable. Business processes that aren’t differentiators are almost always serviceable from less expensive, commercially available software packages, perhaps in the cloud.

Businesses that re-engineer their legacy applications should align with this principle and plan to combine purchased applications with custom developed BPM applications. And this is where BPM really delivers:

  • BPM provides a superior application development platform for the core differentiating business processes, enabling rapid development and continuous improvement
  • BPM provides superior application integration services to interface purchased software products with each other and the custom software

Indeed, one of the core strengths of BPM has always been its capability to integrate systems; this is fundamental to its DNA. (You can read a good early history of BPM in leading BPM blogger Sandy Kemsley’s, A Short History of BPM.)

Another aspect where BPM’s integration capabilities can play a strategic role in re-engineering application is in breaking up large projects into many phases. These phases often require unique, interim integrations. I described this in “An RPG Manifesto for BPM.”

Prediction 3:

Tools will come into the market for migrating RPG applications to BPM

IBM i tool vendors will respond to opportunities to facilitate BPM re-engineering projects. Products that are within sight include:

Automated isolation, refactoring and packaging of RPG business rules. A tool that provides this functionality could have been useful for many years, but has not made it to the market so far as I’m aware. Some pieces of this have been around for a while, but not the whole thing. Rational Developer for Power has some capabilities to wrap RPG, but the problem, of course, is that most of the business rules in RPG are not in a wrappable state. There’s also at least one commercial product that extracts business rules in RPG. An ideal tool would find all the rules, refactor them to an optimally wrappable state, wrap them individually and deliver them to a library of callable business rule services that BPM could use out of the bag.

A further evolution of this would be to convert RPG-based rules to table-based rules or a business rule language. This is the ultimate destination for a BPM application, as the rules eventually should be fully understandable and changeable by the users, with RPG-based rules being only an interim step. A product such as this is more speculative.

Process discovery in legacy systems. Few, if any, IBM i organizations can fully articulate an answer to what business processes are currently implemented in the legacy system. Understanding the current processes—including the happy-day paths and the exceptions, along with the volumes, timings, triggers and actors—is very useful information when sitting down to create process models in BPM. If you can also include which business rules belong in which processes, you’ve got an excellent head start toward re-engineering. In “Reinvent Your Business With Process Mining,” I described some of the possibilities. This is another aspect of BPM projects I think is ripe for a vendor-supported tool.

Phased Database Redesign. Most of us who work with legacy systems know that ugly old RPG code has an ugly old twin, and that’s the database schema. Redesigning the database schema is surely part of any re-engineering project. But a big challenge stands in the way, and that is the need to deploy new software in many phases over a long period of time. How can the old or new application work with both the old or new database keeping everything in sync? This is a big challenge and so far as I’m aware, there’s no product, or even comprehensive strategy, on the market to solve this problem. But I do think such a tool is conceivable and will become available.

Steve Kilner is the creator of several software products and methodologies for the IBM i world. He writes a regular blog ( Steve can be reached at

Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

It’s Technical, Dear Watson

The “Jeopardy!” playing computer’s feeds and speeds

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters