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


IBM BPM Chief Architect Phil Coulthard on BPM and IBM i

Q. If you compare the development and architecture of a typical RPG application to a BPM application, what are the important differences?
A. The key difference is that traditional applications must be fully coded by the developer to achieve the desired functionality. Of course in RPG, historically this meant a large monolithic program that does it all—though with ILE and RPG IV we’re hopefully building more re-usable service programs these days. Still, the focus is on the code.

In BPM, you rely on the system to do much of the lifting. You visually model and define your process flow, and deploy it to the system that will run it for you. That means putting tasks in the in-basket of the participants, invoking services, and passivating to disk while the system waits for a human or an asynchronous service call. Further, the BPM system is tracking progress of your processes, and at any time the process owner can see what process is behind or who has too many tasks. The process owner can take action as required, such as re-assigning tasks to others and reprioritizing work. So because the system takes all this work for you, the focus during development is on the process itself versus how to code it; or if you will, the focus is on the problem domain versus on the code to address the problem domain.

You’re not thinking about how to code your app; you’re thinking about how to model the process to achieve the desired business outcome. That means you’re talking to the line of business to understand the details of the process. What roles are involved? What’s the happy path? What exceptions can happen? What metrics are desired? In fact, you’re constantly doing “playbacks” with the business so they can experience the process to ensure it’s been properly modeled. For example, during playback they’ll see how the flow goes from Sam who collects loan information from the customer, to Sally who makes a decision on whether to grant the loan based on the collected data, to Bob who makes a final decision for certain types of customer or loan. And they’ll see that if Sally doesn’t have all the information she needs, the process needs to handle going back to Sam who can re-engage the customer. It’s a magical moment seeing IT and business sitting together and running the process.

The key difference is that RPG programs are a series of executing lines of code, while BPM applications are processes executed by the system and which, in turn, are executing an orchestrated series of user tasks and service calls. You don’t develop code per se; you develop processes. This is a fundamental shift and cannot be overstated. It doesn’t just change your architecture; it changes everything. Now IT and business are focused together. There’s nothing quite so exciting as a room that is half full of IT folk, asking detailed business questions to the other half of the room. In the first such meeting, typically they’re introduced to one another for the first time. I’ve never seen anything good come from business folk looking at my RPG code.

Q. Reliability has always been a key virtue of the IBM i. How does the BPM platform compare?
A. IBM has been at this a long time, and we sit on top of the WebSphere rock-solid base underneath us, which gives us among other things high availability via clustering. Among our spectrum of customers, we have large and demanding customers that make darned sure we have a solid enterprise scale product, else they rightly take us to task to fix it. This is not at all unlike IBM i customers.

Q. Does IBM BPM run on the IBM i?
A. I think a compelling vision for many IBM i shops would be to retain the IBM i database platform and move to BPM for their applications. IBM BPM itself doesn’t run on the IBM i operating system, but you can run it on an AIX LPAR. In addition, it runs on Intel Windows and Linux as well as on z/OS and z/Linux. The Advanced Edition comes with an adapter for invoking RPG and COBOL on i, which is built on the toolbox for Java. Or, easily enough, you can just call RPG code via stored procedures.

Retaining the IBM i database and platform while moving to BPM for some applications allows for an efficient way to complement and evolve the IBM i investment. It’s a very reachable step on an enterprise modernization path.

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



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