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 - 25 - Consistent enablement of compensation handlers


Assume that compensation is not applicable for the instance as a whole. 
Can't I just write a compensation handler with the <empty> activity? Why 
do I need a separate flag to essentially do that? And if so, why does 
this flag exists for some scopes and not others?

arkin

Satish Thatte wrote:

>Assaf,
>
>enableInstanceCompensation permits default compensation for the instance
>as a whole, i.e., for the converse case when no compensation handler is
>specified.
>
>I am having trouble differentiating between "no compensation is
>possible" and "compensation does nothing".  Clearly, in real life,
>compensation is often less than perfect, so making such distinctions
>requires many shades of meaning rather than a binary distinction, which
>we cannot really express.
>
>Satish
>
>-----Original Message-----
>From: Assaf Arkin [mailto:arkin@intalio.com] 
>Sent: Monday, August 11, 2003 1:03 PM
>To: Satish Thatte
>Cc: wsbpel@lists.oasis-open.org
>Subject: Re: [wsbpel] Issue - 25 - Consistent enablement of compensation
>handlers
>
>Satish Thatte wrote:
>
>  
>
>>There appear to be two parts to this issue.
>>
>>Part 1:  What are the semantics of a compensation handler specified for
>>the business process as a whole when the enableInstanceCompensation
>>attribute is set to "no"? If instance compensation is not enabled then
>>it should be an error to define a compensation handler. This should be
>>clarified.
>> 
>>
>>SRT:  Agreed.  This is a statically detectable error.
>> 
>>
>>    
>>
>So what real purpose does enableInstanceCompensation serve?
>
>
>  
>
>>Part 2:  If the intent is to disable default compensation when no
>>compensation handler is defined then another alternative is to assume
>>that no compensation is possible if no compensation handler is defined
>>(and the same for scopes).
>>
>>SRT:  This is not the intent. Rather, the intent is dual: that "no
>>compensation is possible" needs to be expressed explicitly using the
>>following compensation handler
>>
>><compensationHandler>
>> <empty/>
>></compensationHandler>
>>
>>    
>>
>If a compensation handler is defined then compensation is possible and 
>can be invoked using the <compensate> activity. So this example does not
>
>mean "no compensation is possible", but rather "no work will be done 
>during compensation".
>
>In real life we find two different cases. One is where no work needs to 
>be done during compensation, in particular because no state was changed,
>
>e.g. after an RFQ. So if you have such a scope and for some reason you 
>need to use the <compensate> activity from a compenstion/fault handler, 
>you know not to bother doing it.
>
>The other is when compensation is not possible, or not possible as 
>written in the scope. The scope may perform some work which causes a 
>state change, but there is not way to compensate, and the process should
>
>be structured accordingly, e.g. by performing that activity as the last 
>one (assuming all others can be compensated or require no compensation).
>
>arkin
>
>  
>
>>Satish
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: wsbpel-unsubscribe@lists.oasis-open.org
>>For additional commands, e-mail: wsbpel-help@lists.oasis-open.org
>> 
>>
>>    
>>
>
>
>  
>




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