BPM on SOA: What Would It Look Like? - Part 1

BPMS vendors love to throw a bone to SOA, and if you weren't paying attention you might even think that BPM on SOA was real. I've written at length about how BPM and SOA aren't enemies but natural allies, but they are allies with distinctly different goals and aspirations and mental models of the world. Kind of like America and France.

Following his post on the subject, I've been having a side conversation with Jesper Joergensen of BEA about what real BPM on SOA would look like. I admit I'm still trying to figure it out. Here's where I am so far.

Can Your BPMS Give Advice?

Even though the meat-and-potatoes of BPM 2.0 -- business-oriented, top-down model-driven process implementation (without code), based on some form of SOA -- hasn't yet been finished, BPMS vendors want to skip ahead to dessert, with system-generated recommendations on how to optimize the process design. Lombardi was the first out with this, but now both BEA and Savvion are planning to offer a similar concept in their next major releases.

On a Reference Model for BPM 2.0

Ismael posts an interesting reader request on IT|Redux addressed, it seems, to both of us:

Ismael, Bruce:

Do you think maybe it?s time for experts such as yourselves to get together and establish a standard model for BPM 2.0 in simple, concise and hopefuly universally applicable terms that can be ported throughout various functions and industries?

My work is in the supply chain arena, where about 10-15 years ago there was a similar debate regarding what constitutes a supply chain, which business function was responsible for what portion of the chain, what were some characteristics unique to the supply chain, but standard enough that could be used across all industries, etc? you get my point.

What's Wrong With This Picture?

I'm seeing more and more BPMN on the web and elsewhere. OK, the spec is still a bit loosey-goosey, I admit, but a lot of these examples are just plain wrong, both in terms of the notation and the semantics behind it.

Consider the following diagram of a sample travel reservation process downloaded from a well-known tool provider:

Image 1: travelibp1.gif (click to enlarge)

Here is the right half of the diagram:

Image 2: travelibp2.gif (click to enlarge)

How many errors can you find? By my count, about 12.

BPEL Bashing Redux: Seeking a Middle Ground

Human-centric BPMers' lack of love for BPEL is today taken for granted, but who knew there were BPEL-haters out there in the SOA world as well? After taking a look at the BPEL 2.0 spec, Dave Linthicum tries to reignite the bashing, based mostly on the facts that 1) processes still aren't portable and 2) BPEL 2.0 is not backward-compatible with BPEL 1.1. Active Endpoints' Fred Holahan counters with a spirited defense of BPEL. He says yes, BPEL is not 100% runtime-portable, but it is "knowledge-portable" -- I guess sort of a process modeling language for programmers?

While I don't think of myself as a BPEL-lover, I actually come down more on Fred's side here than Daves's. And I've moved to a more nuanced view that might provide a middle ground.

BPMN and Business Rules

In his comment on my post What's Wrong With This Picture?, FairIsaac's James Taylor asks many of the right questions about BPMN and Business Rules. I thought it deserved its own thread. He asks,

- how do I differentiate between decisions that are simple ?Customer is New/Not New? and complex ?Customer?s credit is good/bad?? One of these is about routing rules, one is about decision rules

- are there any subsets of the activity box to allow me to show decision services as activities more explicitly? Has this been discussed ever particularly in terms of allow looser synchronization of rules and process? Actually, BPMN barely deals with rules at all, and where it does, it does it in kind of a strange way.

Can Business Analysts Model Exception Handling?

[Preview of next week's BPMS Watch column on BPMInstitute.org]

It?s conventional wisdom in business that 80% of the problems are caused by 20% of the work ? the ?exceptions.? In BPM, therefore, you?d think that exception handling would be a critical focus of process modeling and analysis. In most cases you?d be wrong.

Certainly the designers of the Business Process Modeling Notation (BPMN) standard at BPMI (now part of OMG) had exception handling in mind from the start. BPMN introduces to process modeling the notion of intermediate events. It?s a godawful name but an absolutely essential concept for making exception handling visible in the process diagram and understandable to business people. In fact, events are the key difference between BPMN and traditional flowcharting.

Home Stretch for BPEL 2.0

BPEL 2.0, the long-awaited love-child of the OASIS WS-BPEL TC, is at last in its final public comment phase. See John Evdemon's blog for all the links. Sure, conventional wisdom says two years is a long time to change Switch to If-then, but if Assaf's comments are correct, fixing BPEL 1.1's primitive data manipulation syntax may prove to be a far more significant change. Once the thing is finally approved we can anticipate a ripple effect on BPMSes, and a round of new questions.