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 - 271 - ConflictingReceive with Different CorrelationSets

Hi Mark, my primary motivation for this issue came from the scenario where
one has different correlation sets on different IMAs. Their properties
would point to different places in the incoming message, so the property
values can be completely independent. This situation would not be
detectable during static analysis.
Kind Regards
 Dieter König                                Mail: dieterkoenig@de.ibm.com         IBM Deutschland Entwicklung GmbH      
 Senior Technical Staff Member               Tel (office): (+49) 7031-16-3426      Schönaicher Strasse 220               
 Architect, Business Process Choreographer   Fax (office): (+49) 7031-16-4890      71032 Böblingen                       
 Member, Technical Expert Council            Tel (home office): (+49) 7032-201464  Germany                               

             "Mark Ford"                                                   
             -endpoints.com>                                            To 
                                       "'Prasad Yendluri'"                 
             01.05.2006 04:33          <pyendluri@webmethods.com>          
                                       RE: [wsbpel] Issue - 271 -          
                                       ConflictingReceive with Different   
                                       Correlation Sets                    

We would only be able to catch this during static analysis if the IMA used
the same message variable or had the same <fromPart> assignments. It's
possible to have the same property with different values depending on the
message used to extract the property. In the case I described, I had
imagined the user had different correlation sets with different message
variables but with the same correlated data.

The motivation for faulting just one of these IMA's during its execution is
that it is consistent with the current usage of the bpel:conflictingReceive
fault. In the standard case the fault is thrown when an IMA attempts to
execute but there is already an IMA with the same partnerLink, operation,
and correlation sets queued by the process. In this case the fault is
thrown to the IMA that is attempting to execute and not to the one that is
already executing and waiting to receive its data.

However, I think both cases are modeling errors so I'm ok with letting all
of the IMA activities execute and then fault them all if/when a message

From: Prasad Yendluri [mailto:pyendluri@webmethods.com]
Sent: Sunday, April 30, 2006 5:16 PM
To: Mark Ford
Cc: wsbpel@lists.oasis-open.org
Subject: Re: [wsbpel] Issue - 271 - ConflictingReceive with Different
Correlation Sets

I agree we may want to treat the second (same data) case differently than
the first one.
However I think based on the two potentials for the 2nd case possible there
are two different solutions:

2.a) If the both (or more) correlation sets contain the same property-sets
and hence would
            always have the same values. Cases for conflicting receive that
happen due to this must be
            detected by static analysis.

2.b) When two correlation sets contain the same values even though they
have different property sets.
            This kind of conflicting receive falls into the same category
of the main issue reported, as a special case
             situation. Hence this must be treated in the same way as that.

I concur that for case (1) of the original issue reported, we want to fault
all receives that are in conflict. I think for 2.b also we should do the
same. I am not sure why we want to “In this case we could detect the
conflicting receive at the point of execution of the second (all other)
receive(s) and only fault it (them)”?  What is the motivation?
BTW what criteria would be used to determine which the first one which are
others (that are faulted)?



-------- Original Message --------
 Subject: RE: [wsbpel] Issue - 271 - ConflictingReceive with Different     
          Correlation Sets                                                 
    Date: Sat, 29 Apr 2006 06:35:41 -0400                                  
    From: Mark Ford <mark.ford@active-endpoints.com>                       
      To: <wsbpel@lists.oasis-open.org>                                    

I assume that you intend to fault both of the receives with a
bpel:conflictingReceive. This should be made explicit in the spec text.

There is also another case where R1 and R2 contain the same data for their
correlation sets. In this case we could detect the conflicting receive at
the point of execution of the second receive and only fault it.
From: ws-bpel issues list editor [mailto:peter.furniss@erebor.co.uk]
Sent: Friday, April 28, 2006 7:51 PM
To: wsbpel@lists.oasis-open.org
Subject: [wsbpel] Issue - 271 - ConflictingReceive with Different
Correlation Sets

This issue has been added to the wsbpel issue list with a status of
"received". The status will be changed to "open" if a motion to open the
issue is proposed and that motion is approved by the TC. A motion could
also be proposed to close it without further consideration. Otherwise it
will remain as "received".

The issues list is posted as a Technical Committee document to the OASIS
WSBPEL TC pages 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 - the next posting as a TC document will
include this issue. The list editor's working copy, which will normally
include an issue when it is announced, is available at this constant URL.

Issue - 271 - ConflictingReceive with Different Correlation Sets
Status: received
Date added: 28 Apr 2006
Date submitted: 28 April 2006
Submitter: Dieter Koenig1
Document: WS-BPEL 2.0 Committee Draft
Description: Section 10.4 defines cases where conflictingReceive must be

      A business process instance MUST NOT simultaneously enable two or
      more receive activities for the same partnerLink, portType, operation
      and correlationSet(s).

This definition does not provide the uniqueness required to unambigously
route an incoming request message to the right inbound message activity.

Consider two simultaneously enabled activities (today not a
conflictingReceive because of different correlation sets):

<receive partnerLink="PL1" portType="PT1" operation="OP" ...>
      <correlation set="CS1" initiate="no"/>

<receive partnerLink="PL1" portType="PT1" operation="OP" ...>
      <correlation set="CS2" initiate="no"/>

In a scenario where BOTH CS1 AND CS2 match an incoming request,
conflictingReceive should also be thrown.
Submitter's proposal: Add text following the sentence quoted above:

      Moreover, if a business process instance simultaneously enables two
      or more receive activities for the same partnerLink, portType,
      operation but different correlationSet(s), and the correlations of
      multiple of these activities match an incoming request message, then
      conflictingReceive must also be thrown".

Changes: 28 Apr 2006 - new issue

To comment on this issue (including whether it should be accepted), please
follow-up to this announcement on the wsbpel@lists.oasis-open.org list
(replying to this message should automatically send your message to that
list), or ensure the subject line as you send it starts "Issue - 271 -
[anything]" or is a reply to such a message. If you want to formally
propose a resolution to an open issue, please start the subject line "Issue
- 271 - Proposed resolution", without any Re: or similar.

To add a new issue, see the issues procedures document (but the address for
new issue submission is the sender of this announcement).

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