I finished yesterday afternoon by attending a technology roundable on BPEL led by John Evdemon. There was a lot of ground covered there that I had heard in his workshop on Day 1 and the panel earlier yesterday that I won’t repeat here, so just a few brief notes.
There are some things that can be described in BPEL that can’t be modelled in BPMN, which I didn’t realize. The example that Evdemon gave was an online order for a book, then a follow-on process kicked off the next day when the customer cancels the order. Although both of the processes can be modelled in BPMN, I think that his point is that the interaction between the processes can’t be modelled there. There are apparently a few use cases like this that are being considered for inclusion in BPMN (if I understood correctly), but I didn’t hear anything about this in the earlier BPMN roundtable. Stephen White’s mappings of BPMN (available on the old BPMI.org site, so I imagine all still available on OMG‘s site) has many peole thinking that BPMN models a superset of BPEL, which is not strictly true.
Like the BPMN roundtable and some hallway discussions, there were a lot of comments about the linkage between process standards and enterprise architecture.
The issues that we discussed, and the notes that I made from the discussion:
- BPEL doesn’t provide all the functionality that can be modelled in BPMN.
- If BPEL isn’t used as an execution language, but just as an import/export language as is done by Microsoft, IBM and others, what value does it add over XPDL (or eventually, BPDM)?
- Are we eventually going to end up with just BPMN, BPDM (or XPDL, if you believe Bruce), and a vendor-specific execution language in the process chain?
I have some additional research to do, some of which will start in this afternoon’s roundtables on XPDL and BPDM, about whether BPEL does add value over these standards by providing more specific web services information such as endpoints or ports. You can definitely use BPEL as an import/export and exchange format, or to store the representation of a process for future rehydration, but it appears that you could also use XPDL or eventually BPDM to do the same thing and provide a richer interpretation of models created using BPMN.
At the end of the day, when we all reconvened as a group, Evdemon gave a summary of what we discussed:
- What is the value of BPEL if XPDL is a direct serialization of BPMN? BPEL had a lot of press because of who’s backing it, not necessarily because of its capabilities. (A direct quote from him during the roundtable itself on this subject: “Unless you’re going cross-platform, you may not need BPEL.”)
- Use BPEL to store current processes to be rehydrated later if needed for audit or other legal and compliance requirements. BPEL is also being used by other standards such as RosettaNet to provide process-related templates for those standards.
- Process formats may just become different serialization formats with different capabilities, accessible from many tools just like all the document formats that are available if you select File…Save As within Word.