W3C home > Mailing lists > Public > public-ws-chor@w3.org > May 2003

Re: Co-ordination protocol and BPEL

From: Mark Little <mark.little@arjuna.com>
Date: Thu, 22 May 2003 10:03:49 +0100
Message-ID: <01a001c32041$0fa76ea0$850a090a@exhp>
To: "Assaf Arkin" <arkin@intalio.com>, "Ricky Ho" <riho@cisco.com>
Cc: <public-ws-chor@w3.org>

+1

Mark.

----- Original Message ----- 
From: "Assaf Arkin" <arkin@intalio.com>
To: "Ricky Ho" <riho@cisco.com>
Cc: "Mark Little" <mark.little@arjuna.com>; <public-ws-chor@w3.org>
Sent: Thursday, May 22, 2003 3:01 AM
Subject: Re: Co-ordination protocol and BPEL


> Ricky Ho wrote:
> 
> > Mark,  I think there are two parts ...
> >
> > 1) A mechanism to pass context around participants so that they know 
> > the piece of work is just part of a bigger transaction.
> > 2) A mechanism to terminate this bigger transaction so that each 
> > participant will know its final outcome.
> >
> > My understanding is that WS-C covers the first and WS-Tx covers the 
> > second.
> >
> > However, I don't see how this fits naturally into the current BPEL 
> > model. 
> >
> > BPEL integration with WS-C
> > =====================
> > How do I associate a "scope" with the "context" of the message that I 
> > just receive ? (especially when the <receive> is in the middle of the 
> > BPEL process).
> 
> I don't think you need to write it in the process definition explicitly. 
> When the engine recieves a message that would start a new scope it would 
> look for the context. If no context is provided it starts a new scope. 
> If a context is provided it would start a new scope and register it as a 
> participant in the larger context.
> 
> So it would work like the transaction attribute requires in an EJB bean. 
> Either you start a new transaction if none was started by the caller, or 
> you participate in the caller's transaction.
> 
> > I'd like to see something like the following in BPEL
> >
> > <process>
> >     ....
> >     <sequence>
> >         .....
> > *        <receive newScope="true" ....>
> >             <scope>
> >                 <TerminationHandler> ... </TerminationHandler>
> >             </scope>
> >         </receive>
> > *        .....
> >     </sequence>
> > </process>
> >
> >
> > BPEL integration with WS-Tx
> > ======================
> > I'd like to see something like the following in BPEL
> 
> 
> For atomic transactions you don't need prepare or commit, you are 
> working at a higher level than the code and all that needs to be 
> prepared or committed should be done by the engine for you. For BA 
> transactions you don't have prepare or commit, every response is an 
> indication that all previous steps have been completed (prepared and 
> committed). You do need a way to cancel, but this can be done by a fault 
> handler (the terminate fault). And you do need a way to compensate and 
> this is done by a compensation handler.
> 
> This is of course just my speculation based on how you would use 
> WS-C/WS-TX with BPML, and the BPEL authors may have a different opinion. 
> But I suspect our interpretation on this issue, as most other things, 
> would be the same ;-)
> 
> arkin
> 
> >
> > <process>
> >     ....
> >     <sequence>
> >         .....
> >         <receive newScope="true" ....>
> >             <scope>
> > *                <PrepareHandler> ... </PrepareHandler>
> >                 <CancelHandler> ... </CancelHandler>
> >                 <CommitHandler> ... </CommitHandler>
> >                 <CompensationHandler> ... </CompensationHandler>
> > *           </scope>
> >         </receive>
> >         .....
> >     </sequence>
> > </process>
> >
> > Thoughts ??
> >
> > Best regards,
> > Ricky
> 
> 
> 
> 
Received on Thursday, 22 May 2003 05:04:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 18 December 2010 01:00:17 GMT