cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: Experience with workflow at Hippo Webworks
Date Sun, 07 Mar 2004 09:55:58 GMT
Stefano Mazzocchi wrote:

> Guido Casper wrote:
>> Stefano Mazzocchi wrote:
>>> If FSM work bad for flow, why would they work any better for workflow?
>> After thinking again about ways to use continuations with workflow I
>> came to the conclusion this might well be possible. But it looks awkward
>> to me.
>> Each document attached to workflow would need a workflow instance as
>> long as the document lives (from creation to deletion). This would mean
>> the continuation stack of every document needs to be persisted to - well
>> - to a database if you don't want to limit your clustering options. The
>> document has a property holding the continuation ID.
> You have a point here, Guido. It is true that continuations in a 
> distributed environment would need to be made custer-friendly and 
> replicated. This would probably impact the overall performance... but 
> keep in mind that continuations are just another way to save state. 
> That kind of state transformation (think REST) will have to be done 
> anyway.

The lifetime of a workflow instance also makes a big difference 
regarding business process changes. I experienced in a previous job in a 
large company some workflows (e.g. purchase orders) who changed several 
times a year, depending on structural changes in the company's 
organization. And already running instances had to adapt to the new 
worflow from the state they were in at the date of workflow change.

This makes continuations technically not suitable for this, as once a 
continuation has been created, it's tied to the program's structure 
where it was created, and it cannot be "rerouted" to a location in 
another version of the same program.

Furthermore, there exists what is called "ad-hoc" worklows, where a 
user, depending on its rights, can modify the workflow for a particular 
instance. An example of this is when a document has to be published that 
contains highly technical material. The editor may want to add an 
additional step in the workflow for the document to be validated by a 
technical expert, which doesn't happen in normal cases.

In that situation, asking a user to write a new version of a program for 
that specific need doesn't seem a good solution to me ;-)


Sylvain Wallez                                  Anyware Technologies 
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }

View raw message