Does BPMN Belong to BPEL?
July 20th, 2006
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.
Since he knows OMG won’t go this way anytime soon, he sort of hints/threatens to just build the reference implementation himself and provide it to Eclipse. I suppose if open source BPEL 2.0 wins in the marketplace (or even makes a strong showing), this would make Assaf’s BPMN metamodel the de facto real one, while OMG keeps fiddling with BPDM.
I lack the smarts to debate this with the likes of Assaf, but I question whether the ultimate test for BPMN should be the level of portability he demands, and in particular binding it to one particular interpretation of the BPEL 2.0 specification. He seems to be worried about subtleties in the interpretation of scopes and compensation, while much bigger problems revolve around things like human tasks and subprocesses, neither of which BPEL 2.0 even supports, and those crazy freeform BPMN looping and merge patterns, which BPEL doesn’t allow, either. I’m happy to junk the latter two, but a BPMN without human tasks or subprocesses isn’t really about business processes.
Obviously, perfect portability on a free commodity platform is not going to motivate leading middleware vendors to play ball, and I don’t even think it’s the right goal. A much bigger win for both Intalio and BPMN would be a 99%-portable notation that would provide the same basic execution semantics on both BPEL engines (IBM, Oracle, Intalio) and non-BPEL engines like Lombardi, BEA AquaLogic, Cordys, ones that at least support basic BPMN concepts like intermediate events. I agree BPMN needs to be tightened up to do it, and it probably needs to be done outside of the OMG process.
In my view, an engine-independent portable design notation that allows BPMS vendors to compete on runtime functionality would stimulate the market, not kill it. And users would benefit more from that in the end.
Entry Filed under: BPM

4 Comments Add your own
1. Phil Gilbert | July 21st, 2006 at 12:39 am
Hi Bruce,
You’re exactly right about BPMN… BPMN is independent of implementation. Were BPMN a slave to BPEL - or even a sibling - then, of course, there would have been a perfect mapping of the two and, most likely, there would have been a common parentage. Neither of those were the case, nor are they now the case.
Instead, BPMN, originally from BPMI, was acquired to be a part of OMG’s MDA vision… BPMN is a CIM modeling language in which business processes are modeled independent of implementation technologies, and in which the implementation agents can be human, organizational, or software. Any software. That’s the beauty of it.
(The element of portability has been a concern, but will be resolved when the BPMN metamodel and serialization mechanism is released in September (called BPDM). It’s a shame it’s taken so long, but it’s about ready.)
From the CIM, there are PIM/PSM mappings, which include mappings to workflow engines and simulation systems. One of these would be BPEL. Could be UML. Might be XPDL. Might be anything. The test is whether the execution engine faithfully executes the model, not _how_ the engine executes the model.
I really don’t understand the people who take exception with this. Let’s say you depict a BPMN-based process in Intalio, and you depict the same process in BEA, then shouldn’t the only issues of concern be:
1) Are the models portable?; and
2) Do they each faithfully execute the BPMN representation?
What else is of interest other than portabilty and integrity?
One other thing I’d like to clarify. I would take exception with your OMG comment, though… given OMG’s leadership in the area of MDA, it _is_ the community most appropriate to steward this speciication, and related ones, through its life. OMG could be a bit faster, though, and I think all of us who volunteer to work in it realize this, now.
The world has moved past proprietary and tightly coupled linkage between the definition of models and the implementation of those models. OMG is doing the right thing with BPMN as a Computationally Independent Model. OMG has a long history with MDA and this is a piece of that architecture, and OMG is bringing those key SOA concepts into the business architecture it’s now delving into.
Cheers,
Phil
2. bruce | July 21st, 2006 at 7:51 am
Phil,
Thanks for the detailed and thoughtful comment. Many excellent points. My frustration with OMG is the palpable lack of urgency on the serialization and metamodel, as well as the lack of consensus (which goes back to BPMI) as to whether portable execution semantics is even within the scope of BPMN. If it’s not, I still think BPMS vendors should take that bull by the horns and just do it.
–Bruce
3. Derek Miers | July 22nd, 2006 at 1:16 am
First of all - for your folks who are not up on what Phil is referring to above:
Model Driven Architecture (MDA) is commonly described in terms of the separation and interrelationship of Computation-Independent Model (CIM), Platform Independent Model (PIM), and Platform Specific Model (PSM). This distinction helps with decisions that span business goals, existing heterogeneous systems, migration, duplication of processing and data, ownership, granularity of components and applications, and mixtures of logical and highly platform-oriented views.
Coming back to the central theme of Bruce’s blog - (and I suppose by implication I am commenting on Assaf’s IT-Redux posting too).
For all of its failings BPMN is the first generic notation for biz processes. IMNSHO, it suffers from the same problem that affects this whole standards space. That is that every vendor tries to turn every spec to their advantage and to the disadvantage of others. And make no mistake, that is what Intalio is up to. Their worldview is that of transactional processes, so BPEL (or BPML as it was) is the way they look at that … not much to do with the human-human business processes that we are concerned with.
When I talked with Imsael a couple of days ago on Process Innovation and Adaptability (I am working on a paper around the issues related to knowledge workers), I hit a sort of brick wall. As far as Ismael was concerned, this was the realm of “ad hoc workflow and nothing to do with BPM 2.0″.
And in a sense, Assaf is saying the same sort of thing, if the notation doesn’t directly support what his product is now doing, then it needs to be changed to bring it into line. That line being the primary need is to support BPEL.
BPMN is a business modeling notation primarily aimed at business people. It is intended as a CIM model that can be mapped to a number of PIM/PSM environments (as Phil points out). With the advent of a robust metamodel (BPDM which is just around the corner), it will more directly facilitate the mapping to BPEL2, 3 or whatever else (like UML2). Indeed, it will then be much easier for someone to map it to their own proprietary interpretation of biz process execution … it just wont matter.
The point is that it is not a Notation that was only intended as a visual representation to BPEL. The original BPEL mapping was a proof of concept if my memory serves me correct.
Second, it is worth remembering that each of these BP semantic models is subtly different, that not all elements are mappable between them. BPDM will allow greater clarity and fidelity while mapping from one environment to another.
So I suppose I am agreeing with Bruce here … that linking BPMN directly to the current structure of BPEL would be a mistake. I am sure that Intalio have prepared an elegant hack that does that … and are finding that it doesn’t quite work.
4. Assaf | July 26th, 2006 at 5:36 pm
Phil, this is exactly the problem I’m trying to solve:
Can you show me from the BPMN spec how to express “take the billing information from this order and send it to that accounting system”, or “do this extra step if the order is over $500″?
You can’t do execution (#2) without that information, which you can’t express.
MDA, last I checked, doesn’t generate anything you can execute. It generates skeleton that you then fill up with a lot of details to get something that executes. That one extra step is a huge cost in development, testing and maintenance.
I’d like the high level, business friendly, process clarity modeling of BPMN, with the ability to go straight into execution, and cut down the “fill in all the necessary details” part as much as possible. It can save customers millions in development and maintenance costs.
Leave a Comment
You must be logged in to post a comment.
Trackback this post | Subscribe to the comments via RSS Feed