[Zope-CMF] Project-style workflows, DCWorkflow, SQL, etc.

Shane Hathaway shane@zope.com
Fri, 12 Oct 2001 14:16:03 -0400


Vincenzo Di Somma wrote:

> I`m an OpenFlow developer and I`m very interested in this discussion, I 
> don`t want to start a flame, I`ve good experience in 'activity based' 
> workflow but not to much in 'entity based', so it could be interesting 
> for me to understand this approach.


I also need to understand activity-based workflow better.  Let's compare 
the two approaches, maybe that will help.

- How do you begin a workflow?  With DCWorkflow, you create an object 
and it is automatically put in an initial workflow state.

- How does the user interact with workflow?  With DCWorkflow, the CMF 
actions box is populated with actions corresponding to transitions.

- How do you implement subflows?  With DCWorkflow and the portal_types 
tool, you can set up objects that get stored in workflowed containers. 
The contained objects can have partially dependent workflows.

- If the model doesn't support some capability, how do you fit it in? 
DCWorkflow lets you use persistent variables, expressions, and scripts. 
  (We both know WfMC, nor anyone else, can create a perfect model that 
lets you do everything.)

> We`ve started the OpenFlow development following as much as possible the
> WfMC interfaces (and, in the next release we`ll do it better) because, 
> even if it isn`t the smartest way, is certainly stable, well tested, as 
> much general purpouse as possible and is often well appreciated by the 
> customers who fells itself more guaranteed.


I've been keeping track of OpenFlow and WfMC, but frankly, it took less 
time and effort to write DCWorkflow than it's taking to make sense of 
WfMC. :-)

> IMO, there are situations in which follow the status changes of an 
> object is all you need for your application, but often the activity 
> based workflow are the natural way to describe business processes and, 
> for great or strange process, the fastest way to design the flow. Lots 
> of problems described in the thread find simple solutions with this 
> approach.Companies, often, have well defined (and activity based) 
> procedures and they wants applications that can help them to work 
> better. So you have a good description of their processes when you start 
> your work, what is the advantage of remap the activity based processes 
> in entity based?


It sounds like you're saying activity-based workflow is more appropriate 
for large, complex processes, while a simple state machine is more 
appropriate for simple things.

I still hold the opinion that if your workflow is too complex for a 
simple state machine, it really ought to be modeled using a programming 
language.  Python, which is flexible, portable, fast, easy to 
understand, and easy to write, would be a good choice. ;-)

But maybe there are companies ought there who are already sold on WfMC's 
workflow concepts and don't want to move.

> Moreover, a fundamental workflow function is the processes, activities 
> and eployees, monitoring and statistic reports, important because helps 
> quality enanchements, process optimizations and offers good corporative 
> decisions support. Can 'entity based' approach offer this features with 
> the same flexibility of the 'activity based' ?


I can answer the question, "Can 'entity based' approach offer these 
features?"  The answer is certainly yes.  I can't answer the question 
you asked, however, because I have not used any tools based on the WfMC. 
    Besides OpenFlow, what tools are there?  (Preferrably open source.)

> The last thing I want to consider is that the most important commercial 
> WfMS are tryng to hide lots of implementative details to the users and even 
> to the developers, giving them natural tools to develop workflow based 
> applications. IMO excluding an important design approach as the 
> 'activity based' is, can make work more difficult for a lot of 
> developers who use commercial system and are searching for good 
> opensource workflow tools till they will not use it at all.

Then do you agree that the goal is to integrate OpenFlow into CMF?

Shane