BPMN 2 XPDL

Copyright © Jason Woodruff.  Visit the original at http://jasonwoodruff.wordpress.com/2008/05/29/bpmn-2-xpdl/

The topic of process designers that support persistence of the process as XPDL is a common item on forums [here, here, here, ]. Typically the enquirer is seeking a free/open source tool.

I suspect this is because BPMN is an entry point into BPM for business users.  Probably the users do not have a BPM system at work, but they perhaps see that gaining competence in BPMN is going to be useful in the future and therefore see it as a personal development need for them.  Alternatively they might be students, again with no particular engine to design for, but with a wish to explore the technology.  Across the globe the number of users in these categories possibly exceeds the numbers of non-technical users actively designing processes for execution.

Now, if you are going to go to the trouble of learning BPMN you are likely going to draft a few processes that are meaningful and useful to your needs.  Hence, you are likely to want to persist the designs in the expectation that one day, sometime in the future, your organisation might just have an engine to which you could deploy your efforts.

Thus, we see this topic cropping up again and again on the forums.

So, to help, and to also inform my own knowledge and awareness of the market, I thought I would list all the BPMN designers that are free to download and use and provide the facility to save as XPDL.  This list will no doubt be incomplete.  If I’ve missed one then please let me know (see below).

The debate about whether XPDL actually is the best exchange format for BPMN continues, and there are competing visions for BPMN 2.0 and here, but for the business user pragmatism rules, and currently XPDL provides an available solution that is likely to be supported by the vendors into the foreseeable future.

Finally, XPDL is one thing, but what about WYDIWYE – what you draw is what you execute.

BPMN 2 XPDL

Open source:

http://wiki.eclipse.org/JWT_Proposal
They have this functionality on their road map. I don’t think it is implemented just yet.  There is also some collaboration between open source BPMN designers on the Eclipse platform.

Closed source:

http://www.activemodeler.com/AvantageFoundation Kaisha-Tec have a free ‘Home’ edition (for BPM?) that requires registration.

http://www.bizagi.com This product is based on .Net platform, so you need to download and install MS .Net Framework 2.0.  This only flies with Windows.  Website is also hugely irritating, but I guess that’s personal taste.  Free product can be downloaded here.

http://www.sungard.com/expcarnot/ Sungard Infinity Process Workbench.  Eclipse-based.  30-days limited product version available to download following registration.

http://www.tibco.com/devnet/business_studio/default.jsp Tibco Business Studio.  Can be downloaded here following registration and acceptance of license.  Eclipse-based.

http://www.itp-commerce.com/ ITP have an extension for MS Visio, but of course you need to have MS Visio installed to use this, so that doesn’t really fit into the free category.

http://bpms.intalio.com Intalio have XPDL on their roadmap.  Their Eclipse-based designer is easy to install and use, but requires registration.

Fujitsu Interstage and Global 360 Process Sketchpad may have downloadable designers, but I’ve yet to find a link!

There are others I’m sure.  For myself I’m starting to use Tibco’s product to model processes for a software service I’m working on, but I’ll not be deploying to Tibco’s engine.  I’ll switch to and support open source efforts as an ‘early adopter’ as soon as a functional product becomes available.

OS BPM / Restful BPM

jBPM had a ‘quiet’ relaunch last month and the results look impressive.  Previously, as I come at BPM from a business analyst direction, I’ve always found jBPM quite challenging and was more successful in designing and deploying processes with Intalio.  However, the recent jBPM changes persuade me to re-examine the jBoss offering.

The most obvious change is the website.  I’ve also always found the documentation for jBPM challenging since it seemed out of step with the product, so I hope that there have been efforts to sort that out to.  However the most important change is the launch of the Process Virtual Machine.  This is a generic embeddable engine capable of running executables written in BPEL, jPDL, XPDL, pageflow and other languages as and when the extensions are created.

Another change is the link-up between jBoss and Bull.  Bull are the power behind 2 open source business process products – Nova Orchestra and Nova Bonita.  The relationship sees jBoss having oversight of Process Virtual Machine and the jPDL extension, and Bull overseeing Orchestrate as the BPEL extension and Bonita the as XPDL extension for the PVM.

BPMN is establishing leadership status in terms of process design and Intalio’s Eclipse based designer is probably the best current offering in that respect, but there are some strings attached.  Firstly, whilst it is based on Eclipse it isn’t OSS and it isn’t available as an Eclipse plug-in.  Neither does it accept other Eclipse plug-ins.  This means, for example, you cannot use IBM’s excellent graphical XForms editor within Intalio’s designer.  You also have to have an account on the Intalio website since it asks for a login when you first fire it up.  Whilst an account is free this is annoying.

jBPM’s Graphical Process Designer is available as Eclipse plug-ins, but it currently doesn’t support BPMN.  The same is true of ActiveBPEL Community Edition Designer.  Perhaps the final important OSS project on the design side is Eclipse itself, with the Java Workflow Tooling Project (JWT).

I’ve not looked at JWT, but if it supports BPMN and evolves to ‘good enough’ then that will be sufficient for me to move from Intalio Designer.

The link-up between jBoss and Bull reflects the broader rationalisation of the BPMS space.  Today there are probably only 3 serious OSS BPEL engines to consider: Apache Ode, Process Virtual Machine and ActiveEndpoints.

This segment has a need to simmer for a little longer before we have a usable stack for an analyst such as myself that is both open source and can be freely downloaded, that supports design using BPMN, and that has a portable workflow (as opposed to BPEL) technology.

At the moment I’d wish to design in Intalio and deploy to PVM.  But PVM doesn’t support BPEL4People, so workflow would break.  jBoss’s workflow is within jPDL, but that means using GPD for design, which means moving away from BPMN.  As an analyst I’m driven from the BPMN rather than the engine side of things.

Of course all the previous discussion is about Java-based technology and the web-services way.  Very heavy and very corporate.  Now that’s OK for someone like me who is more researcher than practitioner, since my interest is in understanding how to assemble future applications.

But on this matter I think web-services are not the way to go, and web resources are.  Which makes all of my previous comments pretty redundant since none of these products supports processes built with resources rather than services.  There is talk within the Apache ODE project of doing so, but when and if this might happen and, for that matter, how, is anyones guess.

There have been a number of blog posts on Restful BPM (orchestration) over the past few months [here, here].  The project I continue to keep an eye on is openWFEru or rufus.  Firstly, because it’s Ruby, secondly because they have a resource focus, thirdly because it’s from the workflow rather than the EAI side of BPM, and fourthly because it’s embeddable (like PVM).

Which is where I’m headed today.  I’ve an idea for a SaaS product that needs workflow.  Using RoR, with rufus, and putting it onto Amazon’s ‘cloud’ (is that enough buzzwords in one sentance?), seems to be a solid plan.  But I need to be able to get my head round rufus first.