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: Issue - 299 - Bug and clarification regarding 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 - 299 - Bug and clarification regarding correlation sets

Status: received
Date added: 12 Jun 2006
Date submitted: 12 June 2006
Submitter: Thomas Schulze
Description: Paragraph 3 in section 9.2 contains some invalid statements regarding the content of the <invoke>, <receive> and <reply> activities, the <onMessage> branch of <pick>, the <onEvent> variant of <eventHandlers> and the attribute "initiate". It currently says that element <correlationSet> can be used there and carries the attribute "initiate". But it should say that for the element <correlation>.

Additionally a clarification in 9.2 would be helpful what the usage of correlation sets on a <reply> or one-way <invoke> with initiate="no" is for.
Submitter's proposal:

Section 9.2, paragraph 3, change from:

"The <correlationSet> specifications are used in <invoke>, <receive>, and <reply> activities (see 10.3. Invoking Web Service Operations and 10.4. Providing Web Service Operations); in the <onMessage> branches of <pick> activities, and in the <onEvent> variant of <eventHandlers> (see 11.5. Pick and 12.5.1. Message Events). These <correlationSet> specifications identify the correlation sets by name and are used to indicate which correlationSet's (i.e., the corresponding property sets) occur in the messages being sent and received. The initiate attribute on a <correlationSet> specification is used to indicate whether the correlation set is being initiated."

to:

"The <correlationSet> specifications are used in <invoke>, <receive>, and <reply> activities (see 10.3. Invoking Web Service Operations and 10.4. Providing Web Service Operations); in the <onMessage> branches of <pick> activities, and in the <onEvent> variant of <eventHandlers> (see 11.5. Pick and 12.5.1. Message Events). The <correlation> specifications identify the correlation sets by name and are used to indicate which correlation sets (i.e., the corresponding property sets) occur in the messages being sent and received. The initiate attribute on a <correlation> specification is used to indicate whether the correlation set is being initiated."

After the following paragraph (#9 I think):

"In the case of <invoke>, when the operation invoked is a request/response operation, a pattern attribute on the <correlationSet> specification is used to indicate whether the correlation applies to the outbound message (“request”), the inbound message (“response”), or both (“request-response”). The pattern attribute used in <invoke> is required for request-response operations, and disallowed when a one-way operation is invoked. Any violation of this rule MUST be detected during static analysis."

Add the following new paragraph for clarification:

"In the case of <invoke>, when the operation invoked is an one-way operation, or in the case of <reply> the usage of correlation sets with initiate="no" is for message validation purposes only. With this, a business process can ensure that the response message to be send carries the expected correlation tokens."

Change the following paragraph for clarification, from:

"A message can carry the tokens of one or more correlationSet’s. The first example shows an interaction in which a purchase order is received in a one-way inbound request and a confirmation including an invoice is sent in the one-way response. The PurchaseOrder correlationSet is used in both activities so that the one-way response can be correlated to the request at the buyer. The <receive> activity initiates the PurchaseOrder correlationSet. The buyer is therefore the leader and the receiving business process is a follower for this correlationSet. The <invoke> activity sending the one-way response also initiates a new correlationSet called Invoice. The business process is the leader of this correlated exchange and the buyer is a follower. The response message is thus a part of two separate conversations, and forms the bridge between them."

to:

"A message can carry the tokens of one or more correlationSet’s. The first example shows an interaction in which a purchase order is received in a one-way inbound request and a confirmation including an invoice is sent in the one-way response. The PurchaseOrder correlationSet is used in both activities so that the one-way response is validated against the correlation set to correlate with the request of the buyer. The <receive> activity initiates the PurchaseOrder correlationSet. The buyer is therefore the leader and the receiving business process is a follower for this correlationSet. The <invoke> activity sending the one-way response also initiates a new correlationSet called Invoice. The business process is the leader of this correlated exchange and the buyer is a follower. The response message is thus a part of two separate conversations, and forms the bridge between them."

Change the last paragraph in 9.2 for clarification, from:

"An <invoke> can consist of two messages: an outgoing request message and an incoming reply message. The correlationSet’s applicable to each message must be separately considered, because they can be different. In this case the PurchaseOrder correlation applies to the outgoing request that initiates it, while the Invoice correlation applies to the incoming reply and is initiated by the reply. Because the PurchaseOrder correlation is initiated by an outgoing message, the buyer is the leader of that correlation. However, the buyer is a follower of the Invoice correlation because the values of the correlation properties for Invoice are initiated by the seller in the reply received by the buyer. "

to:

"An <invoke> can consist of two messages: an outgoing request message and an incoming reply message. The correlationSet’s applicable to each message must be separately considered, because they can be different. In this case the PurchaseOrder correlation applies to the outgoing request that initiates it, while the Invoice correlation applies to the incoming reply and is initiated by the reply. Because the PurchaseOrder correlation is initiated by an outgoing message, the buyer is the leader of that correlation. However, the buyer is a follower of the Invoice correlation because the values of the correlation properties for Invoice are initiated by the reply message of the seller received by the buyer."

Changes: 12 Jun 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 - 299 - [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 - 299 - 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]