At 10:25 AM 4/7/2002 -0500, Ivelin Ivanov wrote:
>From: "Ovidiu Predescu" <[EMAIL PROTECTED]>
>To: "Ivelin Ivanov" <[EMAIL PROTECTED]>
>Sent: Friday, April 05, 2002 10:33 PM
> > Workflow's approach appears to be based on a finite state machine
> > model. Checkout the sample control file at:
> >
>http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/workflow/src/wizard-de
>mo/WEB-INF/wizard.xml?rev=1.1&content-type=text/vnd.viewcvs-markup
> >
> > The same approach can be modeled in Cocoon today using actions.

Does anyone have an example of this?  The current action example (the 
standard sample webapp) is fairly sketchy, and it's not clear how to do a 
more complex workflow.

> > However a much better approach is the one based on
> > continuations. Check out the Schecoon calculator sample at:
>
>I have actually seen it and was hoping that you can elaborate a bit on the
>advantages of continuations vs. state machine.

I agree.  Also, I'm fairly concerned by two things:

1) Continuations are notoriously difficult to understand; building them as 
the fundamental (and, if I understand Stefano's predilections, *only!*) 
mechanism of webapp flow control is going to do some damage to Cocoon's 
comprehensibility.

2) Continuations are difficult to evaluate for performance.  A procedural 
model, with explicit webapp state management, at least makes it clear to 
the programmer how much state is being kept by their webapp, and gives them 
more or less full control over tuning that state.  A continuation mechanism 
could radically change the amount of retained state (consider the 
possibility of inadvertent variable capture of large data structures by a 
continuation stack!).  And it might or might not be *possible* for the end 
programmer to fix those capture issues.

Perhaps Ovidiu's proposed uses of continuations are elegant enough, or the 
current scripting/continuation-capture mechanism is efficient and minimal 
enough, to address both these concerns.  But personally I would very much 
hope that the flowmap mechanism allows (not requires, but allows) a more 
procedural style as well, with explicit state management.

You do not need to listen to me very closely, however, as I am under enough 
time pressure with my current project (constructing a fairly complex 
multi-page form-based issue tracking system) to drive me to work with 
Struts instead.  It's a shame, as Cocoon seems more like the right thing, 
but I don't have time to struggle with the documentation (or lack thereof), 
or to wait for Schecoon to mature into something straightforwards.  I hope 
this changes in the very near future (i.e. I hope Cocoon/Schecoon get 
better documentation & examples, or I get more time, or both :-)

Cheers,
Rob



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to