[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue 6 - Rough draft of proposal for vote
A very common business process design pattern is to have multiple simultaneous actions where only one of the actions needs to complete in order for the process to continue. A classic example is a search operation. The proposal given below enables the programmer to directly express this pattern in the BPEL process. The schema for flow would change to: <flow standard-attributes orJoin="Boolean"?> standard-elements <links>? <link name="ncname">+ </links> activity+ </flow> Section 12.5 Change: A flow completes when all of the activities in the flow have completed. To: The orJoin attribute controls the behavior of the flow. If orJoin is set to false then the flow completes when all of the activities in the flow have completed. The default value of orJoin is false. If orJoin is set to true then the flow successfully completes when at least one activity completes, any uncompleted activities are immediately terminated as defined in section 13.4.2. The phrase "at least one" is used in the previous sentence to account for the inherent difficulties in determining which activity completes first in a parallel execution environment. As such it is at least theoretically possible that more than one activity could successfully complete in an orJoin="true" flow before termination of uncompleted activities begins. When an orJoin="true" flow successfully completes, as previously defined, its compensation handler is instantiated.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]