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] RE: Questions (RE: [wsbpel] Proposed agenda for May28-29 WS BPEL TC face to face)


Satish Thatte wrote:

>Assaf,
> 
>The second (parameter) question is not all that obscure despite not having a defined feature for passing parameters to compensations.  Because the key point is simply that parameters can't be used in default behavior.  Thus anything clever we can imagine with combinations of commutative and non-commutative compensations will run into difficulties in being applicable to parameterized compensation, which I believe to be a far stronger requirement.  
>  
>
I understand that there's an input and an output and so you can't use 
the default behavior. You can still use <compensate> if you are able to 
pass all the inputs upfront to all the compensation handlers.

The first question is, can you pass data inbetween instances of the 
compensation handler when doing <compensation scope>? This is a 
requirement on our side to be able to do things like tally how much 
compensation was done, or operate on shared data (no concurrency issues 
if invocation is serial). This of course conflicts with invoking 
compensation handlers concurrently, since merging outputs become an 
issue. I consider this feature as important, and actually a way to do 
compensation concurrently while invoking compensation handlers serially.

The second question is, can you pass that data between any set of 
compensation handlers using <compensate>, or do you always have to use 
<compensation scope> when passing parameters?

> 
>My third question was simply pointing out that once we go beyond the dichotomy of default-reverse and wholly custom ordering, any number of requirements can pop up for ordering which we may not be able to satisfy, so I am hesitant to get on the slippery slope of accumulating that class of requirements without a good idea of potential clean solutions.
>  
>
You can support any order of compensation if you allow individual 
compensation handlers to somehow exchange data with the enclosing scope 
compensation/fault handler. So if you have an other-than-reverse order 
you want to support, and the ability to exchange data with the 
compensation handler, you can support it without having to complicate 
the language in any way.

That's why, although we do have scenarios where we could benefit from 
doing other-than-reverse order, assuming a specification that allows you 
to pass parameters to compensation handlers, I do not at the moment have 
any issue to raise against such a specification. Or you may say that the 
issue is doing other-than-reverse order compensation and the resolution 
is to use parameter passing ;-)

arkin

> 
>Satish
>  
>




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