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

Jim Fulton jim at zope.com
Mon Dec 20 10:27:42 EST 2004


Sorry for the long delay in responding....

Lennart Regebro wrote:
> 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 should have provided references to the WFMC reference model:

   http://www.wfmc.org/standards/docs/tc003v11.pdf

which provides a higher-level view and the glossary:

   http://www.wfmc.org/standards/docs/TC-1011_term_glossary_v3.pdf

which provides additional details.

The XPDL document assumes familiarity with the underlying model.

...

> 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.

I've ended up doing something different, treating participants as
activity adapters and treating applications as participant adapters.
This feels like a good model from a conceptual point of view and
is, I think, a little easier to explain.  I think there is still room
for a simplified ZCML directive that collects everything into a single
element, but I may not have time to implement that.  I plan to check in a
.txt file l;ater today or tomorrow that explains this.

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

Keep in mind that the WFMC model limits the scope of workflow definitions
to process control only. They lack any application logic.  There needs to
be some way for the process to have data to make it's decisions.  Workflow-
relevent data is used for this purposes.  Transition conditions are expressed
in terms of workflow-relevent data.  Applications (or subprocesses) get and set
this data.  Application-relevent data is really just a convenience to provide
shared data for applications.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list