[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Issue - 217 - Need new name for <compensate>
Hi Let me add an example to illustrate some of Dieter's point: ------------------------- <scope name="A"> <faultHandler> <catch faultName="p:service1Fault"> <compensate /> </catch> </faultHandler> <compensationHandler> <sequence> <compensate /> <if ... > <!-- if "service1" was run OK --> <invoke operation="cancelService1" ... /> </if> <if ... > <!-- if "service2" was run OK --> <invoke operation="cancelService2" ... /> </if> </sequence> </compensationHander> <sequence> <scope name="B"> ... </scope> <invoke operation="service1" ... /> ... <scope name="C"> ... </scope> <invoke operation="service2" ... /> ... </scope> ------------------------- The <compensate> inside the FH will just compensate the succesfully completed scope. In this example, most likely just scope-B. The <compensate> does NOT invoke the compensationHandler of scope-A. Hence, invocation of "cancelService1" and "cancelService2" will NOT be the result of such a faultHandler. On the other hand, the the compensationHandler of scope-A will: (1) execute <compensate> which in turns call the CH of scope-C and scope-B if they are completed successfully. (2) And, it may invoke "cancelService1" and "cancelService2" also. Thanks! Regards, Alex Yiu Dieter Koenig1 wrote: The behavior of the default compensation handler is the same in both cases. In the spirit of the current spec, specifying that (1) <compensate/> calls the compensation handlers of all successfully completed CHILD scopes (2) the default compensation handler just calls <compensate/> avoids (a) the complexity of activating compensation handlers at different times (b) the complexity of defining two compensate activities (c) the complexity having active (default) compensation handlers for running scopes Kind Regards DK "Yaron Y. Goland" <ygoland@bea.com> To 27.06.2005 19:25 Rania Khalaf <rkhalaf@watson.ibm.com> cc Please respond to Dieter Koenig1/Germany/IBM@IBMDE, ygoland Alex Yiu <alex.yiu@oracle.com>, Danny van der Rijn <dannyv@tibco.com>, wsbpel@lists.oasis-open.org Subject Re: [wsbpel] Issue - 217 - Need new name for <compensate> Now someone explain to me how Alex's description of compensate is in any material way different than the behavior of the default compensation handler? Yaron Rania Khalaf wrote:Yup, exactly +1 :) Dieter Koenig1 wrote: >+1. > >This is basically the same observation I made in a couple of appends on >207. > >>From my point of view, 217 cannot be opened as a bug issue as it makes >assumptions about the behavior of <compensate/> that are not describedin>the spec. > >Kind Regards >DK > > > >> Alex Yiu> <alex.yiu@oracle.> com>To> Alex Yiu <alex.yiu@oracle.com>> 23.06.2005 23:41cc> Danny van der Rijn> <dannyv@tibco.com>, "Yaron Y.> Goland" <ygoland@bea.com>,> wsbpel@lists.oasis-open.org>Subject> Re: [wsbpel] Issue - 217 - Neednew> name for <compensate>>>>>>>> > > > > >Sorry, I accidentally hit the send button before I finished my last >sentence.:-) >----------------------------------- ><compensate /> serves a higher level activity which calls thecompensation>handlers of all completed CHILD scopes in the compensation order as >specified by Issue 1 and 10. Vaguely speaking, one would consider ><compensate /> as an "intelligent" version "macro" that represents aseries>of <compensate scope="scopeName" /> activities. >----------------------------------- > > >Regards, >Alex Yiu > > >Alex Yiu wrote: > > Hi, Yaron and Danny, > > Even though I would not oppose renaming <compensate /> tosomething> else. > (e.g. <compensateChildScopes /> ) to avoid any further confusion. > (Because, one of my customers got confused also.) > > But, there was a major misunderstanding in the issue description > expressed by Yaron: > "The semantics of <compensate/> are to call the localcompensation> handler for the enclosing scope." > > That is incorrect. > > <compensate /> serves a higher level activity which calls the > compensation handlers of all completed CHILD scopes in the > compensation order as specified by Issue 1 and 10. Vaguelyspeaking,> one (Satish was the main driver of these 2 issues, while Nickand I> were the major backer of those 2 issues as well as IBM folks). > > Only activity in faultHandler/terminationHandler/compensation of > parent scope can call the compensation handler. > > Example to clarify: > -------------------------- > <scope name="A"> <faultHandler> <catch ... > > <sequence> <compensate /> > <invoke ... /> <!-- invokesome> extra operations as a part of faultlogic -->> > </sequence> </catch> </faultHandler> > <compensateHandler> <sequence> <compensate/>> <invoke ... /> <!-- invoke some extra > operations as a part of compensation logic --> > </sequence> </compensateHandler> <sequence> > <scope name="B"> ... </scope> <scope > name="C"> ... </scope> </sequence> > </scope> > -------------------------- > > The <compensate/> in the fault handler and compensation handlerof> scope "A" will invoke the compensationHander of scope "C" andscope> "B" (if they are completed.) The <compensationHandler> of scope"A"> will NOT get touched by the <compensate /> activities in scope"A".> > > I hope that clarifies the picture. > Thanks! > > > > Regards, > Alex Yiu > > > > Danny van der Rijn wrote: > +1. We would also need to clarify in the schema and spectext> when each of these is allowed, as currently, I believe that > there are cases when one should be allowed, but not theother.> > Danny > > ws-bpel issues list editor wrote: > This issue has been added to the wsbpel issue listwith a> status of "received". The status will be changed to > "open" if the TC accepts it as identifying a bug inthe> spec or decides it should be accepted specially. > Otherwise it will be closed without furtherconsideration> (but will be marked as "Revisitable") > > The issues list is posted as a Technical Committee > document to the OASIS WSBPEL TC pages < > http://www.oasis-open.org/apps/org/workgroup/wsbpel>on a> regular basis. The current edition, as a TC document,is> the most recent version of the document entitled **in> the "Issues" folder of the WSBPEL TC document list < > http://www.oasis-open.org/apps/org/workgroup/wsbpel/documents.php > > - the next posting as a TC document will includethis> issue. The list editor's working copy, which will > normally include an issue when it is announced, is > available at this constant URL < >http://www.choreology.com/external/WS_BPEL_issues_list.html> >. Issue - 217 - Need new name for<compensate>> > *Status:* received > *Date added:* 8 Jun 2005 > *Categories:* Compensation <#category_compensation> > *Date submitted:* 07 June 2005 > *Submitter:* Yaron Y. Goland <mailto:ygoland@bea.com> > *Description:* The semantics of <compensate/> are tocall> the local compensation handler for the enclosingscope,> an activity that can occur even in a fault handler.The> semantics of <compensate scope=".."/> is to call the > installed compensation handler on a successfully > completed child scope. The semantics of these twoactions> are very different but they share the same activityname> which leads to confusion. > *Submitter’s proposal:* I would propose splittingthese> into two activities. <defaultCompensate> and<compensate> scope="..."/>. > *Changes:* 8 Jun 2005 - new issue > ------------------------------------------------------------------------ > > > To comment on this issue (including whether it shouldbe> accepted), please follow-up to this announcement onthe> wsbpel@lists.oasis-open.org list (replying to this > message should automatically send your message tothat> list), or ensure the subject line as you send it*starts*> "Issue - 217 - [anything]" or is a reply to such a > message. If you want to formally propose a resolutionto> an open issue, please start the subject line "Issue -217> - Proposed resolution", without any Re: or similar. > > To add a new issue, see the issues proceduresdocument> (but the address for new issue submission is thesender> of this announcement). > > > Choreology Anti virus scan completed > >---------------------------------------------------------------------> > To unsubscribe from this mail list, you must leave theOASIS TC> that > generates this mail. You may a link to this group and allyour> TCs in OASIS > at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php > > >--------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. You may a link to this group and all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]