cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <>
Subject Re: [RT] flow machinery
Date Tue, 25 Oct 2005 22:15:08 GMT
Torsten Curdt wrote:

> Gang,
> there are a few things regarding the current flow machinery that
> are bugging me for quite a while now. In order to support flow
> serialization they need to be addressed.
> 1. Class vs Interface
> The WebContinuation is currently a class. IMO it makes much more
> sense to turn it into an interface an have the individual "FlowEngine"
> implementation act as a factory. That way javaflow could create
> WebContinuations that implement Serializable.
> 2. Naming
> The name JavaInterpreter just misses the point. I would like to
> rename the "Interpreter" interface to something like "FlowEngine".
> Other suggestions are welcome.
> 3. Continuation Management
> When it comes down to serialization of flow there are 2 aspects.
> One is flow persistence and the other one is flow replication
> across machines.
> In order support flow persistence we would need the make the
> ContinuationManager save and reload serializable continuations.
> ...which is not big deal. Unfortunately replication is a slightly
> different subject.
> The distributed ContinuationManagers would need to synchronize
> the continuation trees across the network or at least find a way
> to direct to the appropriate server that holds the continuation.
> TBH ...I am not eager to re-invent the wheel here. In fact this
> whole machinery is already in place for sessions. Why not re-use it?
> In fact I don't really see a big point of having web continuations
> without sessions anyway.

+1 (in 2.2) to everything above.

> Assuming the continuations are stored inside the session, storing
> and restoring the sessions would take care of the persistence.
> Directing to the server with the right session also assures to
> get to the right cocoon instance running the right ContinuationManager.
> Flow replication itself should then also be solved by session
> replication without any further effort. The only open question
> is the continuation expiry mechanism. It might be good enough to
> just run the expiry on every machine ...I am wondering how that
> might affect the replication though.

I would suggest that you create an interface for flow persistence and 
then an implementation that uses the session. I could easily see wanting 
to use Tangasol Coherence instead, so being free to implement that would 
be nice.

> Comments?
> cheers
> -- 
> Torsten


View raw message