There are many myths and misunderstandings surrounding the market sector which is know as Business Process Management. One of the major misunderstandings normally comes to light during discussions regarding standards. Whenever I speak to anyone on the subject, it soon becomes clear that the standards bodies have simply failed to get the message across.
In 2003, there were more than ten recognized groups defining standards for BPM-related activities. Seven of these bodies were working on modelling definitions, so it’s no wonder that the whole picture got very confused. Fortunately, there has been a lot of “drop off” and consolidation to a point where there are, currently, only three key standards of which we should really take notice:
But just having three to focus on still manages to cause some concern and confusion.
Many believe that these standards are in some way competing with each other, but the fact of the matter is very different. It is with this in mind that we need to clarify the picture and set the record straight.
BPMN is the easiest one to clarify since it is very easy to visualise where it sits in the “standards” stack. The Business Process Modeling Notation (BPMN) is a standardized graphical notation for drawing business processes in a workflow. BPMN’s primary goal is to provide a standard notation that is readily understandable by all business stakeholders. Stakeholders in this definition include business analysts, technical developers and business managers. Consequently BPMN is intended to serve as common language to bridge the communication gap that frequently occurs between business process design and subsequent implementation.
The real question comes when talking about BPEL and XPDL. There is a general misconception that these two standards are in some competing with one another but the reality is entirely different – BPEL and XPDL are complimentary standards and easily coexist. So what do they do?
BPEL is an "execution language" the goal of which is to provide a definition of web service orchestration, the underlying sequence of interactions and the flow of data from point to point. Ultimately, BPEL is all about bits and bytes being moved from place to place and manipulated. It does not, however, attempt to represent the drawing that was used to specify the orchestration or process.
Developed by the WfMC, XPDL’s primary goal is to store and exchange the process diagrams, or specifically to allow one tool to model a process diagram, and another to read the diagram and edit, another to "run" the process model on an XPDL-compliant BPM engine, and so on. The XPDL file can provide this design interchange because it offers a one-for-one representation of the original BPMN process diagram. It can be written and re-read to recover the original diagram. BPEL, by contrast, is a non-trivia mapping, which is widely recognized as being one-directional: You can take a BPMN diagram and produce BPEL, but it is difficult or impossible to recover the original BPMN diagram from the BPEL. This is not surprising since BPEL was not designed for process design interchange.