[Zope3-dev] Re: WORKFLOW: Notes on WFMC and XPDL

Lennart Regebro regebro at nuxeo.com
Wed Dec 1 11:12:32 EST 2004


I've now taken a look at XPDL, Jims texts, and YAWL.

First, YAWL vs XPDL.

I have to commend YAWL for an excellent and pedagogical website, which 
had the initial result that I understood YAWL perfectly, but the more I 
read about XPDL the less informed I got. If this reflects poorly on 
XPDL, the XPDL doumentation or my intellect, I am unable to say.

I really like YAWL. However, it seems to me after further digging, that:

The YAWL language, being completely symbolic, lacks a standard digital 
format for it (maybe I missed it), and the only editor there is the 
reference one, ment to be used with the reference engine, which I don't 
know if it is even possible to use in Zope3. That means that in worst 
case, we have to reimplement the engine, and the editor, and in best 
case, we have tied ourself to one editor.

On the other hand, XPDL misses some of YAWLs features, especially the 
deferred choice (can an XOR split be used instead?), but also 
cancellation activities and OR joins and splits. I don't know if the 
YAWL concept of a token can be applied on XPDL either, and it seems to 
be to be a darn good concept. Also, it feels like XPDL is a model that 
is hard to understand. The XPDL split into activities, applications and 
partcicipants is not at all obvious.

On the third hand, some of the YAWL features would be easy to extend 
XPDL with (like the OR joins and splits), other might take more work, 
but it seems to me that extending XPDL so that it can support YAWL 
workflows would be a good thing, and a reasonable future path for XPDL. 
If this is possible then the choice does not have to be made. ;)

Of course, with Zope3s fantastic pluggability the choice doesn't have to 
be made anyway. I can see no reason why one couldn't make a YAWL 
implementation too. But of course, this is a question of what should be 
default. So although YAWL seems to be a much better concept, it doesn't 
seem quite useful yet, since it lacks a standardized file format, 
third-party editors and a finished Python engine. ;)


When it comes to ZCML implementation, I also prefer Jims first option. 
Overriding one participant or application without overriding the whole 
definition seems to me as a very unusual case.

After that, with the "humhum_relevant_data" stuff you lost me. I didn't 
get it. Maybe tomorrow. ;-)

-- 
Lennart Regebro, Nuxeo     http://www.nuxeo.com/
CPS Content Management     http://www.cps-project.org/



More information about the Zope3-dev mailing list