I hate to learn BPM stuff by reading it in the newspaper, but that’s what happened today when my copy of SD Times arrived in the mailbox.  A Page 1 headline blared Could BPMN 2.0 Make BPEL a Moot Point?  Humm, BPMN 2.0… draft reviewed by OMG last June with adoption expected in September.  Wow, I spent 2 full days in May at OMG Think Tank and never heard the words “BPMN 2.0″ once!  In fact, what was presented suggested that just providing BPMN a schema and metamodel, submerged under OMG’s broader BPDM effort, would be bogged down by “choreography” issues for many months at least.  Well, whatever. 

I was quoted in the article as saying that shoring up the BPMN standard would make it the de facto notation for executable process design, and even BPEL design tools would migrate to it.  And I still believe that, but with a big IF…  Which is that providing precise execution semantics is still a goal of BPMN.  That’s always been my assumption.  And not just me.  In fact, everyone who has been pushing the notion of BPMN as the real portability standard far longer than I have - Phil Gilbert, for one – has to be assuming that BPMN is at heart a design language, not just a drawing tool.  In fact, Stephen White, author/editor of BPMN 1.0, says in a presentation from December 2005:

However, BPMN is not “just a notation.” The semantics are defined in the text of the specification. A non-public draft of BPMN 1.1 metamodel exists … [but] moving forward, how are BPMN semantics aligned with other OMG process work? 

That alignment was “supposed” to be what BPMN 2.0 would be about.  But as I noted a couple days back, Frank McCabe of Fujitsu and the BPMN TC in OMG leaked that while the BPMN group thought they were defining precise process semantics, others at OMG (I inferred maybe the BPDM guys?) thought the goal was just a drawing notation for business modeling.  And at that impasse, things, sez Frank, “seem to be a bit stuck right now.”

OK, BPMN 2.0 may or may not exist, may or may not be out in September, and may or may not have anything to do with a notation for portable process design.  But it should.  The interests of the BPMS vendors (and users) may not be the same as modeling vendors.  So if OMG can’t do the right thing, I think the BPMS guys should go off and just do it themselves.  Otherwise the mantra or dream of “BPEL doesn’t matter” can’t come to pass. 

Here’s why.

In my view a key goal of all this has to be portability of the BPMN design.  Model/design in tool A and run on engine B.  I’ve written a lot about how BPEL isn’t portable, because human workflow, subprocess coordination, even data manipulation are vendor-specific.  But it’s still 100 times more portable than non-BPEL execution languages; you don’t have to start over from scratch when you switch BPMS vendors. 

The things that get in the way of unambiguously mapping BPMN to BPEL today are the freeform GOTOs and crazy merge patterns that BPMN allows.  Again, see McCabe on this.  Some of those pathological use cases, I say throw them out, don’t allow them in BPMN 2.0.  If they’re hard for a computer scientist to understand, why do you think business analysts can use them unambiguously?  They’re not even that important to BPMN anyway. 

The important and interesting part of BPMN is stuff like activity groups with intermediate events, transaction compensation, and pools representing collaborating processes (or independent subprocesses) synchronized through messages.  That’s the part that let’s you do cool things like respond to events.  And BPEL has no problem with those, because BPMN was developed with BPEL in mind! (Well, BPML actually, but practically the same thing.)  Most workflow vendors dissed BPEL because their existing process engines couldn’t do those things… they’d have to break their product to implement it.  They don’t diss BPMN, but they just ignore the cool parts.  Again, they’d have to break the product to implement them.  Kudos to Phil, who actually did break his own product to be able to implement the BPMN cool stuff.

So here’s the problem.  A BPMN where products are allowed to omit diagram semantics they don’t like can never be a portable design language.  That’s obvious.  So you need all that MUST-SUPPORT and MAY-SUPPORT kind of thing, where all the important portability considerations are in the MUST-SUPPORT column.  The basic tradeoff is ditch the GOTO and merge semantics that make algorithmic mapping to BPEL and other block languages impossible, and make the cool stuff – events, message flows, compensation and exception handlers - required for BPMN 2.0 compliance.  Nail it down with a formal metamodel and schema. (In fact, if you did the first part, XPDL 2.0 would probably work just fine — the metamodel/schema is already done.  Without the first part, XPDL 2.0 doesn’t give you portability.)

Then you can add on a methodology behind the diagram, and teach business analysts how to map processes to it… including the cool stuff. 

I have a feeling this is not the BPM 2.0 that SD Times is promising for September.  But if BPMS vendors want a standard that provides portability without commoditizing the runtime, this is the way to go, OMG or not.

Tags:

3 Responses to “Thoughts on BPMN 2.0”

  1. [...] Assaf Arkin guest-posts an impassioned love-hate note to BPMN on IT|Redux.  I admit I only understood about half of it, and I think you’d need to have stayed awake through many a BPEL TC conference call to get most of the references.  His first core assumption – that BPMN’s deeper purpose is to provide process design portability, not just a drawing - is one I agree with (e.g. here and here and also here)… but it’s hard for me to accept his second one, which is that a BPMN independent of BPEL makes portability impossible, and we should just accept that BPMN’s purpose is to be the notation for BPEL.  [...]

  2. [...] As far as where BPMN going, I was a bit underwhelmed.  Rumors of an imminent BPMN 2.0 last summer were nowhere close to the truth.  In spring of 2007 we should see BPMN 1.1, which makes minor tweaks to the current spec, cleaning up the semantics of details such as Link events and Exclusive Merge gateways.  BPDM and a schema for BPMN?  Don’t hold your breath.  When asked about this at his session, Stephen weakly offered WfMC’s XPDL 2.0.  That’s not OMG’s official position, obviously.  But to me, OMG’s lack of urgency on this issue is unconscionable.  What about some kind of compliance guidelines, such as a list of MUST-SUPPORT objects and attributes?  Today any tool that has rounded rectangles and swimlanes claims to be BPMN.  Stephen was vague on this, but it sounded like a possibility.  However, OMG will not be enforcing or certifying compliance.  [...]

  3. [...] [*2] The BPMN 2.0 RFP has recently been published, and it seems BPMN is to be extended to include some of the other process organization types (like choreography [*4]) currently defined via BPDM. Controversially, BPMN 2.0 is proposed to be renamed to Business Process Model and Notation, and meant to include a persistence mechanism (good news, except there is already a well-adopted persistence mechanism in XPDL, and bad news if this (a) bloats BPMN, (b) causes the BPMN standard to be forked, and (c) dilutes the concept of BPDM by tying it to just processes that BPMN covers). This is causing lots of discussion, naturally, which hopefully will translate to more assistance/guidance being given to the OMG team(s) working on these specs/proposals. [...]

Leave a Reply

You must be logged in to post a comment.