Packt Publishing sent me a copy of “Process Driven SOA Using BPMN and BPEL” by Juric and Pant, and on the plane to OMG’s BPM Think Tank I had a chance to review it. In addition to the usual boilerplate about BPM and SOA, the book promises to show how to do roundtrip engineering between BPMN and BPEL. This would be a useful thing to explain. BPMN-BPEL mapping is a bit of a square peg in a round hole, but tricks and workarounds do exist, and showing how to modify arbitrary BPMN to be roundtrippable with BPEL is an interesting topic. Unfortunately, the book does not say anything about it. The BPMN-BPEL part is basically a walkthrough of Oracle BPA Suite (IDS Scheer ARIS), which restricts the allowed BPMN to models that map easily to BPEL. There is no explanation what BPMN semantics are left out or how to work around them.

A BPA Suite tutorial masquerading as a book perhaps also explains why, in late 2008, all of the diagrams are based on BPMN 1.0. Not only was BPMN 1.1 finalized back in 2007, with significant changes to the event notation and semantics, but BPMN 2.0 is right around the corner. I guess ARIS is still on the old notation. The timing is bad on another front as well, since BPA Suite is no longer Oracle’s strategic direction for BPM, or even BPMN-to-BPEL. Oh well…

Despite such unfortunate timing, I would be more sympathetic to the authors if they did a decent job of explaining BPMN. But this part is a disaster. Many if not most of the BPMN diagrams in the book are just plain invalid… Sequence flows going the wrong way, drawn across pool boundaries, or omitted entirely. Since a “real” BPMN tool would immediately flag those diagrams as illegal, this is not a very good advertisement for ARIS/Oracle BPA Suite either.

Even diagrams that are syntactically correct are semantic nonsense. Here are a few examples:

This one, used repeatedly throughout, is supposed to illustrate message flow choreography. Apparently the customer here receives the item even if credit check fails and the item is not shipped.

This one is supposed to explain attached message event. The call center rep receives the call, indentifies the problem, and if it’s an “exception” forwards for resolution to the sales department. No that’s not what attached message means.

And this one manages to mangle both event gateway and compensation. Totally incorrect.

 

Obviously, I cannot recommend this book.