RPG and BPM Side by Side

Author’s note: Many thanks to David Knapp of Apex Process Consultants for developing the BPM example. Apex is a premier IBM BPM business partner that’s been working with IBM to develop BPM as a migration path for IBM i applications.

In this third article on business process management (BPM), let’s take a high-level look at the BPM equivalent of a simple RPG program. For the purposes of this exercise, we’ve made the applications very similar and designed the BPM application to work very much the same as the RPG application; however, in actual practice, you’d typically take very different design approaches. The example application is a simple master file maintenance program. Technically this is not much of a BPM process in itself, but it’s a good comparison and starting place for RPG developers.

Figure 1 shows two RPG screens on the left and the equivalent BPM screens on the right. As you might imagine, the RPG program adds, changes and deletes records in a simple master file and does some validations along the way. I won’t show the RPG and DDS code as I’m sure most readers are already familiar with what it would look like. In our example, we already have a student master table defined in the database. On the BPM side, we have also modeled a simple corresponding student master business object.

Define the Process and Its Activities

Figure 2 shows the design of a student setup process that consists of a maintenance program and an activity to order a welcome packet. Typical business processes can be much more elaborate than this for such things as order processing, loan underwriting, etc.

This diagram consists of two activities and is mostly self-explanatory, but I’ll point out two things:

  1. In the upper left corner of each “activity” is an icon; in the Maintain Student Data activity the icon is a person meaning this is a “human” service; in the Order Welcome Packet activity the icon is a set of gears meaning this is a “system” service
  2. On the far left are labels of two swim lanes—these are the actors in this process, Admissions Specialist and System

An important point about this BPM model we’re building is that’s it’s executable! This isn’t a piece of documentation; this model is what’s executed by the process engine.

RPG comparison: While some processes could be represented by a single CL program, typical processes span multiple users and system tasks over an extended period of time. There’s really no equivalent facility in traditional coding for process modeling and management—certainly not something a user could look at and comprehend.

Let’s drill down now into the Maintain Student Data activity as shown in Figure 3.

Define Each Activity’s Implementation

You can see on the fourth line that we’re working on Maintain Student Data. This diagram controls the internal flow of that activity, and the components include:

  • Yellow boxes representing screens known in BPM as “coaches” in that they coach the user through the activity
  • Small rectangular buttons representing user actions such as clicking on a button; you can see the button names (e.g., Update, Save, etc.)
  • Light blue boxes representing “integration services” that perform system logic
  • Diamonds representing decision control points, known in BPM as “gateways”

In actual practice, you’d probably consolidate some of these components, but for purposes of clarity in this article, we’ve itemized them explicitly.

RPG Comparison: The nearest RPG equivalent would be the internal infrastructure of a program (i.e., the disparate lines of code that control the flow of screens, database processing and other logic). Again, it’s not something typically visible and comprehensible to a user and it’s also not something you can quickly reconfigure by dragging and dropping.

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

comments powered by Disqus



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