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 May 28-29 WS BPEL TC face to face)


Assaf,

I am wondering how common these cases are (you didn't actually provide
use cases ;-)).  The once-only case seems to have easy workarounds given
parameters for compensation handlers.  Concurrency is something to think
about more but I wonder how important it will really be in practice - my
personal belief is that concurrency in BPEL is more about
non-deterministic ordering rather than leveraging multiproc servers and
the like, and this becomes important especially for wait points.  What
do you see as being the essential need for concurrency in compensation
in practice?  

Satish

-----Original Message-----
From: Assaf Arkin [mailto:arkin@intalio.com] 
Sent: Tuesday, June 03, 2003 4:24 PM
To: Satish Thatte
Cc: edwink@collaxa.com; wsbpel@lists.oasis-open.org; Diane Jordan
Subject: Re: [wsbpel] RE: Questions (RE: [wsbpel] Proposed agenda for
May 28-29 WS BPEL TC face to face)

Satish Thatte wrote:

> Aspect#1: Assuming a session based communication protocol and 
> WS-Addressing as a way of initiating the session using some form of 
> handle explicit correlation might eventually become unnecessary. We 
> should work out the details of what it would take to get this 
> simplification. However, in general we probably cannot assume 
> session-based communication. There are scenarios like multi-start 
> activities (example in spec) where correlation is not avoidable.
>
> Aspect#2: This seems to relate to multi-start activities. There is no 
> "ghost instance" semantics here, but there is rendezvous semantics. 
> The idea is to make the expression of rendezvous easy, but that does 
> mean more work for the infrastructure (effectively providing the 
> service you mention as an implicit part of the bus).
>
> Aspect#3&4&8: In my book, the items you mention are deployment related

> and not in scope for BPEL.
>
> Aspect#5: I believe this type of binding is ruled out by the charter.
>
> Aspect#6: I agree this type of pattern is a requirement.
>
> Aspect#7: I am not aware of any use cases where other-than-reverse 
> order is needed for compensating looped activities. Do you know of 
> such a case?
>
We did identify two cases.

The looped activity may execute zero or more times, but in some cases it

is sufficient to compensate for it exactly once. If you compensate for 
all instances then you are doing too much work. The compensation handler

cannot determine how many times it was executed since it has no access 
to shared variables, so it cannot narrow down the workload. If you put 
the compensation code outside the looped activity you additional logic 
to determine whether or not it even executed successfully.

An event handler may execute multiple instances in parallel. In some 
cases you may be able to invoke compensation handlers in parallel, which

may render compenstion more efficient. In some cases you may also be 
able to do that for a looped activity.

Perhaps we should allow a compensation handler to specify whether it 
supports concurrency and based on that have the engine execute it in 
parallel with or sequential to other compensation handlers.

Other than 'once only' or 'any order' we have not found a need to do 
anything other than reverse order.

arkin

> Satish
>





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