OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [wsbpel] Issue 3 -- proposal for discussion

Proposal#2 does keep the notion of snapshots but snapshots always
reflect the state of a scope as it was when it completed successfully.
If a compensation handler refers to variables in the local scope it gets
snapshot variables.  If it refers to variables in its enclosing scope
what it gets depends on how it is called.  If it is called from the
compensation handler of the enclosing scope it gets the snapshot
variable that the caller is also seeing.  If it is called from a fault
handler it sees the live state of the enclosing scope.  And the same
thing continues to further enclosing scopes recursively.

In proposal#1 a compensation handler lives entirely in its own private
snapshot and has no way to see or affect any state any other part of the
process can see *except* for the incoming and outgoing parameters.
However, within its snapshot of the universe (i.e., all enclosing scopes
upto process scope) it can merrily assign values to anything including
partnerLinks.  This only affects its snapshot.  Except for the
parameters part, this is the current semantics.

Hope that helps.

-----Original Message-----
From: Jim Clune [mailto:jim@parasoft.com] 
Sent: Wednesday, October 08, 2003 9:43 AM
To: wsbpel@lists.oasis-open.org
Subject: Re: [wsbpel] Issue 3 -- proposal for discussion

I could use some clarification for these proposals. Is proposal #2 any
different from just throwing out the notion of snapshots and having all
activities use the same state?

Could someone clarify for proposal #1 how write operations are impacted?
When executing a compensation handler in a snapshot world, what happens
the compensation handler attempts to assign a new value to a variable
is visible to activities that are still executing in the live state?
example, a process level variable.) I am referring to an assignment that
attempts to assign to the variables directly, not through the proposed
inbound/outbound parameters. Does this:
1. Assign the new value to the snapshot version of the variable without
impacting the "real" variable? (Might this be described as cloned
as opposed to a frozen snapshot?)
2. Throw a fault? (Which fault?)
3. Get detected and prevented by static checking? (Is this always

Jim Clune
Parasoft Corporation          email: jim.clune@parasoft.com
101 E. Huntington Ave.      voice: (626) 256-3680
Monrovia, CA.  91016           fax  : (626) 305-9048

To unsubscribe from this mailing list (and be removed from the roster of
the OASIS TC), go to

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]