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.
Vishal said:
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
Good morning Sebastian. On 4/1/2010 I asked how to generate a XPDL file for models in ARIS that could be used in another tool. Your response was that ARIS SOA Architect 7.1 has an XPDL export. Can you share the steps (or documentation) that explain how to do that? Thanks! Darlene
Keith said:
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.
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.
Bruce Silver said:
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.
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.
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.
Naveen said:
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
Kunal Shah said:
Sebastian,
Thanks for your reply on June 29th. It has taken me a while to pick up this discussion from where we left off in June 2008.
Given what we’ve discussed so far about XPDL (lack of uniformity of adoption of XPDL as a standard, and addition of vendor-specific extensions to the same) - isn’t the same true for BPMN?
It seems that several vendors are moving towards BPMN 2.0 as a vendor-neutral model exchange language. However, the vendor-specific, custom extensions to BPMN 2.0 could derail this promise as well.
By the way, putting aside inter-BPMS-vendor model exchange; I’m more interested in BPMN models created in BPA - to be interchangeable with the BPMS Process Designers.
Cheers,
Kunal R Shah
Hi Kunal,
yes, there is always the risk that vendors extend a standard like BPMN2 to lock you in to their specific platform. We will see how that works out with BPMN2. However, my own experience as someone working for a vendor is that it is already hard enough to support a standard without extending it. Often, standards have many unclear details, which makes it hard to implement. So even if you intend to implement a standard, it might happen that your implementation is not compatible.
Hi Sebastian,
A very interesting blog. I am trying to understand the process model interchange options available in various BPMS products. I would also like to know how you would convert the BPMN model to XPDL? Also read that there is EPC2BPEL convertion available which is compatible to IBM BPEL. Similarly do you have BPMN2BPEL? Request the details please.
Thanks
Seema
Bernhard Kern said:
Hi all,
I have tested a lot of XPDL-Suites for my bachelor thesis. At the moment it is (in most cases) not possible to export XPDL from one tool and import it in another, because most vendors are using the extended attributes. For example, bonita uses them for calling other applications and providing the graphical information to display the process. The extended attributes are ment well, but in reality they are the biggest disadvantage of xpdl. Vendors like Tibco try not to use them, but actually an exported xpdl/bpmn process looks different in almost every tool.
It is always said, that XPDL is the “Lingua Franca” for Process Interchange, but at the moment it is not, since the vendors solutions aren´t standard conform.
The execution of business processes is another thing. WSBPEL ist better than xpdl if you use ESB/SOA and processes with no human participants (which ist not realistic IMHO). If you use java I would prefer jbpm at the moment.
So XPDL is a good standard but I don´t see really good implementations of it. Theoretically it could be the perfect interchange format for bpmn.
Dear Bernhard,
thank you very much for sharing with us your experience. I fully agree with you. XPDL is in theory the perfect standard to exchange BPMN models between different tools at the moment, but in reality it doesn’t work very well.
Now, we at IDS Scheer are such a vendor and having all those different flavors makes it very hard to support the standard. For example, if we implement an ARIS EPC/BPMN export in a way to generate 100% pure XPDL, we are standard compliant but nobody will be able to use the output, because all other tools require extensions.
I hope that we overcome this problem in the future with the BPMN 2 exchange format, but of course nobody knows if that one will work better.
There have been some misinterpretations of my last comment just above this one. Yes, we provide XPDL export, but this is a customised addon. It is NOT offered free of charge, because we usually have to adapt it to the XPDL dialect used in your use-case (like XPDL engine used). Unfortunately, XPDL is not really a standard, because it is usually extended by vendors. Therefore, it is impossible for us to provide a generic XPDL export and directly include it in our products. To evaluate the customisation effort needed, it is important that you contact your local IDS Scheer representative.
Andrews said:
Hi,
I use ARIS Business Architect 7.0. and when I create new BPMN model I have no BPMN symbols in toolbar. When I try add symbols, there are no symbols.
Can somebody help please ?
And another question: Is it possible to export EPC as EPML in Aris BA 7.0 ?
Thank You.
Hi Andrews,
please contact our support about the BPMN issue. There are several possible reasons for the described behaviour and it is hard to figure out the problem here.
About EPML: ARIS provides an AML export and there is a tool available to convert those files into EPML. You can find this tool here:http://www.mendling.com/EPML/
Andrews said:
Thank you Sebastian,
I tried XSLT file from http://www.mendling.com/EPML/ few days ago. But when I export EPC model as AML file, file has more than 1,4MB an it is not pure XML file. XSL transformation end with error. Is it normal to get so large AML file ? I have just simple test model: event-function-event.
Thak’s a lot.
Andrews said:
Yes. It seems, that I am exporting whole database. There are lot of datas in tag. But I open model , right click on the background and select export XML file. I export with parameters “minimal export” and only in English language. When I export as image, image contains only my model and size is cca 10kB. I realy don’t know why it export whole DB in case of XML export.
ARIS SOA Architect 7.1 has a XPDL export. It can export BPMN models to XPDL. As XPDL is a process description language, you can't use it to share e.g. organisational charts between different tools.
Hi, Sebastian Stein,
The BPMN 2.0 spec beta 2 has already implemented execution models in xml code. Could I use it to generate the models and how can I apply the executable attribute in xml code to deploy my engine.
Shapiro has also created the transformation file from xpdl2bpmn2 and revert. Could I try to draw some BPMN 2 models by using special tools(like Oryx), then generate bpmn xml code and finally transform to xpdl? Does XPDL 2.2 support execution level?
Does BPMN 2.0 spec beta 2 conclude the visable notations that present in xml code and also invisable for exec attributes?
Look forward your feedback.
Thanks,
Hi,
this thread is quite old, so there was a lot of development in the past. Since some time, ARIS has extended support for XPDL. You can directly model BPMN 2 and generate XPDL out of it. No need for other tools.
A more important thing is about architecture. I don't believe that you will be able to create a business process model, which can be automated by just transforming that to XPDL or whatever format. Instead, you will probably need to refine your business process in a technical process. Then, you annotate this technical process and export it. For example, you will add exception handling and data mappings.
In general, ARIS is meant for business process modelling. In case of our integration with webMethods BPMS or Oracle SOA, ARIS is used to capture and manage the business process level of the processes. Technical implementation is not done in ARIS, but in JDeveloper or webMethods Designer.
I have tried to create BPMN model with ARIS express 2.2. I wanna check the xml code behind them (may be XPDL), but I cannot find any options to export xpdl or xml document.
I wanna check whether i can add some code for executing (for instance: run a batch of code, open a web page, ...). Afterthat i will import this xml document again and see how can it works in ARIS.
I'm finding out a tool to help for modeling the execution BPMN 2.0. Is this BPMN xml or XPDL really helpful to this testing?
Hi,
ARIS Express is not meant for modelling executable processes. Therefore, there is no option to generate the BPMN 2 XML or XPDL.
If you just want to automate a process, I would use a tool provided by an execution environment. For example, I would start with webMethods Designer directly to create a process to be executed on webMethods BPMS. That's a much more natural way to get started and you can later still extend your approach putting BPM above.
Dr. Sebastian,
I am very happy to see this post and the comments. I would request you to please keep this thread alive with you latest findings on the development of interactions between EPCs, BPMN, BPEL and XPDL. Please also tell us where i can get detailed information on how to convert (in ARIS) EPC to BPMN 2.0 to BPEL and execute it and vice-versa (BPEL to EPC).
I understand this is the biggest challenge today for BPM product companies. Please throw some light on how ARIS/SoftwareAG is tackling the challenge.
Thanks,
Shyam Dixit
Hi Shyam,
my colleagues are currently starting a series of articles describing how process automation will work in case of ARIS -> CentraSite -> webMethods. You might want to follow it by subscribing to the first article. We will update it as soon as the next article becomes available.
Hallo Sebastian,
I am currently using ARIS Business Architect. I am looking for an option to export our BPM models to XPDL format. The goal is to import them to HPQC 11.5 and use the models to generate test cases. After reading through a lot of threads I am still not really sure if I can have XPDL export from the Business Architect. If yes, how exactly? Is there any documentation that I can follow?
Thanks in advance for your help.
Regards,
Abhishek