XPDL (XMLPDL (Extensible Markup Language Process Definition Language))

April 13, 2012

What is XPDL?

XPDL is a standardized format that allows graphical and semantic data to be interchanged among different workflow products. In its early years, XPDL was known as an execution language where it competed with the Business Process Execution Language (BPEL), but in modern times its better known as the industry standard interchange language that competes with the Business Process Definition Metamodel (BPDM).

To better understand how XPDL simplifies data translation between products we should take a moment to understand the framework that it’s build on, the Extensible Markup Language (XML). XML is known as a markup language that allows you to define tags for data that will be stored, manipulated, or presented. One of the benefits of using a markup language is that you can reference data by the tags and not by the contents or location of the data. This means that one person can display some information in a manner that they choose (<year> <title> <publisher>), and that someone else can reference or interpret the same data in a different way (<publisher> <title> <year>). Since we are able to define a common interpretation for the data, we can each customize and supplement the data to our own needs. This makes XML ideal for translating data between multiple products as long as a common reference is defined. But the best part about XPDL is that it isn’t so rigid that you can’t customize it to suit your own needs. "The Workflow Management Coalition acknowledges the fact that workflow languages use different styles and paradigms. To accommodate this, XPDL allows for vendor specific extensions of the language" [1].

So what makes XPDL better than competing standards?

In the execution language realm, what sets XPDL apart from many of its competitors is the way that graphical data (X, Y coordinates) are preserved so that diagrams actually look the same in multiple products [3] Thus making XPDL better suited for the translation and representation of BPMN diagrams. In the realm of interchange languages, XPDL has existed for over 14 years and it has done well in supporting multiple vendors with custom versions while maintaining a core that’s standardized to allow for simple translation between products.

What are some flaws with XPDL?

"Owing to fundamental differences in graph-oriented graphical and block-oriented execution standards, the quality of transformation of the interchange standards is limited by different syntax and structures. For instance, a cyclical and temporal implication in a graphical standard cannot be easily transformed into an execution standard. The translation of recursive capabilities from an execution standard to a graphical standard is an even more challenging task. Currently in the industry, translation from graphical to execution is easier than that from execution to graphical standards. This applies to XPDL and even BPDM." [2]. To put it simply, the biggest flaw in XPDL is that the translation isn’t always perfect and that some of the more complex structures just don’t convert well. The difficulty in understanding a statement like this is that structures like loops and recursion are not new to the computing world and that computers have no difficulty interpreting them so drawing them should not be an issue.

Summary

XPDL’s purpose is to promote data portability and interoperability by translating business process definitions between multiple programs. In doing so, it preserves the graphic and syntactical elements so that process definitions look and behave the same in other applications. It was first created 14 years ago and it was last released in 2008.

Is XPDL still relevant? If you look for information on XPDL through a search engine, you may discover that it’s difficult to find results that are current or reference a product that If you’ve heard of. But if you visit the Workflow Management Group’s website and look at the section related to implementations of XPDL, you might notice that it’s implemented in many products and workflow architectures. Many of the products that implement XPDL were authored years ago and under older versions of the standard, but some of them do support the newer version 2.1. It may be a few years old, but XPDL still appears to be relevant and until there’s a successor it will remain to be the most common interchange language standard.

Advertisements

2 Responses to “XPDL (XMLPDL (Extensible Markup Language Process Definition Language))”

  1. Sean Maher said

    I have no idea why my references didn’t post with this:
    References
    1. Aalst, W. M. (n.d.). Patterns and XPDL: A Critical Evaluation of the XML Process Definition Language. Retrieved from http://www.workflowpatterns.com/documentation/documents/ce-xpdl.pdf
    2. Ryan K. L. Ko, S. S. (2009). Business Process Management (BPM) Standards: A Survey. Business Process Management Journal, Volume 15 Issue 5, 744-791.
    3. The Workflow Management Coalition. (2008). XPDL 2.1 Complete Specification. Retrieved from http://www.wfmc.org/index.php?option=com_docman&task=doc_download&Itemid=72&gid=132

  2. Sean Maher said

    References
    1. Aalst, W. M. (n.d.). Patterns and XPDL: A Critical Evaluation of the XML Process Definition Language. Retrieved from http://www.workflowpatterns.com/documentation/documents/ce-xpdl.pdf

    2. Ryan K. L. Ko, S. S. (2009). Business Process Management (BPM) Standards: A Survey. Business Process Management Journal, Volume 15 Issue 5, 744-791.

    3. The Workflow Management Coalition. (2008). XPDL 2.1 Complete Specification. Retrieved from http://www.wfmc.org/index.php?option=com_docman&task=doc_download&Itemid=72&gid=132

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: