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: AW: AW: [wsbpel] Issue - 147 - Serial and Parallel For-Each


Oh, I didn't catch that, Yaron:  Are saying that the activity nested in a
<foreach> must not have output variables?


Mit besten Grüßen,
Frank Leymann
Phone:......+49-711-7816 470
Mobile:.....+49-162-322 4444
e-Mail: Frank.Leymann@informatik.uni-stuttgart.de


-----Ursprüngliche Nachricht-----
Von: Yaron Y. Goland [mailto:ygoland@bea.com] 
Gesendet: Friday, July 16, 2004 6:37 PM
An: Frank Leymann
Cc: wsbpel@lists.oasis-open.org
Betreff: Re: AW: [wsbpel] Issue - 147 - Serial and Parallel For-Each

Please see below

Frank Leymann wrote:

> 
> 
> Yaron – initial questions:
> 
>  
> 
> How is the output of the set of activities running in parallel combined?
> 

I'm not sure I understand what you mean. None of our activities have 
return values so what would we be combining?

>  
> 
> What is the fault model, i.e. what happens if a subset of the forked 
> activities fail?
> 

The parallel for-each is effectively a dynamic flow. The same fault and 
completion conditions that apply to flows also apply to parallel for-each.

>  
> 
>  
> 
> Best regards,
> 
> Frank Leymann
> 
> Phone:......+49-711-7816 470
> 
> Mobile:.....+49-162-322 4444
> 
> e-Mail: Frank.Leymann@informatik.uni-stuttgart.de
> 
>  
> 
> -----Ursprüngliche Nachricht-----
> *Von:* ws-bpel issues list editor [mailto:peter.furniss@choreology.com]
> *Gesendet:* Friday, July 16, 2004 3:10 PM
> *An:* wsbpel@lists.oasis-open.org
> *Betreff:* [wsbpel] Issue - 147 - Serial and Parallel For-Each
> 
>  
> 
> This issue has been added to the wsbpel issue list. 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 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 
> <http://www.choreology.com/external/WS_BPEL_issues_list.html>.
> 
> 
>     * Issue - 147 - Serial and Parallel For-Each *
> 
> * Status: * open
> *Categories:* Syntax and validation <#category_syntax_and_validation>
> *Date added:* 16 Jul 2004
> *Submitter:* Yaron Y. Goland <mailto:ygoland@bea.com>
> *Date submitted:* 15 June 2004
> *Description:* For-each is a very common control structure that has 
> special appropriateness to BPEL where one can routinely expect BPELs to 
> need to iterate through XML structures. One can easily imagine two 
> flavors of for-each. Serial and parallel. Note: These same ideas have 
> been proposed in issue 63 <#Issue63> and issue 4 <#Issue4> but both of 
> those issues could be resolved in ways that do not necessarily use the 
> for-each construct. Therefore I am proposing for-each on its own. If 63 
> and 4 are closed by introducing serial and parallel for-each then this 
> issue can also be closed.
> *Submitter's proposal:*
> 
>    
> 
>  <foreach iteratorVariableName="ncname" iteratorVariableType="qname"\ 
> 
>             parallel="xs:Boolean" standard-attributes> 
> 
>       standard-elements 
> 
>       <expression expressionLanguage="anyURI">...</query> 
> 
>       activity 
> 
>  </foreach> 
> 
> The expression element would be responsible for returning a node-set 
> with 0 or more nodes in it. Each node MUST be of the type specified by 
> iteratorVariableType.
> 
> If parallel equals false then each node would be assigned, serially and 
> in document order, to the variable created in an implicit local scope by 
> the attribute iteratorVariableName and the activity would be executed. 
> After the activity successfully completes the variable would be assigned 
> to the next node and the activity run again.
> 
> If parallel equals true then a series of parallel scopes, with the same 
> operational semantics as parallel executing event handlers, equal in 
> number to the number of nodes in the node-set would be created and each 
> node would be assigned to a variable local to each of the scopes.
> 
> Note that the scope in which the iterator variable is defined is local 
> to the foreach activity and does not contain either an implicit fault or 
> compensation handler. The lack of these handlers is very similar to the 
> logic that was discuss at the 6/2004 F2F for issue 126 <#Issue126>.
> 
> For example:
> 
>    
> 
>  foreach iteratorVariableName="anOrder" iteratorVariableType="b:ar"/ 
> 
>                expression  
> 
>
expressionLanguage="http://www.w3.org/TR/1999/REC-xpath-19991116";  
> 
>                     parallel="false" 
> 
>          $orderManifest/somePart/ordermanifest/orders 
> 
>       ... 
> 
> Would be equivalent to:
> 
>    
> 
>  scope 
> 
>      variables 
> 
>         variable name="anOrder" type="b:ar" 
> 
>         variable name="currentInstanceNum" type="xs:int" 
> 
>      sequence 
> 
>         assign 
> 
>            replace 
> 
>               from expressionLanguage="static" 
> 
>                  "1" 
> 
>               to expressionLanguage="xpath" 
> 
>                  $currentInstanceNum 
> 
>         while 
> 
>            condition expressionLanguage="xpath" 
> 
>               $currentInstanceNum <=
count($orderList/somePart/ordermanifest/orders) 
> 
>            sequence 
> 
>               assign 
> 
>                  replace 
> 
>                     from expressionLanguage="xpath" 
> 
>
$orderList/somePart/(ordermanifest/orders)[$currentInstanceNum] 
> 
>                     to expressionLanguage="xpath" 
> 
>                        $anOrder 
> 
>               assign 
> 
>                  replace 
> 
>                    from expressionLanguage="xpath" 
> 
>                       $currentInstanceNum+1 
> 
>                    to expressionLanguage="xpath" 
> 
>                       $currentInstanceNum 
> 
>               ... 
> 
> 
> *Links:* Yaron Y. Goland, 25 Mar 2004 
> <http://lists.oasis-open.org/archives/wsbpel/200403/msg00215.html> Yaron 
> Y. Goland, 25 Mar 2004 
> <http://lists.oasis-open.org/archives/wsbpel/200403/msg00216.html>
> *Changes:* 16 Jul 2004 - new issue
> 
> To comment on this issue, 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 - 147 - [anything]" or is a reply to 
> such a message. If you want to formally propose a resolution, please 
> start the subject line "Issue - 147 - 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).
> 
> 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]