« Part 2: How BPM really works: From “BPR” to “BPM as a Discipline”
Review: SAPPHIRE 2008 - Where SAP is heading to… »


BPMN and XPDL

Posted by Sebastian Stein on May 21, 2008

BPMN Logoby Sebastian Stein
ARIS Development

My previous post about the future of BPMN created quite some noise in the community. It seems there are many people out there having some great ideas how to move forward BPMN. One clear issue to be tackled in BPMN 2.0 is the missing exchange format. Some readers suggest using XPDL for this purpose. Let’s take a look at it and see if this is a good idea.

At the current point, BPMN has several problems. One major problem are the unclear execution semantics. SAP’s David Frankel provides some more details on the current situation and his post is an interesting read for those seeking more details.

Besides this problem of undefined execution semantics, another major problem is the missing file format to exchange BPMN models between different tools. People like Keith Swenson wonder, why XPDL is not used for this purpose? First, I can assure Keith that we at IDS are pretty aware of XPDL. ARIS supports XPDL since several years, so no need for a rant. Second, I’m torn about this idea. One half of me says it is a great idea and we should do it, because XPDL is already available today and can be used immediately. However, there are also some disadvantages, which must be taken into account as well.

Before we start talking about the disadvantages of using XPDL, I first want to define clearly what we want to achieve. We are looking for a file format to exchange BPMN models. Such a file format must be able to exchange the content of the models (like which activities are connected to which events) and the diagram information (like at which position is an activity located in the diagram). For me this sounds straight-forward.

Therefore, the first problem with XPDL is that the current specification is 216 pages long. Of course not all pages deal with the file format, but relying on such a long specification to exchange a model seems to be overkill for me. This also leads to the second major problem. Why should we create a dependency between 2 standards (BPMN and XPDL)? Such a dependency creates the need for synchronisation between the involved parties. This seems to be no good idea, because BPMN is maintained by OMG and XPDL is maintained by WfMC, both being two organisations with completely different backgrounds. I don’t believe that a close cooperation between both organisations will really work out. There are also some other issues. For example, OMG requires that each of its standards is integrated in their overall meta model (i.e. MOF). Therefore, BPMN will have to be integrated there as well. However, this integration already brings a serialisation format (i.e. XMI) for free, so need for an extra format.

So at the current point I’m not convinced that using XPDL is really a solution. It seems to be a quick fix only. As public standards are often used for many years, I don’t think we should go for a quick fix, but instead come up with a really good solution.

als Lesezeichen hinzufügen

11 Comments »

Dear Fellow blogger
I have recently posted follow up comments about the BPMN 2.0 meta model approach and clarifying execution semantics here : http://vishals.blogspot.com/2008/05/more-about-bpmn-20.html
Cheers
Vishal

May 21st, 2008 | 10:16 pm

Sebastian,

You are right, Aris has been a supporter of XPDL. Our customers today use XPDL to move their BPMN diagrams from Aris into Fujitsu’s Interstage BPM. So we know it works, and we know that you are not biased against it.

I will be the first to say that XPDL is not perfect in every way — it simply is the best we have today. I disagree about the size of the spec. For interoperability from multiple vendors to work, we need a very complete spec, and that will be long. 218 pages is actually on the short side. The OMG’s SBVR spec is 434 pages long and that is just business vocabulary/rules. WHile it may seem straight forward, in reality business process is not a trivial subject. Any attempt to make a complete specification for exchange will likely be this long. (If you can show me that the spec contains things that are redundant and not needed, that would be a different issue…:-)

The fact that XPDL and BPMN are separate specs is a good thing, because otherwise one spec would be even bigger. It not unusual at all for one standard to be dependent upon another — look at all the standards dependent upon SOAP, which is itself dependent upon XML and internet protocols.

The one realistic concern you bring us is that XPDL and BPMN are promoted by different organizations with different priorities. WfMC is dedicated 100% to “process”, while OMG has many factions, and a strong orientation towards “software development”.

Some will decide to wait for a format from OMG, others will use what works today. But we can learn some lessons from the past: in 1992 X.400 was the superior email format designed by the experts, while SMTP was the existing format that was already working, and see which one we have today.

May 23rd, 2008 | 10:55 pm

Hi Keith,

thank you for your feedback. We really appreciate that industrial thought leaders like you are sharing their ideas with us!

You are right that at the current point XPDL seems to be the best standard we have to exchange BPMN. That’s why I also wrote in my post we should think about using it now. On the other hand, I see so many obscure things in BPMN like I/O rule sets, which are just important for BPMN, but which don’t make sense outside of it. If we want to share such details between different modelling tools using XPDL, we will have to make sure that XPDL is able to cover them all. But how do we ensure that XPDL is able to do so? How do we synchronise the work between OMG and WfMC for that to happen? I think, and you are also agreeing here, this is really a big challenge. I’m personally not sure if it can be handled successfully. But as you said with your example about X.400 vs. SMTP, time will show which way was best to go.

May 24th, 2008 | 9:12 am

You haven’t mentioned the strongest argument for XPDL, which is the effort led by Robert Shapiro, still in early stage, to go beyond just a schema in order to support model portability. What do you need besides a schema? Three things, in my view:

1. an unambiguous and unique way to serialize any diagram pattern. Do you think this exists today, or is in BPMN 2.0?

2. a list of elements and attributes that must be supported, within a given portability class. The XPDL 2.1 effort supports 3 classes.

3. a validation that a serialized model is conformant to a portability class, with a list of elements and attributes outside the class (which are not guaranteed to be portable). Robert’s effort does this in XSLT.

The weakness of XPDL as BPMN schema is that it is a borrowed metamodel, i.e. BPMN fits in it but so does just about anything else, and extensive use of legacy non-BPMN terminology. Of course, BPDM does not use BPMN terminology either.

May 27th, 2008 | 7:50 pm

[...] debate about whether XPDL actually is the best exchange format for BPMN continues, and there are competing visions for BPDM, but for the business user pragmatism rules, and [...]

May 30th, 2008 | 12:14 am
Samsonren:

Does ARIS support BPMN and exchange with other EA TOOLS,such as telelogic sa?

June 2nd, 2008 | 6:28 am

Hi Samsonren,

yes, ARIS supports BPMN modelling. You can model in compliance to BPMN version 1.0. We also provide exchange with other tools, but that is always depending on the other tool, because there is no official way to exchange BPMN diagrams between tools.

June 2nd, 2008 | 9:14 am
Kunal Shah:

Given the differences in the vendor products - in how they use XPDL (apply their extensions to the spec); is it a reality to expect “XPDL” to be the BPMN model exchange format across products?

June 28th, 2008 | 3:38 pm

Hi Kunal,

you spotted the main weakness of XPDL. Even though it is a standard, it is usually polluted with many vendor specific extensions. Of course it will be possible to transform BPMN to vendor neutral XPDL, but than you still need a lot of work to make it run on a specific platform.

June 29th, 2008 | 12:08 pm
Naveen:

Hi all,

I am new to this forum.
I would like to know that,
where we exactly use this XPDL instead of BPMN. since, BPMN gives the required information, why do we require XPDL.

Please, don’t get angry on me. I am new to this.

Thanks in advance.

regards,
naveen

August 8th, 2008 | 11:02 am

Hi Naveen,

you use BPMN to model your processes. Today, some people suggest using XPDL to exchange the process models between different tools. The question is if XPDL should be used for that or not.

August 11th, 2008 | 8:36 am
Leave a Reply

Comment