Sudden Impact: IBM Merges Case into BPM (but forgets to announce it)

In the most significant enhancement to its BPMS since the Lombardi acquisition, IBM revealed at Impact this week that case management functionality will be a native feature of BPM 8.5.5, the June 2014 release. I hesitate to say IBM "announced" it, because it was barely mentioned at Impact. In fact, far more attention was paid to IBM Case Manager, aka Filenet P8, even though nothing new was announced for that product, which has had integration with BPM since the version 7 BPEL offering! This is clearly an area where the internal politics has proved a higher mountain to climb than the technical obstacles, and it seems the effects of that still linger.

But I don't want to dwell on that, because I really like the way IBM has implemented the feature. It reinforces - I would actually say it proves - the notion that there is no essential difference between BPM and case management. Processes come in all flavors, from straight-through to structured workflow to completely ad hoc activities, and in fact real business processes probably include bits of all of these. You should not need separate middleware platforms to handle each bit. That is so obvious, only the vendors don't see it!

In BPM 8.5.5, case activities don't require a separate process engine. They are instantiated and monitored using the good old BPMN-based BPM runtime. There is a new Case Designer tool, oriented nominally to "knowledge workers" - although, honestly, the biggest difference to me from the regular Process Designer is that it runs in a browser instead of Eclipse.


Figure 1. BPM Case Designer (Source: IBM)

Case activities "float" in the case definition. You can put them in the Process Designer BPMN as well, where they have no sequence flows in or out. They can be defined as required or optional in the case, the latter indicated by a dashed border. They can be instantiated at runtime either manually by a user or by a few defined preconditions - adding a document to the case, change in a variable or case property, or a data expression becomes true. The "implementation" of a case activity can be a normal User task, subprocess, or called process. It took me a minute to understand the difference between a case activity and its User task implementation; basically, the user who launches the case activity can assign the task to someone else, and that makes sense.


Figure 2. Case activities in Process Designer (Source: IBM)

Case management does require a new process portal, one that provides shared access to the whole case folder, instead of just a task list. As you see below, it provides the case data, documents, tasks assigned to that user, and, on the right, case activities that can be launched by the user (as well as those completed or in progress). It appears to be completely integrated with the rest of the BPM end user experience, not a separate thing off to the side.


Figure 3. Case Details in Process Portal (Source: IBM)

In other words, BPM 8.5.5 seamlessly blends structured and unstructured processes, and all combinations thereof, in a single product. For years you could blend them by integrating separate platforms, but honestly, who on earth wants to do that? Even Filenet customers don't want to do that. BPM has its own native content store, and can integrate with external ECM (including Filenet) via CMIS. For some reason, IBM insists on calling the new capability "basic" case management, as if you still need Filenet to do "real" case management. It's simply baffling to me. You still need Filenet to do advanced content management, but the process part, I think not. If IBM puts any marketing behind the new case functionality - and it's not clear at this point whether it will or not - I predict it will be overwhelmingly adopted by IBM BPM users.

I also think it's a game-changer for the case management world in general. Have you heard of CMMN - case management modeling notation - a new draft standard for case modeling in OMG? It was started because BPMN supposedly could not possibly handle the demands of case management. I would say - and have said it already - that the execution semantics of BPMN already handle about 90% of it; the problem is the notation. IBM has essentially filled in that last 10% on the notation side, maybe bending a rule or two slightly on the semantic side. I hope that Oracle, SAP, and others will get together with IBM to push through a BPMN 2.1 (it's not even enough change for a 3.0, in my opinion) that incorporates case activities.

Well, what about "adaptive"?, you ask. Isn't case management supposed to be adaptive? Actually, very little ACM is really adaptive today, other than letting the knowledge worker decide what to do next. But what's more interesting is the Whitestein-style adaptive, meaning goal-directed. Independently triggered activities is a prerequisite for that, but you also need the goal-seeking logic. At Impact, IBM introduced a new product on the ODM side that could do it, although it's not aimed at this use case today. Called Decision Server Insights, it combines events, rules, and predictive analytics to trigger business actions. As you can see from the marketing diagram below, the initial approach emphasizes extreme scale - millions of events, thousands of rules, etc. I fear this is pointing it in the same needle-in-a-haystack direction that has kept CEP a small niche for so long. But why not use that technology to provide the goal-seeking adaptation needed for next-generation BPM/ACM? Now that would be truly game-changing!


Figure 4. Decision Server Insights (Source: IBM)