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)
This is the formal announce: http://www-01.ibm.com/common/ssi/rep_ca/1/897/ENUS214-141/ENUS214-141.PDF
Bruce,
CMMN was not created because “BPMN supposedly could not possibly handle the demands of case management”. The fact is that there are multiple ways you can model processes, and procedural directed graphs are just one of many. CMMN was developed to enhance BPMN with a declarative alternative to define some processes that follow certain patterns that BPMN 2.0 does not support.
Note that CMMN is not an alternative to BPMN, it is a complement (or extension) to BPMN, and they are expected to be used together. The expectation is that BPMN tools will be enhanced to support CMMN. That is the intent of the specification. In fact that is exactly what IBM BPM is doing. If you see the concepts implemented, they are clearly derived from the CMMN specification. If you see the icons, they too are derived from CMMN, although granted that the modeling notation was not followed. But if you noticed carefully, there is a new case modeler that is declarative (in addition to the original BPMN modeler).
With respect to your comment on “the execution semantics of BPMN already handle about 90% of it; the problem is the notation.” You are exactly right, and that was the reason for CMMN. It is the realization that your declarative 10% is very important in some situations; and it is different than the other procedural 90%. So, “IBM has essentially filled in that last 10% on the notation side, maybe bending a rule or two slightly on the semantic side”. Yes, it has done that using CMMN. As I said before, you can trace the new IBM BPM features and icons to the CMMN specification.
On your wish of “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, we have and the result was CMMN. Hopefully, the BPMN community start including CMMN to provide for declarative modeling, as it was intended. Or at least, implement the concepts as IBM has done. Either case, CMMN is serving its purpose, and it has not even release yet.
Mike, I take at face value what you and some other members of the CMMN committee were trying to do. However, I still believe that BPMN could have – and should have – been extended to capture these new behaviors. It would not have taken much, and would leverage the wide adoption and tool support that BPMN enjoys. I honestly doubt that CMMN will be able to match that, and I also doubt that the marketplace will treat it as complementary to BPMN, used together with it. All this nonsense about declarative vs procedural reminds me of the “pi-calculus” blathering from the BPML days. BPMN 2.0 has event subprocesses already. An escalation event subprocess is effectively an ad hoc activity already. A multiple-parallel event subprocess combining escalation (or message or other) and conditional events is effectively CMNN’s event-condition-action paradigm already. In other words, the behavior is mostly in BPMN 2.0 already. Why is that any less declarative than CMMN? The issue is notation. IBM’s notation is modestly better than multiple-parallel event subprocess (although that’s effectively what it is), and CMMN’s is modestly better still… but NONE of these do a very good job of revealing the process logic from the printed diagram. Admittedly that is harder in case management than with procedural logic, but if you think the main advance of CMMN is the notation, then I think it still falls short in that respect.
–Bruce
hi, could you clarify what you mean by saying “called process”, please?
@ilya, “Called process” — IBM calls it “linked process” — is a reusable subprocess. Technically in BPMN it is a process invoked by a call activity.
I learned something over at Impact. There was no support for process to case flow crossing.
With the support for linked processes in case flows there’s a chance to jump from a case flow to a process flow, but not the other way around. At a lab session during Impact, my colleague accidently drag-and-droped case flows from the explorer side on to a process flow canvas. But, doing it by selecting implementation in a BPD just give you other BPDs (process flows) to choose from.
Bruce, are there any logical reasons for not supporting jumps in both directions?
Jonas,
This is really an IBM question not a CMMN question. John Reynolds, feel free to weigh in here! It could be that BPM assumes a case is manually started rather than called or triggered by a message. In CMMN I believe a case can be called but I don’t think triggered by a message.
–Bruce
Bruce,
great article! i have a few comments after this post.
Jonas,
I asked this also during the BPMV855 Beta advocacy program. I know that IBM is currently evaluating solution patterns for direct linkage from a BPM process to a Case. IBM is evaluating valid solution patterns…In the short term, a Case (which is implemented as BPD subset under the covers) can be programmatically started and the reference saved, to establish a linkage relationship between BPD processes and Cases. To create a new Case instance… you need to do so programmatically : thru standard ECM APIs , BPMN web service REST APIS, integration services access to full content repository operations.
Bruce,
You pose an important question as to why IBM calls the new BPMV8.5.5 capability “basic” case management? Full FileNet versus the embedded FileNet lite is one consideration. Imo this “basic” designation may also be a placeholder for : the “nice to haves” anyone using BPMV855 to create a new Case solution will sooner or later ask for, Case features offered by IBM’s Case foundation (flagship?) ACM product (ie templates, phases, other activity classifications) and ACM capabilities which Case methodology experts list as significant/must haves (ie. dynamically created new activities, new sub-teams, etc). Just my informed guess 🙂
[…] and Conditional triggers, can implement many if not most features of a responsive process, as IBM’s BPM 8.5.5 amply demonstrates. To be more precise, it should be able to implement a responsive process in which all activities, […]
It’s a great article. and good business processing management system.
This article is really good and very useful for the people