Very few of you will care about this, but for those who do, there’s an interesting blog post by an Intaglio guy about why writing workflow in BPMN and having it machine-translated into BPEL makes more sense than, for example, writing in XPDL.
If you’re into that kind of thing.
The guy from Intalio certainly has his own view, but I am not convinced many others who have really looked into the situation share his particular view. He is certainly entitled to his opinion, but consider this:
There is a lot of discussion about what BPMN diagram can be drawn and how to convert them to BPEL. Prof Van der Aalst pointed out back before 2004 a set of diagrams that can not be represented as BPEL. More recently, there was a thorough discussion of a particular pattern which is a useful process an how BPEL products either fail to represent the process, or do it in a way that does not effect the thing written. These examples abound, and there is really not any controversy about the fact: BPEL is simply not a good way to save or represent BPEL. Those that designed BPEL will agree because they never intended it to be a way to represent a BPMN diagram.
On the other hand, XPDL was designed to represent such a diagram, and it does so completely. For a couple of weeks I have been trying to find examples of BPMN diagrams that can not be represented in XPDL. I don’t know of any. I don’t know of anyone who has come up with any. And as of the time of writing this, nobody has proposed any.
Please see:
http://kswenson.wordpress.com/2009/04/20/searching-for-bpmn-xpdl-incompatibility/
CALL TO ACTION: if you, or anyone reading this, knows of a BPMN diagram that can not be stored as XPDL, please please let us know. Search the web, or whatever, but simply provide a pointer to it.
Unless someone can actually point to a BPMN diagram that can not be stored as XPDL, I am going to have to insist that XPDL is today the only standard way to serialize a BPMN diagram, and get it back again. You simply can not use BPEL in its place. ***Please prove me wrong!***