IBM Delivers BPMN 2.0

It was a longer wait than I expected, but in BPM 7.5.1, IBM is now providing real BPMN 2.0 support. I haven't had a chance to play with it yet or look at the documentation - I think GA is later this week - but I got the briefing from the team. And I have to say, I am very happy with what I saw.

In a recent post, I talked about what "BPMN 2.0 support" really means, in both non-executable and executable model contexts. It's not primarily about the notation, although a few shapes and symbols - notably non-interrupting events and event subprocesses - are new in BPMN 2.0. BPMN 2.0 support is really about the XML serialization, the ability to export the process model according to the XSD and rules of the spec, and ideally import from the XML as well. IBM BPM 7.5.1 can do both.

The new features are part of Process Designer, what was called the Teamworks Authoring Environment in the Lombardi days. Changes to the server appear to be minimal, if any. The BPMN 2.0 elements supported are almost identical to those I emphasize in my BPMN training (maybe why I am so happy about it), basically the Analytic subclass (Level 2 palette) less the "minor" events - Escalation, Conditional, and Signal. The Process Designer BPMN palette appears to include:

  • User task
  • System task (Service task)
  • Decision task (Business rule task)
  • Script task
  • None task (Abstract task)
  • Subprocess
  • Linked process (Call activity)
  • Event subprocess
  • None start event
  • Message start event
  • Ad Hoc start event (not in BPMN 2.0)
  • None end event
  • Message end event
  • Error end event
  • Terminate end event
  • Message intermediate event (throwing and catching, including boundary event)
  • Timer intermediate event (catching and boundary)
  • Error boundary event
  • Tracking event (not in BPMN 2.0)
  • Exclusive gateway
  • Inclusive gateway
  • Parallel gateway
  • Event gateway
  • Event subprocess triggers: Error, Message (interrupting or non), and Timer (interrupting or non)
  • Group and Text annotation
  • Conditional and default sequence flow
  • Conditional activity (not in BPMN 2.0)
  • Pre and post scripts (implement data association mappings)
It's a good list. No Send or Receive task, but the corresponding Message events are there. No pools or message flows. I think that is a mistake, but maybe a difference in assumption about what their presence implies. I am trying to convince them that showing message flows is useful even if they are visualization only, not executable. We'll see...

No Link event (sorry BWLive users... but it's not really an event, anyway). No Signal event, maybe the only thing left for Oracle to attack.

The Ad Hoc start event seems like it would make more sense as an event subprocess trigger than a top-level start trigger -- more useful and better aligned with the BPMN metamodel, too. But I got the sense that the BPMN 2.0 semantics are what the existing process engine supports.

The important thing, though, is not just the palette of shapes but the fact that Process Designer supports export and import of the BPMN 2.0 standard XML format. (Oracle BPM 11g has had the BPMN 2.0 shapes for a year and a half and still cannot do that.) I haven't seen the XML yet but I believe that the export includes data objects, data inputs and outputs, data association mappings (assignment), and other details of executable BPMN 2.0. At least I hope it does.

Even better, BPMN 2.0 XML can be imported as well, either into a new Process Application or a new Toolkit. The import supports automatic layout (not clear if it tries to follow BPMNDI layout in the XML, or just ignores). Importing the BPMN 2.0 XML into Process Center generates the Process Designer objects, including default task UI forms (Coaches), so the imported process is immediately available for playback. Now that is very cool.

Also, tags in the imported XML work with Process Center Smart Folders, supporting industry models in IBM Information Frameworks and Rational tools. These tags can be added to processes, services, business objects, and participant groups.

Bill Hahn promises that "soon" you will be able to play with BPM 7.5.1 on his "sandbox" site http://IBMBPMDemos.com/. If you are interested in IBM BPM, you definitely should know about this site. I can't wait to try out the BPMN 2.0 import.