Re: Events and States (was: timeouts & states (was: Abstract Bindable Choreography))

Cummins, Fred A wrote:
> This raises questions about the scope of a choreography.  When does
> it end?  When a disconnect occurs?  When a particular business
> transaction is completed?  When a relationship is terminated?
> Maybe any of the above?
> 
> Do the state machines provide the mechanism for nesting of component
> choreographies?

Very good questions. But what do you want (or perhaps more importantly, 
need) it to do? As you say, a state machine is really a mechanism. What 
is the functional requirement?

At minimum, I would guess it is the ability to transition to a distinct 
state when a timeout occurs. This state could be the termination of the 
choreography (implying no more processing will occur). Or it could be an 
error state (implying there might be some warning given, or some 
recovery effort made, e.g. a retry - this assumes you are doing this at 
the application level and not in some lower-level reliable messaging 
protocol). Certainly I can think of real-world examples where you'd need 
this functionality. This is something of a simplification of earlier 
proposals. If we need something more complex, I'd like to see some 
rationale behind it.

--Jon

Received on Thursday, 10 April 2003 17:56:26 UTC