
Over the years I have seen and used many different methods of diagramming business processes. Looking back at all my old diagrams, even something as standard as a hand-off swimlane diagram has taken on many different forms.
For this reason, I decided to dive deeper into BPMN (Business Process Markup Notation) and see if this standard can work for both the customer and the technical team. I was also curious about mapping processes for Service Oriented Architecture workflow implementations, and found that some of the BPMN based diagramming tools that write Execution Language in the background, are pretty cool. So I decided to evaluate a few of the open-source options out there and here’s what I came up with.
The first hurdle I had to get though was all the confusion that has been created between BPMN, BPEL and XPDL. First off, BPMN is a good effort regardless if one is implementing SOA or just diagramming their processes. The industry has long needed a standard for how business processes are diagrammed to help reduce the countless different methods out there. BPMN is a well thought out collection of symbols and rules for diagramming workflow.
XPDL and BPEL are a bit grayer. XPDL (eXtensible Process Diagramming Language) is a good idea because it creates a common XML schema for saving business process diagrams. As long as it is solely thought of as a business process diagram format, then everything is crystal clear (to me a least). It’s when a lengthy list of workflow engines start calling themselves “XPDL” compatible that it really gets confusing to me.
BPEL (Business Process Execution Language) is supposed to be the orchestration language that a workflow engine reads to execute the workflow, not XPDL. Yet some of the workflow engines are using XPDL as the executable orchestration language. Maybe its being parsed into BPEL, but I certainly don’t know and don’t care.
I’m just trying to determine if I should use a workflow editor that creates BPEL, like Intalio, or one that creates XPDL, like JaWE. It seems to me that XPDL is my best choice because I can read XPDL back into a diagramming tool much easier. My real confusion is that if I’m using an XPDL editor and an XPDL “compatible” workflow engine, then what do I care about BPEL? Jon Pyke, chairman of the Workflow Management Coalition (WfMC) says in one of his articles that BPEL and XPDL are not competing technologies, rather they are complimentary but if my XPDL can be used in a “XPDL compatible” workflow engine then it seems to me that they are competing.
Okay, enough venting, I’m sure that someone with more knowledge on the topic than I can set me straight.
On with my evaluation
The first editor and workflow engine combination that I looked at was the Intalio suite. The editor is a plugin for the Eclipse development environment and is pretty good. It’s open-source although there is the shrink-wrapped version that can be purchased from Intalio. I really liked the fact that the diagramming symbols and rules followed the BPMN specifications to the T. I also liked that it was a no-brainer to have it up and running. The one thing that seems a bit out of the standard though, goes back to my earlier rant about XPDL vs. BPEL. The Intalio diagramming editor saves the diagrams as BPEL, which is fine if all I want to do is execute the workflow on a BPEL engine but it seems to me that XPDL should be the standard for saving diagrams.
The next combination that I installed and played with was the Together Workflow Editor, based on the open-source JaWE editor. Unlike Intalio, this editor saves the diagrams as XPDL according to the WfMC. To my disappointment, however, the diagramming symbols were not complete, according to BPMN standards. The attributes can all be stored in the task and transition symbols, but the pool/Swimlane paradigm is missing and I couldn’t find any gateway symbols anywhere. The Shark® workflow engine was also disappointing in that the supposedly open-source version (not the demo) had a very annoying splash screen, which means the source code would need to be modified and recompiled. So much for a quick (no-brainer) installation like Intalio.
Another JaWE based editor that I looked at, was jPed, which wasn’t much different than the TWE version, except that I did find a gateway symbol.
JBoss and the jBPM editor were the next on the list. This editor was every bit as good as the Intalio editor. It contains all the BPMN specification symbols and rules. The non-standard part of the mix is that the jBPM editor saves the diagrams as jPDL, which is similar to XPDL but more Java centric. This makes sense because the project’s scope was to create a tool that supplements a Java project so it was never intended to follow the WfMC standards. Still, not a bad editor and JBoss is pretty easy to get up and running. Of course actually implementing a solution with any of these examples would be a major project and I don’t mean to make it sound like its not.
I tried to install Bonita, which is a Java based, open-source, editor that runs on the JOnAS application server. Looking through the documentation, this looks like an excellent project, however, I tried three times, on two different machines, to download and install JOnAS and the file was corrupt every time. I guess I’ll have to compile the source but I haven’t had the opportunity yet.
Some of the other projects I looked into were BPeX, XPDL Visual Editor, BxModeller and Nezha. BPeX and XPDL Visual Editor are apparently in the early stages and don’t have a release yet. BxModeller, I must admit, I haven’t had a chance to install it yet. It looks like a worthy project though and I’m looking forward to reviewing it.
Nezha is another Eclipse plugin and it may just be my unfamiliarity with Eclipse but I couldn’t get the plugin to load. I haven’t given up though, so hang in there.
Bye,
Dave
April 8, 2008 at 1:52 am |
[...] nice post about “BPEL and XPDL [...]
May 6, 2008 at 4:43 am |
Hi David,
I am a PHP programmer just starting out with a workflow concept. I am new to all these concepts thought I have had a reading on sites like wikipedia etc.
I wanted to ask you one thing that how to get started developing applications quicky.
I m looking at Intalio.
-
Manuj
May 7, 2008 at 6:07 am |
Manuj,
Intalio is a good product and has a good company behind it for support. They are having a user conference in San Francisco this June, I would recommend attending that as a great place to start out. Here’s a link to more info on that: https://www.regonline.com/builder/site/Default.aspx?eventid=614576
I’m not sure yet if I’m going to make it down there, but looking at the agenda, it sounds really good.
db
May 29, 2008 at 12:40 pm |
David
Be good to see you at the Intalio conference, perhaps even my session on Restful orchestration(?)
Jason
June 13, 2008 at 2:04 am |
Hi David,
I am a Pega Developer and now trying to explore the work of Work flows across different Work flow supportive tools and their reusibility in any environment.For that I want to know regarding the XPDL compatibility of Work flow engines of different tools and how we can make the work flow at XPDL level so that they can be accessed across different work flow engines?
June 13, 2008 at 11:52 am |
Pinaki,
This is a good discussion topic. I’ll leave this up here for someone else to comment on because I don’t have a lot of experience mixing workflow engines. I think that most of the vendor specific workflow solutions, even if they call their engines XPDL compatible, are going to throw in enough customizations that it would give you fits trying to write cross-platform XPDL that will run flawlessly on them.
db
June 16, 2008 at 11:51 pm |
Hi David,
Thanks for the explanation.We want to facilitate those business excellence that are working with more than one BPM tools.Some tool may have
already one excellent solution and they can try to deploy the same framework in a second tool with less effort on modifying the Process Control Flow rather to work only on the piece of Data Metrics or Data related instances.In order to add this dimension in Work flow model,we have to search some smart technique to deal all creation and deployment with tool independent XPDL formatted files.May I have any concept so far experimented on this from any one please?
Pinaki
September 19, 2008 at 5:31 am |
Hi David,
Could you tell me among the open source BPM tools available now which one is good and fully functional
Midhun
October 10, 2008 at 4:39 pm |
Hi Midhun,
I haven’t had a chance to evaluate the latest candidates but I think it really depends on your infrastructure and programming preferences and, of course, the scope and makeup of any SOA projects you are involved with. I personally really like Intalio but if I were a determined Java shop I would probably go with jBoss and the jBPM editor.
Dave
November 28, 2008 at 9:33 am |
[...] http://davidkbarker.wordpress.com/2007/11/15/9/ [...]
May 20, 2009 at 6:58 am |
Great paper and I liked you 35000 ft view of BPMN
I’m just getting started with learning about BPM — coming from a more IT side than a business side, I’m finding this fascinating. Am sometimes getting a bit sidetracked by arguments on BPEL vs BPM vs XPDL. I don’t see these as being disjoint from each other