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 - 123 - Matching <reply> with <receive>



Yuzo,

Thanks for catching this naming issue.
I will send out a formal proposal for voting later by using the name 
"conflictingRequest".


Regards,
Alex Yiu


Yuzo Fujishima wrote:

> Alex,
>
> Just a minor comment: As a fault name, conflictingSomething
> sounds more aligned with other fault names than conflictSomething
> to me.
>
> Yuzo Fujishima
> NEC Corporation.
>
> Alex Yiu wrote:
>
>>
>> Hi, Danny and others,
>>
>> Just want to wrap up this issue:
>> I guess I still kind of prefer my original wording. Because, the 
>> phrase of "cause the overall state to become illegal" is too subtle 
>> ... on which receive operation get faulted.
>>
>> I guess the original wording is kind of better:
>> _the conflicting receive activities subsequent to the execution of 
>> __the first incomplete receive_.
>>
>> Upon retrospection, the word "first" can be interpreted in a strange 
>> way. Here I suggest to change wordings to:
>> _the conflicting receive activities subsequent to the execution of 
>> __*the successful *incomplete receive_.
>>
>> If it sounds good to people, I will make a formal proposal to vote.
>>
>>
>> Thanks!
>>
>>
>> Regards,
>> Alex Yiu
>>
>> Danny van der Rijn wrote:
>>
>>> would it be consistent with your proposal to word (b) : any receive 
>>> which, if executed, would cause the overall state to become illegal.
>>>
>>> Alex Yiu wrote:
>>>
>>>>
>>>> Hi, all,
>>>>
>>>> After thinking about the situation mentioned by Yuzo more, I would 
>>>> like to mention a few points:
>>>>
>>>>     * I can see the "conflictReceive" fault conditon in the terms of
>>>>       matching receive-reply is quite different from in terms of
>>>>       "conflictReceive" fault condition in terms of the maintaining
>>>>       the uniqueness of partnerLink, operation, CS in the existing
>>>>       spec text. Hence, I would agree with Yuzo's previoius
>>>>       suggestiont to use "*conflictRequest*" in the context of Issue
>>>>       123 to avoid further confusion.
>>>>     * Regarding to whether we can enforce that fault "MUST be  thrown
>>>>       within the BPEL process on all the conflicting receive
>>>>       activities", I would agree with with Yuzo again. The
>>>>       "*conflictRequest*" fault can be detected only at runtime. By
>>>>       the time when the second duplicated receive is executed, the
>>>>       first receive is finished already. It just needs a reply
>>>>       activity to complete the request-reply pattern.
>>>>
>>>>       It can be confusing to users, if we fault the flow/thread which
>>>>       has executed the <receive> activity. Moreover, it is possible
>>>>       to have a <receive> activity in one flow and its matched
>>>>       <reply> activity in the other flow. (Though this is a very
>>>>       minority design pattern.)
>>>>
>>>> Therefore, I suggest two minor changes in this proposal:
>>>> (a) "conflictReceive" => "conflictRequest"
>>>> (b) "all the conflicting receive activities" => "the conflicting 
>>>> receive activities subsequent to the execution of the first 
>>>> incomplete receive."
>>>>
>>>> I know the wordings in (b) is kind of clumsy. If someone find a 
>>>> more elegant way to express the same semantics, please feel free to 
>>>> re-word it. :-)
>>>>
>>>>
>>>> Thanks!
>>>>
>>>>
>>>> Regards,
>>>> Alex Yiu
>>>>
>>>>
>>>>
>>>> Here is the updated version of the proposal according to my 
>>>> suggestion:
>>>> -----------------------------------------------------
>>>> A reply activity is associated with a receive activity based on the 
>>>> tuple - partnerLink, operation, and messageExchange. The value 
>>>> defined in messageExchange is scoped to the combination of 
>>>> partnerLink and operation. That is, it is legal to use the same 
>>>> messageExchange value in multiple simultaneously incomplete receive 
>>>> activities so long as the combination of partnerLink and operation 
>>>> on the receives are all different from each other. An incomplete 
>>>> receive describes the state of a BPEL process from the point that a 
>>>> request/response receive activity starts execution until its 
>>>> associated reply begins execution.
>>>>
>>>> If there should ever be multiple simultaneous incomplete receive 
>>>> activities which have the same partnerLink, operation and 
>>>> messageExchange tuple then the *bpws:conflictingRequest* fault MUST 
>>>> be thrown _within the BPEL process_ on _the conflicting receive 
>>>> activities subsequent to the execution of __the first incomplete 
>>>> receive_.
>>>>
>>>> _If a reply activity cannot be associated with an incomplete 
>>>> receive activity by matching the tuples and this error situation is 
>>>> not caught during static analysis,  then bpws:missingRequest fault 
>>>> MUST be thrown within the BPEL process on the reply activity._ 
>>>> _Because conflicting requests should have been rejected at the time 
>>>> <receive> is executed, there cannot be more than one corresponding 
>>>> <receive> at the time <reply> is executed._
>>>>
>>>> If the messageExchange attribute is not specified on a receive then 
>>>> its value is taken to be empty. For matching purposes two empty 
>>>> messageExchange values on receives with the same partnerLink and 
>>>> operation values are said to match. _Empty value does not match 
>>>> with other non-empty values. _
>>>>
>>>> (Please note: there are existing text paragraphs in the spec, which 
>>>> enforces that no more than one <receive>s are waiting for a message 
>>>> associated with the same partner link, port type, operation, and 
>>>> correlation sets. This constraint still exists and will not be 
>>>> affected by the proposal of Issue 123. This proposal simply add one 
>>>> more constraint to receive, when <reply> are needed to be 
>>>> associated with <receive>.)
>>>> -----------------------------------------------------
>>>>
>>>>
>> [stuff deleted]
>>
>>
>>
>
>
> To unsubscribe from this mailing list (and be removed from the roster 
> of the OASIS TC), go to 
> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php. 
>
>



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