WS BPEL issues list

This file last updated 22:20 28 Aug 2006 (UTC)

This is the final version of the main issues list for the OASIS Web Services Business Process Execution Language Technical Committee covering issues raised in the progresstion of the original input document to the Public Review text of WS-BPEL 2.0, in August 2006. A new issues list has been created for comments arising from the Public Review. Issues in that list are distinguished by starting with "R".

Procedures for handling of issues were defined in the issues process document, and the procedure for issues submitted after 15 August 2004.

It was resolved at the TC meeting on 19 July 2006 that any issues submitted after 21 July 2006 would not be considered for opening until the public review period had started. Only one issue was submitted during that period, and it has been transferred to review issues list.

All issues, in order

IssueIDTitleStatusIn specDate addedLast changedRevisitable
Issue 1Permeability of scopesresolved5 Oct 200425 Jun 20036 Oct 2004 
Issue 2Sub-Functionsresolvedno change25 Jun 200310 Dec 2004 
Issue 3Current state influence in compensation handlersresolved4 June 200425 Jun 20039 Jun 2004 
Issue 4Dynamic parallel processing resolvedNo change25 Jun 200319 Sep 2005Yes
Issue 5Suspend/resumeresolvedno change25 Jun 200311 Feb 2004 
Issue 6Completion ConditionresolvedNo change25 Jun 200319 Sep 2005 
Issue 6.1A low-level mechanism for completion of the flow activityresolvedNo change 12 Sep 2005Yes
Issue 6.2A high-level mechanism for completion of the flow activityresolved13 Dec 2005 13 Dec 2005 
Issue 6.3Partial Termination of a Scoperesolvedno change 31 May 2005 
Issue 6.4Concurrency and Expression EvaluationresolvedNo change 6 Oct 2005Yes
Issue 7Import resolved4 June 200425 Jun 20039 Jun 2004 
Issue 8Non-mutability of correlation setsresolvedNo change25 Jun 200322 Jun 2004 
Issue 9Static analysisresolved15 Mar 200625 Jun 200322 Mar 2006 
Issue 10Serialization of compensationresolved19 Nov 200425 Jun 200319 Nov 2004 
Issue 11Query in <to> close should allow assigning to new locationsresolved11 Feb 200625 Jun 200322 Feb 2006 
Issue 11.1Making <assign> truly extensibleresolved1 Sep 2005 (alex)5 Jan 200512 Sep 2005 
Issue 12XML types and WS InteractionsresolvedNo change25 Jun 200319 May 2005 
Issue 12.1XML types and WS Interactions (Part of)resolvedMarch 0518 Jan 200529 Apr 2005 
Issue 12.2Accessing messageType properties under issue 12resolvedno change7 Jan 20054 Mar 2005 
Issue 13Future Usage of XPATH 2.0 and XQuery 1.0resolved4 June 200425 Jun 200326 Jul 2004 
Issue 14Restriction on join conditionsresolvedno change25 Jun 20034 Feb 2004 
Issue 15WSDL MEPsresolvedNo change25 Jun 20036 Oct 2004 
Issue 16Ensuring exactly onceresolvedno change25 Jun 200310 Dec 2003 
Issue 17Asynchronous operationsresolvedno change25 Jun 200327 Jan 2004 
Issue 18BPEL Visual Bindingresolvedno change25 Jun 200311 Feb 2004 
Issue 19Multiple properties associated to a single property aliasresolvedno change25 Jun 200311 Feb 2004 
Issue 20installing compensation handlers for faulted scopesresolvedno change25 Jun 20031 Oct 2003 
Issue 21faultHandlers to be renamed cancellationHandlersresolvedno change25 Jun 20033 Mar 2004 
Issue 22Implicit <sequence> macroresolvedno change25 Jun 20034 Feb 2004 
Issue 23Rationale for sequence vs. flow resolved4 June 200425 Jun 20039 Jun 2004 
Issue 24Separate schemas for executable vs abstract BPELresolvedno change25 Jun 200311 May 2004 
Issue 25Consistent enablement of compensation handlersresolved1.34, 19 June 200426 Jun 200320 Jun 2004 
Issue 26Correlating use with receive/replyresolvedno change26 Jun 200315 Jan 2004 
Issue 27Setting link status in case of transition conditionresolved4 June 200426 Jun 20039 Jun 2004 
Issue 28Simplification of join conditionresolvedNo change26 Jun 200311 Nov 2005 
Issue 29Simplification of XPath expressionsresolved7 May 200526 Jun 20039 May 2005 
Issue 30Support for coordination protocolresolved1.34, 19 June 200426 Jun 200320 Jun 2004 
Issue 31Unique identifier for establishing new correlationresolvedNo change26 Jun 200322 Jun 2004Yes
Issue 32Link Semantics in Event Handlersresolved4 June 20043 Jul 20039 Jun 2004 
Issue 33Race condition before correlation set is establishedresolved1.34, 19 June 20049 Jul 200320 Jun 2004 
Issue 34Dependency on Proprietary Specificationsresolved16 Aug 20049 Jul 200317 Aug 2004 
Issue 35Support for modelingresolvedno change9 Jul 200311 Feb 2004 
Issue 36Multiple instances of event handlerresolved4 June 20049 Jul 20039 Jun 2004 
Issue 37Initiating Correlation Set More Than Onceresolved1.35, 30 June 200411 Jul 200315 Jul 2004 
Issue 38Directed Activity Graph and block structuredresolvedno change13 Jul 20034 Feb 2004 
Issue 39Inconsistent syntax for query attribute values in spec examplesresolved4 June 200416 Jul 20039 Jun 2004 
Issue 40attribute name "variable" or "message"resolvedno change24 Jul 20039 Jun 2004 
Issue 41onMessage handler definitionresolved4 June 200431 Jul 20039 Jun 2004 
Issue 42Need for Formalismresolvedno change31 Jul 20033 Mar 2004yes
Issue 43Setting up Periodic Alarmsresolved16 Aug 200431 Jul 200317 Aug 2004 
Issue 44portType is duplicated on Invoke activity and partnerLinkTyperesolved16 Aug 20045 Aug 200317 Aug 2004 
Issue 45Wording of "while" activityresolved4 June 20047 Aug 20039 Jun 2004 
Issue 46Namespace for the document fragment representing a partresolved4 June 20047 Aug 20039 Jun 2004 
Issue 47Which Version of WSDL should we use?resolvedno change8 Aug 200315 Oct 2003 
Issue 48XML Transform SupportresolvedNo change12 Aug 200316 Nov 2005 
Issue 49Disambiguating <receive>s to <reply> toresolvedno change12 Aug 200327 Jan 2004 
Issue 50Semantics for "dangling receive"resolved4 June 200412 Aug 20039 Jun 2004 
Issue 51Section 9.3.1 & Schema Validationresolved18 Oct 200518 Aug 200320 Oct 2005 
Issue 52Specify how flows in the same process send messages to each otherresolvedNo change18 Aug 200323 Sep 2004 
Issue 53Include Business Transaction Management (BTM) constructsresolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 54Construct to hold Business transaction contexts resolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 55Business transaction propagation resolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 56Business transaction creationresolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 57Business transaction terminationresolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 58Selective termination of business transaction participantsresolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 59BPEL process as business transaction participant resolved1.34, 19 June 200426 Aug 200320 Jun 2004Yes
Issue 60process categoryresolvedno change8 Sep 200311 Feb 2004 
Issue 61process priorityresolvedno change8 Sep 200311 Feb 2004 
Issue 62Event handlers and Serializable Scopesresolved4 June 200412 Sep 20039 Jun 2004 
Issue 63Support of Arrayresolvedno change15 Sep 200322 Apr 2004 
Issue 64Explicit declaration of process instantiationresolvedNo change15 Sep 200314 Oct 2004 
Issue 65Multiple partners of a partner typeresolvedNo change15 Sep 200322 Jun 2004 
Issue 66Zero or multiple matches of correlation setresolvedNo change19 Sep 200322 Jun 2004 
Issue 67Clarify semantics of serializable scopesresolved4 June 200424 Sep 20039 Jun 2004 
Issue 68catch syntax brokenresolved4 June 200426 Sep 20039 Jun 2004 
Issue 69When to clear link statusresolved4 June 200427 Sep 20039 Jun 2004 
Issue 70suppressJoinFailure default valueresolved4 June 200430 Sep 20039 Jun 2004 
Issue 71Removal of wsdl:messageresolvedNo change1 Oct 200314 Oct 2004 
Issue 72What to do with WS-I BP1.0? resolved4 June 20041 Oct 20039 Jun 2004 
Issue 73"wsdl:fault" element not allowed with one-way operationresolved4 June 20046 Oct 20039 Jun 2004 
Issue 74Ambiguity in join condition definitionresolved4 June 20049 Oct 20039 Jun 2004 
Issue 75Locally Scoped partnerLink declarationsresolved1.35, 30 June 200421 Oct 200315 Jul 2004 
Issue 76Mandating either Pessimistic or Optimistic Static Analysisresolvedno change21 Oct 200312 Nov 2003 
Issue 77BPEL cannot handle some SOAP header bindingsresolvedno change21 Oct 200310 Dec 2003 
Issue 78New value for initiate on multi-startsresolvedNo change22 Oct 200322 Jun 2004 
Issue 79Serializable scopes do not need to be leaf scopesresolved4 June 200422 Oct 20039 Jun 2004 
Issue 80Clarify Fault Handler Selection When Fault Data is Absentresolved4 June 200431 Oct 20039 Jun 2004 
Issue 81Are start activities that aren't createInstance activities legal?resolved7 May 20053 Nov 20039 May 2005 
Issue 82Description of abstract processes in spec.resolved10 Oct 20053 Nov 20039 Nov 2005 
Issue 82.1Syntax and Schema Validation Design for Abstract and Executable BPELresolved27 Feb 2006 5 May 2006 
Issue 82.2Another abstract usage profileresolved21 Dec 2005 3 Jan 2006 
Issue 82.3AP 1.1 definition to be refactored as a profileresolved26 Jul 2006 31 Jul 2006 
Issue 83Garbage Collecting Compensation Handlersresolvedno change3 Nov 200320 May 2004Yes
Issue 84Require Static Analysis Description & Listresolved31 July 20065 Nov 20031 Aug 2006 
Issue 85Multiple links with the same source and targetresolved4 June 200417 Nov 20039 Jun 2004 
Issue 86Addressing Interoperability / Portability - SOAP 1.2resolved9 July 200525 Nov 200312 Jul 2005 
Issue 87Optional SOAP HeadersresolvedNo change27 Nov 20038 Dec 2004Yes
Issue 87.1Optional SOAP Headers (subissue: generic mechanism)resolvedNo change 8 Dec 2004 
Issue 88Import Errataresolved30 Oct 20053 Dec 20037 Dec 2005 
Issue 89Handling Unrecognized Query/Expression Languagesresolved16 Nov 20047 Jan 200417 Nov 2004 
Issue 90Assignment of external data into a variableresolvedno change9 Jan 200429 Apr 2004Yes
Issue 91Nested Activities in Abstract ProcessesresolvedNo change22 Jan 200427 Apr 2005 
Issue 92Mandatory & Optional BPEL Extensibilityresolved17 Oct 200522 Jan 200417 Oct 2005 
Issue 92.1Do not associate XML namespaces with extensionIDsresolvedNo change 20 Jul 2005 
Issue 92.2Specify ignore behavior for optional but unsupportedelements and attributesresolved9 July 2005 12 Jul 2005 
Issue 92.3Allow BPEL specified elements and attributes to be extendedresolved17 Oct 2005 9 Nov 2005 
Issue 92.4Add a new section, 13.7 to define extensionsresolved17 Oct 2005 9 Nov 2005 
Issue 92.5Allow extensions to be declared under scope elementsresolvedNo change 20 Jul 2005yes
Issue 92.6need for an explicit syntax token to apply extension semantics from a NS URIresolved17 Oct 2005 9 Nov 2005 
Issue 92.7request to add an optional schemaLocation attribute to <extension>resolvedNo change 20 Jul 2005Yes
Issue 93Use of XML types in faultsresolved3 April 0522 Jan 200414 Apr 2005 
Issue 94Allow both "compensate" and other activities in compensation or fault handlerresolved1.35, 30 June 20042 Feb 200415 Jul 2004 
Issue 95Rethrow a Faultresolved4 June 20043 Feb 20049 Jun 2004 
Issue 96Engine-managed correlation setsresolvedno change3 Feb 200418 May 2005 
Issue 96.1filterOnPartnerRoleresolvedNo change 23 Jun 2005Yes
Issue 97Optional Variable References in Abstract ProcessesresolvedNo change10 Feb 200427 Apr 2005 
Issue 98What version number are we working towardsresolved19 Nov 200420 Feb 200419 Nov 2004 
Issue 99Triggering activities for abstract processesresolved30 Nov 20053 Mar 20045 Dec 2005 
Issue 100When should XML be validated?resolvedNo change4 Mar 200423 Jun 2004 
Issue 101Local variables overriding enclosing scoperesolved4 June 20045 Mar 20049 Jun 2004 
Issue 102Fixing Typos in getVariable*() in BPEL examplesresolved26 July 20059 Mar 200427 Jul 2005 
Issue 103Standardizing $varName syntax for XPath to refer to a BPEL variableresolved26 July 20059 Mar 200427 Jul 2005 
Issue 104incorrect target link names in 12.5.3. Flow Graphresolved4 June 200410 Mar 20049 Jun 2004 
Issue 105XML namespaces used in spec and examples need to be definedresolved16 August 200617 Mar 200418 Aug 2006 
Issue 106ASSERT activity.resolvedNo change18 Mar 200423 Jun 2004 
Issue 107Opacity and the meaning of nothingness in abstract processesresolved30 Nov 200518 Mar 20045 Dec 2005 
Issue 108Parallel Compensationresolved19 Nov 0420 Mar 200424 Nov 2004 
Issue 109Compatibility between Abstract and Executable Processesresolved30 Nov 200524 Mar 20045 Dec 2005 
Issue 110Issues with the Pattern Attributeresolved16 Feb 200624 Mar 200421 Apr 2006 
Issue 111Extension Activitiesresolved1 Sep 2005 (alex)25 Mar 200412 Sep 2005 
Issue 111.1Fixing up extensibility syntax in BPEL by using <annotation> patternresolvedOctober 20054 Mar 200511 Oct 2005 
Issue 112Input/Output Elements on Messaging Activitiesresolved25 Apr 0525 Mar 200430 May 2005 
Issue 113Optional Port TypesresolvedNo change25 Mar 200423 Jun 2004 
Issue 114Multiple Correlation Setsresolved1.35, 30 June 200431 Mar 200415 Jul 2004 
Issue 115Revise content of Appendix CresolvedNo change1 Apr 200423 Sep 2004 
Issue 116<process> element should be optionalresolvedNo change1 Apr 200427 Oct 2004 
Issue 117Link Name Scopingresolved4 June 200414 Apr 20049 Jun 2004 
Issue 118When are Correlation Sets Mandatory?resolvedno change15 Apr 20047 Jul 2004 
Issue 119Transition Conditions and Invoke Fault Handlersresolved15 Aug 0519 Apr 200430 Aug 2005 
Issue 120What are the semantics when an initial <receive> has no correlation set?resolved16 Feb 200619 Apr 200422 Feb 2006 
Issue 120.1What happens when ANY receive/pick/etc. has no correlation set?resolvedNo change 10 Jan 2006 
Issue 120.2Correlation and zero part messagesresolvedNo change 10 Jan 2006 
Issue 121<finally> constructresolvedNo change20 Apr 200414 Dec 2004Yes
Issue 122Clarify wording for Message Exchange PatternsresolvedNo change20 Apr 200423 Jun 2004 
Issue 123Matching <reply> with <receive>resolved6 Mar 200618 May 20049 Mar 2006 
Issue 124PartnerLink/URI setter/getter functionresolvedno change18 May 200428 Dec 2004Yes
Issue 125Literal and Expression Assignment Semanticsresolved9 Feb 200625 May 20049 Feb 2006 
Issue 126Event Handlers with local partnerLinks & Correlation Setsresolved15 Aug 0510 Jun 200430 Aug 2005 
Issue 127Locally Scoped Partnersresolvedno change11 Jun 200412 Jun 2004 
Issue 128WS-I BP Incompatible WSDL Importresolved16 Aug 200414 Jun 200417 Aug 2004 
Issue 129Inconsistent Name Attribute Usage in PartnerLinkTyperesolved16 Nov 200414 Jun 200417 Nov 2004 
Issue 130Remove Partner Elementresolvedbefore 20 Aug 056 Jul 200424 Aug 2005 
Issue 131revisiting section 9.3.1 "Type Compatibility in Assignment"resolvedNo change13 Jul 200416 Jul 2004 
Issue 132In-line Variable Initializationresolved19 Aug 0515 Jul 200430 Aug 2005 
Issue 133Access to unnamed fault bodiesresolvedNo change15 Jul 200419 May 2005Yes
Issue 134Non-Integer XPATHSresolved21 Oct 200415 Jul 200423 Oct 2004 
Issue 135Clarifying forcedTermination Handlerresolved19 Nov 200415 Jul 200419 Nov 2004 
Issue 136If-Then-Else Activityresolved23 Aug 2005 (prasad)15 Jul 200412 Sep 2005 
Issue 137Making properties consistent with variable valuesresolved25 Nov 0415 Jul 200425 Nov 2004 
Issue 138Properties of type elementresolved15 Aug 0515 Jul 200430 Aug 2005 
Issue 139PartnerLink Semanticsresolved15 Aug 0515 Jul 200430 Aug 2005 
Issue 139.1How/when BPEL can change partner role EPRresolved15 Aug 05 30 Aug 2005 
Issue 140Until Activityresolved30 June 200515 Jul 200430 Nov 2005 
Issue 141Standard Fault FormatresolvedNo change15 Jul 200423 Jun 2005 
Issue 142Break & ContinueresolvedNo change15 Jul 200419 Sep 2005Yes
Issue 143StaticSwitch Activityresolvedno change15 Jul 20043 May 2005Yes
Issue 144Defining Undefined BehaviorsresolvedNo change15 Jul 20042 Mar 2006 
Issue 145Properties on Non-Message Variablesresolved10 Feb 200515 Jul 200416 Dec 2004 
Issue 146Making tVariable Extensibleresolved8 Sept 200415 Jul 200415 Sep 2004 
Issue 147Serial and Parallel For-Eachresolved15 Aug 0516 Jul 200430 Aug 2005 
Issue 147.1For or Foreach?resolvedincluded in 147 26 May 2005 
Issue 147.2Should the for activity be able to decrement as well as increment?resolvedincluded in 147 26 May 2005 
Issue 147.3Are reversed counters an error?resolvedincluded in 147 26 May 2005 
Issue 147.4Should there be a single activity or a serial & parallel activity?resolvedincluded in 147 1 Jun 2005 
Issue 147.5Should foreach contain a 'scope' activity?resolvedincluded in 147 26 May 2005 
Issue 147.6Should start be optional?resolvedincluded in 147 1 Jun 2005 
Issue 148Explicitly state that solicit/response & notification aren't supported by BPELresolved30 June 200517 Jul 200412 Jul 2005 
Issue 149adding formal <documentation> support to BPEL resolved8 Sept 200420 Jul 200415 Sep 2004 
Issue 150Message variables on invoke and replyresolved15 Aug 0520 Jul 200430 Aug 2005 
Issue 151Allow a new process instance to be created by "pick onAlarm until"resolvedno change26 Jul 200415 Sep 2004yes
Issue 152Clarification of usage of "reference-scheme" attribute of "service-ref" elementresolved3 Dec 200427 Jul 20044 Dec 2004 
Issue 153getVariableData xpath function should return node sets of any size resolvedNo change27 Jul 200413 Jul 2005 
Issue 154doc/lit & multiple body partsresolved15 Aug 0528 Jul 200430 Aug 2005 
Issue 155complexType Variablesresolved10 Feb 200528 Jul 20049 Dec 2004 
Issue 156Cleaning Up XPATH in BPELresolvedNo change31 Jul 200412 Mar 2005 
Issue 157Cleaning up copyresolved7 Nov 200531 Jul 20049 Nov 2005 
Issue 158Changing Spec Structure from 3 part to 2 partresolved1 Feb 20064 Aug 20046 Feb 2006 
Issue 159Ordering specification sections by dependencyresolvedNo change4 Aug 200411 Nov 2005 
Issue 160facilities to define XML schema validation boundaryresolved7 May 200510 Aug 20049 May 2005 
Issue 160.1Whether we need to define a standard fault body for "bpws:invalidVariables" faultresolvedNo change17 February 200523 Jun 2005 
Issue 161Explicit conformance statementsresolvedNo change8 Sep 200429 Sep 2004Yes
Issue 162Unique Activity Names for Compensateresolved11 January 20068 Sep 200421 Jun 2006 
Issue 163languageExecutionFaultresolved23 Aug 0522 Sep 200430 Aug 2005 
Issue 164Variable Types for Throw and CatchresolvedDuplicate23 Sep 200414 Oct 2004 
Issue 165clarification of the default NS URI for expression and query languageresolved3 Dec 200423 Sep 20044 Dec 2004 
Issue 166Does atomicity in assign imply variable locking?resolved25 Nov 0429 Sep 200425 Nov 2004 
Issue 167Rethrow semantics clarificationresolved10 Feb 20054 Oct 200427 Oct 2004 
Issue 168Semantics of instance creationresolvedNo change4 Oct 20048 Dec 2004 
Issue 169Transition condition error handling clarificationresolved18 Oct 200518 Oct 200420 Oct 2005 
Issue 170How to handle faultcode, faultstring, and faultactorresolved10 Feb 200518 Oct 20043 Dec 2004 
Issue 171faultName should be optional for invoke fault handlersresolved10 Feb 200518 Oct 200415 Dec 2004 
Issue 172Clarification/correction of correlation sets example in sec. 10.2resolved25 Nov 0418 Oct 200425 Nov 2004 
Issue 173Value of initiate attributes in Multiple Start Activities exampleresolved25 Nov 0420 Oct 200425 Nov 2004 
Issue 174Are multiple imports with the same namespace allowed?resolved30 Oct 200523 Oct 200430 Oct 2005 
Issue 175Supporting WSDL Overloading in BPELresolved25 Nov 0427 Oct 200425 Nov 2004 
Issue 176Removing Section 4resolved19 Nov 200427 Oct 200419 Nov 2004 
Issue 177Inconsistent optional/required nature of @VariableresolvedNo change28 Oct 200412 Jul 2005 
Issue 178Correlation sets visible to an event handlerresolved25 Nov 042 Nov 200425 Nov 2004 
Issue 179Type Compatibility in Assignment of EPRsresolvedNo change12 Nov 200424 Nov 2004 
Issue 180Clarification of WSDL fault declarations and Reply in BPELresolvedNo change4 Dec 200420 Jul 2005 
Issue 181uninitializedVariable cleanupresolved9 July 200510 Dec 200412 Jul 2005 
Issue 182Adding body to BPEL faultsresolved30 June 20056 Jan 200512 Jul 2005 
Issue 183Ambiguity in Rethrow Semanticsresolved14 July 20057 Jan 200516 Jul 2005 
Issue 184Fully Specify Examplesresolved15 Mar 200618 Jan 200522 Mar 2006 
Issue 185Clarify relationship between fault name and type of fault dataresolvedincluded in issue 18220 Jan 20058 Jun 2005 
Issue 186Which WS-I BP version should be referencedresolvedbefore 20 Aug 0520 Jan 200524 Aug 2005 
Issue 187Legality of Explicitly throwing or rethrowing Standard faultsresolved14 July 200520 Jan 200516 Jul 2005 
Issue 188Dead Path Elimination and Join Conditionsresolvedno change29 Jan 200515 Feb 2005Yes
Issue 189Eliminate JoinConditions always evaluating only after all source activities are completeresolvedno change29 Jan 20055 Feb 2005Yes
Issue 190BPEL Internal Faultsresolved11 January 20063 Feb 200512 Jan 2006 
Issue 191Receive/createProcess/Rendezvous from within While loopresolvedNo change4 Feb 200512 Jan 2006 
Issue 192Extensibility of <partnerLinkType>, <role>, <property> and <propertyAlias>resolved1 Sep 2005 (alex)19 Feb 200512 Sep 2005 
Issue 193Clarify why JoinConditions are evaluated after source activities completeresolved18 Oct 200527 Feb 200520 Oct 2005 
Issue 194Faults for uninitialized partnerLinksresolved14 July 20054 Mar 200516 Jul 2005 
Issue 195Incompatible WSDL schema versions and BPEL examplesresolved22 Feb 20064 Mar 20055 Mar 2006 
Issue 196tQuery and tExpression are not fully extensibleresolved26 July 200511 Mar 200527 Jul 2005 
Issue 197Un-initializing BPEL variablesresolvedNo change12 Mar 200521 Oct 2005Yes
Issue 198Why do multi-starts all have to have identical correlation sets?resolved9 July 200512 Mar 200512 Jul 2005 
Issue 199Message Variable Naming Schemeresolved26 July 200516 Mar 200527 Jul 2005 
Issue 200Link semantics does not preserve control dependenciesresolved2 Sep Aug 2005 (prasad)5 Apr 200527 Sep 2005 
Issue 201XPATH Access to Propertiesresolvedno change7 Apr 200527 Sep 2005Yes
Issue 202Use of 'Rendezvous' term is illegalresolved19 Aug 0512 Apr 200530 Aug 2005 
Issue 203How to define a propertyAlias for a messageTyperesolved26 July 200515 Apr 200523 Mar 2006 
Issue 204clarify the relationship between eventHandler and compensationHandlerresolved13 Dec 200520 Apr 200513 Dec 2005 
Issue 205Schema for tProcess doesn't reflect removal of instance compensationresolvedNo change22 Apr 20059 May 2005 
Issue 206Exit Activity (Immediately Terminating a Service Instance)resolved19 Aug 0527 Apr 200530 Aug 2005 
Issue 207Compensation Model Clarificationsresolved21 Feb 200617 May 200522 Feb 2006 
Issue 207.1Generalize term compensation instance handlerresolved21 Feb 2006 22 Feb 2006 
Issue 208Partner Link EquivalenceresolvedNo change20 May 200520 May 2005 
Issue 209Inconsistent repeated compensation fault behaviorresolved6 Dec 200520 May 20056 Dec 2005 
Issue 210Cleaning up namingresolved2 Sep 2005 (prasad)24 May 200512 Sep 2005 
Issue 211Proposal for container node to simplify XML variables and message partsresolvedNot accepted2 Jun 200512 Sep 2005 
Issue 212Must the contents of a message be received?resolvedNot accepted2 Jun 200520 Jul 2005 
Issue 213RepeatEvery is not meaningful on Pickresolved1 Sep 2005 (alex)3 Jun 200512 Sep 2005 
Issue 214Input/Output Elements on onEventresolved6 Dec 20053 Jun 20056 Dec 2005 
Issue 215Conflicting Receive in Parallel Foreach?resolvedNo change4 Jun 200516 Nov 2005 
Issue 216Compensation Handling and forEachresolved21 Feb 20066 Jun 200522 Feb 2006 
Issue 217Need new name for <compensate>resolved21 Feb 20068 Jun 200522 Feb 2006 
Issue 218Isolated scopes and partnerLinks, properties and correlation setsresolved6 Mar 200620 Jun 20059 Mar 2006 
Issue 219correlationViolation from bad propertyAlias ?resolved30 Oct 200523 Jun 200530 Oct 2005 
Issue 220Is the elephant allowed to throw Standard Faults in more cases than specified?resolvedNo change23 Jun 200512 Jul 2005 
Issue 221Questions around bpel:missingReplyresolved25 Feb 200630 Jun 20052 Mar 2006 
Issue 222What's the state of a receive after a correlationViolation?resolved7 Nov 200519 Jul 20059 Nov 2005 
Issue 223Replying to faulted Repliesresolved6 Mar 200619 Jul 20059 Mar 2006 
Issue 224While Activityresolved7 Nov 200511 Aug 20059 Nov 2005 
Issue 225Links Crossing Boundaries of Isolated Scopesresolved7 Nov 200511 Aug 20053 Feb 2006 
Issue 226Clarification of lifecycle of compensation handler and its fault handlingresolved21 Feb 200616 Aug 200522 Feb 2006 
Issue 227The messageExchange attribute doesn't handle parallel forEachresolvedNo change24 Aug 200519 Sep 2005 
Issue 228Importing propertyAliasesresolved2 Mar 20068 Sep 20052 Mar 2006 
Issue 229Fault handling and compensation handling allows selective compensation of child scopesresolved21 Feb 200626 Sep 200522 Feb 2006 
Issue 230Outgoing link from a fault handlerresolved23 Dec 200521 Oct 20053 Jan 2006 
Issue 231getVariableProperty propertyName parameter needs clarificationresolved6 Mar 200630 Oct 20059 Mar 2006 
Issue 232repeatUntil descriptionresolved25 Feb 20065 Nov 20052 Mar 2006 
Issue 233Invoking Compensation Handler From Termination Handlerresolved23 Dec 200510 Nov 20053 Jan 2006 
Issue 234Link Crossing Termination Handler Boundaryresolved7 Mar 200615 Nov 20059 Mar 2006 
Issue 235More import errata resolved7 Mar 200617 Nov 20059 Mar 2006 
Issue 236Clarification on CorrelationViolation for Outbound Messagesresolved7 Mar 200623 Nov 20059 Mar 2006 
Issue 237Does <if> need <then>resolved25 Feb 20061 Dec 20052 Mar 2006 
Issue 238No description for exit, rethrowresolved2 Mar 20061 Dec 20052 Mar 2006 
Issue 239WSDL definitions in specification examples are not Schema-validresolved13 Mar 20066 Dec 200514 Mar 2006 
Issue 240Glossary term to encompass variable type, element, messageTyperesolved16 August 20067 Dec 200518 Aug 2006 
Issue 241clarification of onevent resource resolutionresolved15 Mar 200610 Jan 200622 Mar 2006 
Issue 242Remove required scope childrenresolvedNo change21 Jan 20062 Mar 2006 
Issue 243serial and parallel forEach are different resolvedNot accepted21 Jan 20069 Mar 2006 
Issue 244Inconsistent definitions of conflictingRequestresolved14 Mar 20068 Feb 200614 Mar 2006 
Issue 245Clarification on repeatEveryresolved15 Mar 200628 Feb 200622 Mar 2006 
Issue 246Instances of undefined behaviourresolved20 Mar 20069 Mar 200622 Mar 2006 
Issue 247What goes into the static analysis table?resolved31 July 200615 Mar 20061 Aug 2006 
Issue 248clarification the namespace nature of child element under <extensionActivity>resolved26 June 200620 Mar 200626 Jun 2006 
Issue 249Can multi-start with correlations use implicit correlation?resolvedMay 200621 Mar 200622 Jun 2006 
Issue 250How do we deal with extensionActivities that contain other activities that have <sources> or <targets>? resolved30 May 200621 Mar 200630 May 2006 
Issue 251Calling out the fault to be thrown when optional XML validation occursresolved22 Mar 200622 Mar 200625 Mar 2006 
Issue 252Behaviour when return value of expressions is incorrect is not definedresolved30 May 200623 Mar 200630 May 2006 
Issue 253remove type compatibility requirementresolved23 Mar 200623 Mar 200625 Mar 2006 
Issue 254XPath MUST be supported by a conforming processorresolved23 Mar 200623 Mar 200625 Mar 2006 
Issue 255Text from 8.4 about dynamicity of XSLT should be removedresolved30 May 200625 Mar 200630 May 2006 
Issue 256ExtensionActivity and Start Activitiesresolved30 May 200629 Mar 200630 May 2006 
Issue 257Wrapper Element for fromPart & toPartresolved30 May 20063 Apr 200630 May 2006 
Issue 258UninitializedVariable Fault for Missing Message Partsresolved30 May 20063 Apr 200630 May 2006 
Issue 259Rename countCompletedBranchesOnly in forEachresolved30 May 20065 Apr 200630 May 2006 
Issue 260Confusing pargraph describing on suppressJoinFailure mechanismresolvedNot accepted7 Apr 20061 May 2006 
Issue 261Correlation Set Normative Text needs to move out of Example Descriptionsresolved8 June 20067 Apr 20069 Jun 2006 
Issue 262Use of CamelCase Conceptual descriptive termsresolved15 June 200614 Apr 200615 Jun 2006 
Issue 263Is CorrelationSet Consistency Violation possible?resolved8 June 200614 Apr 20069 Jun 2006 
Issue 264<correlationSet> specifications on <invoke> with @initiate="no" & @pattern="response" should be invalidresolvedNot accepted14 Apr 20061 May 2006 
Issue 265Preventing explicit declaration of forEach counter variable resolved30 May 200614 Apr 200630 May 2006 
Issue 266Clarification needed on extensibleAssign resolved8 June 200614 Apr 20069 Jun 2006 
Issue 267Fault for No Process InstanceresolvedNo change14 Apr 200619 Apr 2006Yes
Issue 268Support for multiple children within literal variantresolved8 June 200621 Apr 20069 Jun 2006 
Issue 269renaming <extensibleAssign> resolved8 June 200621 Apr 20069 Jun 2006 
Issue 270Copying a message variable with uninitialized partsresolved26 June 200626 Apr 200626 Jun 2006 
Issue 271ConflictingReceive with Different Correlation Setsresolved8 June 200628 Apr 20069 Jun 2006 
Issue 272Status of links after error in transitionConditionresolved8 June 200628 Apr 20069 Jun 2006 
Issue 273Removing capability of <empty> to execute prior to createInstanceresolved30 May 20062 May 200630 May 2006 
Issue 274orphaned IMA in compensationHandlerresolved8 June 20062 May 20069 Jun 2006 
Issue 275"immediately enclose" and compensationresolved8 June 20062 May 20069 Jun 2006 
Issue 276language in 12.3.3.1 addressing name uniqueness for target scope/activities of <compensateScope>resolved5 May 20063 May 200610 May 2006 
Issue 277Clarification of fault handling at process levelresolved8 June 20063 May 20069 Jun 2006 
Issue 278Add "Enforce Statically" statements to descriptions in section 5.2resolvedno change3 May 200622 Jun 2006 
Issue 279changes to rethrow wording resolved8 June 20063 May 20069 Jun 2006 
Issue 280Clarification needed on <throw>'s @variableresolved16 August 20064 May 200618 Aug 2006 
Issue 281Correct inconsistency in 12.5 resolved4 May 20064 May 20065 May 2006 
Issue 282Achieve consistency in extension container elementresolved5 May 20065 May 200612 Jun 2006 
Issue 283clarification on what happen to isolation domain sharing when a CH is called from FCT-Handler of an isolated scoperesolved8 June 20065 May 20069 Jun 2006 
Issue 284target namespace URI updateresolved5 May 20066 May 200614 May 2006 
Issue 285General form of opaque <from> clashes with opaque expression in <from>resolved15 June 20067 May 200615 Jun 2006 
Issue 286Import in AP: basic executable completionresolved8 June 20068 May 20069 Jun 2006 
Issue 287Uniqueness of Scope Namesresolved26 June 200614 May 200626 Jun 2006 
Issue 288Clarification of DPE and Sequenceresolvednot accepted17 May 20061 Jun 2006 
Issue 289xsd target namespace and abstract profile URI resolved16 August 200617 May 200618 Aug 2006 
Issue 290sample xml doesn't show faultElement as optional attribute on a <catch>resolved8 June 200624 May 20069 Jun 2006 
Issue 291Normative wordings in chapter 16 "Security Consideration"resolved27 July 20061 Jun 200630 Jul 2006 
Issue 292Inconsistent statements regarding start activitiesresolved27 July 20062 Jun 200630 Jul 2006 
Issue 293Assigning from/to partnerLinks requires additional static analysis statementsresolved15 June 20064 Jun 200615 Jun 2006 
Issue 294Factoring of XML Schema ArtifactsresolvedNo change4 Jun 200614 Jun 2006 
Issue 294.1Clarification of normative status of XML Schemas and decisions on preferred design patternsresolved16 August 2006 18 Aug 2006 
Issue 294.2Clarification namespace usage in Abstract and Executable Processresolved16 August 2006 18 Aug 2006 
Issue 295Create new type for variable namesresolved26 June 20065 Jun 200626 Jun 2006 
Issue 296Make propertyAlias query element qualified in examplesresolved15 June 20065 Jun 200615 Jun 2006 
Issue 297Does correlation require a propertyAlias with messageType attribute?resolved27 July 200610 Jun 200630 Jul 2006 
Issue 298Partner Relationshipsresolved31 July 200610 Jun 20061 Aug 2006 
Issue 299Bug and clarification regarding correlation setsresolved26 June 200612 Jun 200626 Jun 2006 
Issue 300Can <fromParts> and <toParts> be omitted if WSDL message definition does not contain any parts?resolved26 June 200612 Jun 200626 Jun 2006 
Issue 301Uninitialized Partner Linksresolved27 July 200615 Jun 200630 Jul 2006 
Issue 302Declarations that hide others in Executable Completion of Observable Behavior Profile resolved26 Jul 200621 Jun 200631 Jul 2006 
Issue 303Are duplicate faultHandlers allowed?resolved27 July 200622 Jun 200630 Jul 2006 
Issue 304clarification on whether the QName of a fault needs to be unique across all portTypes and operationsresolved1 Aug 200621 Jul 20061 Aug 2006 
Issue 305Remove query language in favor of expression language for <to>resolved16 August 200621 Jul 200618 Aug 2006 
Issue 306keepSrcElement behavior for virtual <assign>'stransferredtransferred4 Aug 200616 Aug 2006 

The colour of the issue title is determined by the status: green=transferred (1 issues), green=resolved (338 issues). (Those numbers count sub-issues as separate.) According to the TC issue procedures (issues process document), the formal status values are "open" and "resolved". The procedure revision for issues submitted after 15 August 2004 implies a provisional status before an issue is open. The other status values are just informational variations on those.

The "revisitable" entry applies to resolved issues where it has been suggested that it may be worth returning to the question in future work, after the completion of the first OASIS TC edition of the WS BPEL specification.


Issue 1: Permeability of scopes

Status: resolved
In spec: 5 Oct 2004
Date added: 25 Jun 2003
Categories: Scopes, State management, Compensation
Origin: Initial requirements log, item 1 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Dieter Roller
Document: BPEL specification
Description:
Currently scopes are "permeable" in the sense that the status of links that are used for activity synchronization is visible outside the scope before the scope completes. This has problematic implications in case the scope faults. Should we support non-permeable scopes, i.e., scopes that make the status of links that are used for activity synchronization invisible outside the scope until the scope completes (normally or abnormally). Should we support the notion of non-permeable scopes? Only non-permeable scopes? Both?
Qualifier: requirement
Resolution: Proposed in Satish Thatte, 18 Jun 2004, decided at San Francisco f-t-f

This is the same proposal that was posted earlier (reproduced below for convenience) with one slight necessary clarification (pointed out by Alex).

Clarification:

The restriction that links cannot cross serializable scope boundaries is now no longer needed. Since serializable scopes are now impermeable, such links cannot cause deadlock. The proposal therefore is to eliminate this restriction. This was already implied in the previous proposal implicitly.

Original proposal restated: The core problem in Issue 1 is that we have no way to control the firing of links in cases where the source activity may be compensated after the link has fired and thus "revoke the promise" of prerequisite fulfillment that the link may represent.

The proposal is to strengthen the meaning of "variableAccessSerializable" to also control the visibility of link status, by attaching the meaning of isolation to the attribute. In order to reflect this we propose that the name of the attribute be changed to "isolated". Thus we would have

   <scope isolated="yes"> <!-- serializable, non-permeable -->
       <faultHandlers ...> ... </faultHandlers>
       <compensationHandler ...> ... </compensationHandler>
       ...
   </scope>

<scope isolated="no"> <!-- non-serializable, permeable --> <faultHandlers ...> ... </faultHandlers> <compensationHandler ...> ... </compensationHandler> ... </scope>

Where a scope is said to be permeable if link status can travel freely across its boundaries as in the present specification. The status of links leaving (source inside target outside) a non-permeable scope will not be visible at the target until the scope completes, whether successfully or unsuccessfully. If the scope completes unsuccessfully, the status of links leaving the scope is false regardless of what it was at the time the source activity completed. There is no change for links entering (source outside target inside) the non-permeable scope.

Note that this gives the BPEL process designer the discretion to use isolated="no" when s/he cares to protect the target from revocable promises. The downside of the protection is potential loss of concurrency.
Links: Announcement, 25 Jun 2003     Satish Thatte, 15 Sep 2003     Discussed at Redmond face-to-face - Dieter's presentation (document details)     Ricky Ho, 25 Sep 2003     Satish Thatte, 17 Mar 2004     Reversible and Permeable Scopes v2.ppt (document details)     Satish Thatte, 16 Mar 2004     Danny van der Rijn, 16 Mar 2004     Yaron Y. Goland, 18 Mar 2004     Satish Thatte, 18 Mar 2004     Frank Leymann, 19 Mar 2004     Discussed at Walldorf f-t-f (document details)     Goran Olsson, 28 Apr 2004     Satish Thatte, 29 Apr 2004     Nickolas Kavantzas, 7 May 2004     Proposed resolution (Satish Thatte, 7 Jun 2004)     Proposed resolution (Satish Thatte, 18 Jun 2004)     Issues 1 and 10.ppt (document details)
Changes: 4 Jul 2003 - fields: Document;    11 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    17 Mar 2004 - fields: Links;    19 Mar 2004 - fields: Links;    22 Apr 2004 - fields: Links;    29 Apr 2004 - fields: Links;    8 May 2004 - fields: Links;    9 Jun 2004 - fields: Links, Status, Proposed resolution;    16 Jun 2004 - fields: Categories;    18 Jun 2004 - fields: Links, Status, Proposed resolution;    23 Jun 2004 - fields: Links, Status, Proposed resolution, Resolution;    6 Oct 2004 - fields: In spec


Issue 2: Sub-Functions

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Categories: Subprocesses, State management
Origin: Initial requirements log, item 2 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Ivana Trickovic
Document: BPEL specification
Description:
A mechanism is needed that provides the capability to package standard bits of BPEL functionality and call them as sub-processes from within another BPEL process. Data to be exchanged between the calling process and the sub-processes is via parameter passing. Two mechanisms are proposed: a <call> activity that invokes the sub-process and waits until the sub-process has completed and a <spawn> activity that creates an instance of the sub-process with its own lifecycle and continues without waiting for the new instance to complete.
Qualifier: requirement


Proposed resolution: Ivana Trickovic, 24 Nov 2004
Resolution: Closed with no change to the specification at the F2F held 8 - 10 March 2005, Walldorf, Germany.


Links: Announcement, 25 Jun 2003     Eckenfels. Bernd, 22 Jul 2003     Kevin Liu, 22 Jul 2003     Assaf Arkin, 23 Jul 2003     Ivana Trickovic, 29 Oct 2003     Yaron Goland, 29 Oct 2003     Edwin Khodabakchian, 29 Oct 2003     Yaron Goland, 29 Oct 2003     Chris Keller, 30 Oct 2003     Nickolas Kavantzas, 30 Oct 2003     Ron Ten-Hove, 30 Oct 2003     Harvey Reed, 30 Oct 2003     Ron Ten-Hove, 30 Oct 2003     Harvey Reed, 30 Oct 2003     Ron Ten-Hove, 30 Oct 2003     Yaron Goland, 30 Oct 2003     Yaron Goland, 30 Oct 2003     Yaron Goland, 31 Oct 2003     Yaron Goland, 31 Oct 2003     Frank Leymann, 31 Oct 2003     Harvey Reed, 31 Oct 2003     Ivana Trickovic, 31 Oct 2003     Yaron Goland, 31 Oct 2003     Ron Ten-Hove, 1 Nov 2003     Yaron Goland, 3 Nov 2003     Yaron Goland, 3 Nov 2003     Yaron Goland, 3 Nov 2003     Satish Thatte, 5 Nov 2003     Satish Thatte, 5 Nov 2003     Ugo Corda, 5 Nov 2003     Satish Thatte, 6 Nov 2003     Ron Ten-Hove, 6 Nov 2003     Ugo Corda, 6 Nov 2003     Harvey Reed, 6 Nov 2003     Ron Ten-Hove, 7 Nov 2003     Ugo Corda, 7 Nov 2003     Ron Ten-Hove, 7 Nov 2003     Ron Ten-Hove, 7 Nov 2003     Harvey Reed, 7 Nov 2003     Monica J. Martin, 10 Nov 2003     Ivana Trickovic, 10 Nov 2003     Eckenfels. Bernd, 12 Nov 2003     Ugo Corda, 12 Nov 2003     Ivana Trickovic, 14 Nov 2003     Yaron Goland, 25 Nov 2003     Edwin Khodabakchian, 25 Nov 2003     Assaf Arkin, 25 Nov 2003     Harvey Reed, 25 Nov 2003     Ron Ten-Hove, 25 Nov 2003     Ivana Trickovic, 26 Nov 2003     Peter Furniss, 26 Nov 2003     Eckenfels. Bernd, 26 Nov 2003     Post-Melbourne discussion on coordination questions is under issue 30 issue 30     Proposed resolution (Yaron Y. Goland, 16 Jun 2004)     Dieter Koenig1, 17 Jun 2004     Satish Thatte, 18 Jun 2004     Discussed at San Francisco f-t-f     Ivana Trickovic, 21 Jul 2004     Satish Thatte, 21 Jul 2004     Ivana Trickovic, 22 Jul 2004     Frank.Leymann@t-online.de, 23 Jul 2004     Yaron Y. Goland, 23 Jul 2004     Ivana Trickovic, 4 Aug 2004     Ivana Trickovic, 4 Aug 2004     Yaron Y. Goland, 6 Aug 2004     Ivana Trickovic, 27 Aug 2004     Yaron Y. Goland, 9 Sep 2004     Proposed resolution (Ivana Trickovic, 15 Sep 2004)     Ivana Trickovic, 21 Sep 2004     Ivana Trickovic, 23 Sep 2004     Maciej Szefler, 25 Sep 2004     Ivana Trickovic, 28 Sep 2004     Peter Furniss, 28 Sep 2004     Maciej Szefler, 28 Sep 2004     Maciej Szefler, 28 Sep 2004     Chris Keller, 29 Sep 2004     Proposed resolution (Ivana Trickovic, 24 Nov 2004)     Ivana Trickovic, 8 Dec 2004     Satish Thatte, 9 Dec 2004
Changes: 4 Jul 2003 - fields: Document;    22 Jul 2003 - fields: Links;    23 Jul 2003 - fields: Links;    24 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    30 Oct 2003 - fields: Links;    31 Oct 2003 - fields: Links;    1 Nov 2003 - fields: Links;    3 Nov 2003 - fields: Links;    5 Nov 2003 - fields: Links;    6 Nov 2003 - fields: Links;    7 Nov 2003 - fields: Links;    8 Nov 2003 - fields: Links;    10 Nov 2003 - fields: Links;    12 Nov 2003 - fields: Links;    13 Nov 2003 - fields: Links;    16 Nov 2003 - fields: Links;    26 Nov 2003 - fields: Links;    9 Dec 2003 - fields: Links;    2 Jun 2004 - fields: Champion;    16 Jun 2004 - fields: Links, Status, Proposed resolution;    17 Jun 2004 - fields: Links;    19 Jun 2004 - fields: Links;    24 Jun 2004 - fields: Links;    21 Jul 2004 - fields: Links;    22 Jul 2004 - fields: Links;    23 Jul 2004 - fields: Links;    4 Aug 2004 - fields: Links;    7 Aug 2004 - fields: Links;    27 Aug 2004 - fields: Links;    9 Sep 2004 - fields: Links;    16 Sep 2004 - fields: Links, Status, Proposed resolution;    21 Sep 2004 - fields: Links;    23 Sep 2004 - fields: Links;    27 Sep 2004 - fields: Links;    29 Sep 2004 - fields: Links;    30 Sep 2004 - fields: Links;    24 Nov 2004 - fields: Links, Status, Proposed resolution;    8 Dec 2004 - fields: Links;    10 Dec 2004 - fields: Links


Issue 3: Current state influence in compensation handlers

Status: resolved
In spec: 4 June 2004
Date added: 25 Jun 2003
Origin: Initial requirements log, item 3 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Satish Thatte
Document: BPEL specification
Description:
Compensation handlers currently only see the data in the state of the process as it existed when the scope completed. There is a need to have the current state available within compensation handlers. It is proposed to have parameters for compensation handlers where the parameters represent inward and outward flow for current state data.
Qualifier: requirement
Proposed resolution: Satish Thatte, 12 Oct 2003
Resolution: Proposed in Satish Thatte, 12 Oct 2003, approved at TC conf call meeting, 29 Oct 2003 (document details)

Following is extracted from proposal message.

The relevant text in Section 13.3.1 will be replaced with the following, with appropriate editing (the picture (see attachment to proposal message) would also be included in the specification):

Compensation handlers always interact with the current state of the process, specifically the state of variables declared in their associated scope and all enclosing scopes. The variables include partnerLinks at the process scope. Compensation handlers are able to both get and set the values of all such variables. Other parts of the process will see the changes made to shared variables by compensation handlers, and conversely, compensation handlers will see changes made to shared variables by other parts of the process, including situations where a compensation handler runs concurrently with other parts of the process. Compensation handlers will need to use serializable scopes when they touch state in enclosing scopes to avoid interference.

The current state of the process consists of the current local state of all scopes that have been started. This includes scopes that have completed but for which the associated compensation handler has not been invoked. For completed uncompensated scopes their current local state is the state as it was at the time of completion. Such scopes are in suspended animation because their compensation handlers are still available and therefore their execution may continue in compensation mode. Note that a scope may have been executed several times in a loop, and the current state of the process includes the state of each completed (and uncompensated) iteration through the scope.

The behavior of a compensation handler can be thought of as an optional continuation of the behavior of the associated scope and as such its usage of variables is similar to the usage that occurred in the body of the scope itself, including update actions. This includes variables in both the local scope and all enclosing scopes. Note that the compensation handler may itself have been called from an enclosing compensation handler. It will then share the continuation of the state of the enclosing scope that its caller is using. In the attached picture showing three nested scopes S1, S2 and S3, and their compensation handlers C1, C2, C3, and failure handlers F1 and F2, we may have an error handling call stack F1->C2->C3. In that case C3 will share the state of S2 as it is being seen and used by C2.


Links: Announcement, 25 Jun 2003     Peter Furniss, 7 Aug 2003     Discussed at meeting, 6 August (document details)     Satish Thatte, 15 Sep 2003     Discussed at Redmond face-to-face - Satish's presentation (document details)     sub points identified in discussion     Proposal for discussion (Satish Thatte, 8 Oct 2003)     Satish Thatte, 8 Oct 2003     jim@parasoft.com, 8 Oct 2003     Yaron Goland, 8 Oct 2003     Satish Thatte, 8 Oct 2003     Harvey Reed, 8 Oct 2003     Edwin Khodabakchian, 8 Oct 2003     Yaron Goland, 8 Oct 2003     Edwin Khodabakchian, 8 Oct 2003     Satish Thatte, 8 Oct 2003     Danny van der Rijn, 8 Oct 2003     Assaf Arkin, 9 Oct 2003     Satish Thatte, 9 Oct 2003     jim@parasoft.com, 10 Oct 2003     Satish Thatte, 10 Oct 2003     Assaf Arkin, 11 Oct 2003     Satish Thatte, 11 Oct 2003     Proposed resolution (Satish Thatte, 12 Oct 2003)     Aniruddha Thakur, 28 Oct 2003     Satish Thatte, 29 Oct 2003     Aniruddha Thakur, 29 Oct 2003     Muruga Chinnananchi, 28 Jan 2004     Muruga Chinnananchi, 29 Jan 2004     Satish Thatte, 1 Feb 2004
Changes: 4 Jul 2003 - fields: Document;    7 Aug 2003 - fields: Links, Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    8 Oct 2003 - fields: Links;    9 Oct 2003 - fields: Links;    11 Oct 2003 - fields: Links;    12 Oct 2003 - fields: Links, Proposed resolution, Status;    29 Oct 2003 - fields: Links;    4 Nov 2003 - fields: Status, Resolution;    2 Feb 2004 - fields: Links;    9 Jun 2004 - fields: In spec

Issue 4: Dynamic parallel processing

Status: resolved
In spec: No change
Note: Resolution of this issue may resolve or help to resolve issue Issue 147.
Date added: 25 Jun 2003
Categories: Asynchronous operations
Origin: Initial requirements log, item 4 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Ivana Trickovic
Document: BPEL specification
Description:
BPEL only supports the invocation of a single web service within an invoke activity. In many situations it is required that a particular invoke activity results in the creation of many activity instances where the number of instances is not know at design time but is calculated at runtime from the contents of a set of data or references. All instances are carried out in parallel and must be synchronized for completion of the activity. Typical example for this type of processing is the sending of a request to a number of services. Processing of such an activity includes fanning out the requests, collecting the results of the requests, and determining the overall (combined) result of the different requests.
Revisitable: Yes
Qualifier: requirement
Resolution: Agreed 13 Sept 2005 f-t-f

Closed with no change.
Links: Announcement, 25 Jun 2003     Yaron Y. Goland, 25 Mar 2004     Ivana Trickovic, 31 Mar 2004     Ivana Trickovic, 1 Apr 2005
Changes: 4 Jul 2003 - fields: Document;    31 Jul 2003 - fields: Champion;    25 Mar 2004 - fields: Links;    31 Mar 2004 - fields: Links;    2 Jun 2004 - fields: Champion;    1 Apr 2005 - fields: Links;    19 Sep 2005 - fields: Status, Resolution, In spec, Revisitable


Issue 5: Suspend/resume

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Initial requirements log, item 5 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Document: BPEL specification
Description:
Sometimes it is necessary to suspend (halt) the execution of a business process for some time or until explicitly resumed by an appropriate action. The suspend/resume type of activities are mainly intended to be used in event handlers to suspend and resume the processing of either the complete business process or of a particular scope only.
Qualifier: requirement
Resolution: Proposed in Dieter Koenig1, 19 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: Suspend/resume appears to be out of scope for a first release. Furthermore, it seems that suspend/resume might as well be handled by the infrastructure and therefore outside of the process model.
Links: Announcement, 25 Jun 2003     Peter Furniss, 22 Oct 2003     Tony Fletcher, 23 Oct 2003     Proposed resolution (Dieter Koenig1, 19 Jan 2004)     Peter Furniss, 26 Jan 2004
Changes: 4 Jul 2003 - fields: Document;    22 Oct 2003 - fields: Links;    23 Oct 2003 - fields: Links;    20 Jan 2004 - fields: Links;    26 Jan 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 6: Completion Condition

Status: resolved
In spec: No change
Date added: 25 Jun 2003
Categories: Expressions, State management
Origin: Initial requirements log, item 6 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Document: BPEL specification
Description:
A set of parallel activities is treated as finished if all activities have been completed. In many cases the process does not need to wait for all the concurrent activities to finish for the overall objective to be reached. There should be a way to express the "completion" of the desired objective, causing termination of all "unnecessary" concurrent activities.
Qualifier: requirement
Proposed resolution: Satish Thatte, 17 Sep 2004
Resolution: Proposed and agreed 15 Sept 2005 f-t-f

All of this issue is covered by its sub-issues - closed with no further change.
Links: Announcement, 25 Jun 2003     Yaron Y. Goland, 27 Aug 2004     Danny van der Rijn, 27 Aug 2004     andrew.francis@elf.mcgill.ca, 27 Aug 2004     Ron Ten-Hove, 27 Aug 2004     Ron Ten-Hove, 27 Aug 2004     Yaron Y. Goland, 27 Aug 2004     Yaron Y. Goland, 27 Aug 2004     Edwin Khodabakchian, 28 Aug 2004     andrew.francis@elf.mcgill.ca, 28 Aug 2004     Satish Thatte, 31 Aug 2004     Alex Yiu, 1 Sep 2004     Ivana Trickovic, 1 Sep 2004     Axel Martens, 1 Sep 2004     Danny van der Rijn, 1 Sep 2004     Ivana Trickovic, 1 Sep 2004     Axel Martens, 1 Sep 2004     Danny van der Rijn, 1 Sep 2004     Francisco Curbera, 2 Sep 2004     Alex Yiu, 3 Sep 2004     Ivana Trickovic, 8 Sep 2004     Ivana Trickovic, 8 Sep 2004     Alex Yiu, 10 Sep 2004     Alex Yiu, 10 Sep 2004     Axel Martens, 10 Sep 2004     Axel Martens, 10 Sep 2004     Alex Yiu, 10 Sep 2004     Vinkesh Mehta, 11 Sep 2004     Ivana Trickovic, 11 Sep 2004     Ivana Trickovic, 11 Sep 2004     Vinkesh Mehta, 13 Sep 2004     Alex Yiu, 13 Sep 2004     Dieter Koenig1, 13 Sep 2004     Ivana Trickovic, 13 Sep 2004     Yaron Y. Goland, 13 Sep 2004     Ivana Trickovic, 13 Sep 2004     Ivana Trickovic, 13 Sep 2004     Yaron Y. Goland, 13 Sep 2004     Yaron Y. Goland, 13 Sep 2004     Alex Yiu, 14 Sep 2004     Alex Yiu, 14 Sep 2004     Dieter Koenig1, 14 Sep 2004     Alex Yiu, 14 Sep 2004     Ivana Trickovic, 14 Sep 2004     Ivana Trickovic, 14 Sep 2004     Dieter Koenig1, 14 Sep 2004     Axel Martens, 14 Sep 2004     Ivana Trickovic, 14 Sep 2004     Yaron Y. Goland, 16 Sep 2004     Danny van der Rijn, 16 Sep 2004     Proposed resolution (Satish Thatte, 17 Sep 2004)     Yaron Y. Goland, 17 Sep 2004     Danny van der Rijn, 17 Sep 2004     Yaron Y. Goland, 17 Sep 2004     Danny van der Rijn, 18 Sep 2004     Assaf Arkin, 18 Sep 2004     Frank Leymann, 19 Sep 2004     Satish Thatte, 19 Sep 2004     Frank Leymann, 19 Sep 2004     Satish Thatte, 20 Sep 2004     Peter Furniss, 20 Sep 2004     Peter Furniss, 20 Sep 2004     Satish Thatte, 20 Sep 2004     Satish Thatte, 20 Sep 2004     Satish Thatte, 20 Sep 2004     Peter Furniss, 20 Sep 2004     Danny van der Rijn, 20 Sep 2004     Satish Thatte, 20 Sep 2004     Peter Furniss, 21 Sep 2004     Yaron Y. Goland, 27 Sep 2004     Danny van der Rijn, 27 Sep 2004     Assaf Arkin, 28 Sep 2004     Proposal withdrawn, conf call 8 Dec 2004     Alex Yiu, 3 Sep 2004     Alex Yiu, 8 Mar 2005     Alex Yiu, 8 Mar 2005     Ivana Trickovic, 1 Apr 2005
Changes: 4 Jul 2003 - fields: Document;    27 Aug 2004 - fields: Links;    30 Aug 2004 - fields: Links;    31 Aug 2004 - fields: Links;    1 Sep 2004 - fields: Links;    2 Sep 2004 - fields: Links;    4 Sep 2004 - fields: Links;    8 Sep 2004 - fields: Links;    10 Sep 2004 - fields: Links;    11 Sep 2004 - fields: Links;    13 Sep 2004 - fields: Links;    14 Sep 2004 - fields: Links;    16 Sep 2004 - fields: Links;    18 Sep 2004 - fields: Status, Proposed resolution, Links;    20 Sep 2004 - fields: Links;    21 Sep 2004 - fields: Links;    27 Sep 2004 - fields: Links;    28 Sep 2004 - fields: Links;    8 Dec 2004 - fields: Status, Links;    20 Dec 2004 - fields: Links;    8 Mar 2005 - fields: Links;    1 Apr 2005 - fields: Links;    19 Sep 2005 - fields: Status, Resolution, In spec


Issue 6.1: A low-level mechanism for completion of the flow activity

Status: resolved
In spec: No change
Date split: 1 Apr 2005
Categories: Expressions, State management
Submitter: Ivana Trickovic and Alex Yiu
Description: Introduce a low-level mechanism for premature completion of the <flow> activity. Applied to other BPEL activities (e.g. while) the mechanism could be used for early completion in the context of issue 142 : Break & Continue .
Revisitable: Yes
Resolution: Proposed and agreed at conf call, 24 Aug 2005

Close with no change, mark as revisitable.
Links: Announcement, 1 Apr 2005
Changes: 1 Apr 2005 - fields: Split, Title, Status, Submitter, Description, Proposed resolution, Links;    12 Sep 2005 - fields: Status, Resolution, Revisitable, In spec


Issue 6.2: A high-level mechanism for completion of the flow activity

Status: resolved
In spec: 13 Dec 2005
Date split: 1 Apr 2005
Categories: Expressions, State management
Submitter: Ivana Trickovic and Alex Yiu
Description: Introduce a high-level mechanism for premature completion of the <flow> activity. The mechanism should include the definition of conditions used to specify when the desired goal has been completed, which causes premature completion of the <flow> activity and termination of all "unnecessary" parallel activities.

Note: The mechanisms propsed in sub-issues 6.1 and 6.2 can coexist together and do not preclude each other.
Resolution: Proposed Ivana Trickovic, 1 Apr 2005, agreed with several amendments 14 Sept 2005

Syntax:

<flow standard-attributes>
	standard-elements
      <links>?
         <link name="ncname">+
      </links>
      <completionCondition>?
      activity+
</flow>

<completionCondition> <branches expressionLanguage="URI"? countCompletedBranchesOnly="yes|no"?> an-integer-expression </branches>? <booleanExpression expressionLanguage="URI"?> a-boolean-expression </booleanExpression>? </completionCondition>

Semantics:

  1. The completionCondition element is an optional element of the flow activity. Default behavior of the flow activity is that it waits for all its nested activities to complete.

  2. There are two kinds of completion condition: A> <booleanExpression>: A boolean condition operating upon process variables. It is evaluated at the end of execution of each nested activity. B> <branches>: An integer value expression which is used to define condition of flavor N out of M. It is evaluated at the end of execution of each nested activity. This condition has "at least N out of M" semantics. (The exact N out of M condition semantics involve resolving racing condition among nested activities.)

  3. Both conditions (<branches> and <booleanExpression>) may be specified at the same time. They will be evaluated at the end of execution of each nested activity. If at least one condition evaluates to true the <flow> activity completes successfully terminating all remaining running nested activities. If both conditions are specified, the <branches> will be evaluated first. If the boolean condition is specified the evaluation of the condition is done in a serialized fashion with respect to the nested activities directly enclosed in the flow activity.

  4. If the integer value evaluated from the <branches> expression is larger than the number of nested activities in the <flow>, then bpws:invalidBranchCondition fault MUST be thrown. Note that the number of branches may be known only during runtime in some cases. Static analysis should be encouraged to detect this erroneous situation at design time when possible. (E.g. when the branches expression is a constant.)

  5. <branches> expression has an optional attribute "countCompletedBranchesOnly". Its default value is "no". If countCompletedBranchesOnly is "no", it means the BPEL processor will count branches which have completed (either successfully or unsuccessfully). If countCompletedBranchesOnly is "yes", it means the BPEL processor will count branches which have completed successfully only.

  6. If flow activity specifies a completionCondition element the completion condition is evaluated each time a nested activity completes. If the completion condition evaluates to true the flow activity completes successfully. All still running nested activities will be terminated.

  7. Standard BPEL termination semantics applies to running nested activities when the completion condition is met. The termination of running nested activities follows the termination semantics defined in the specification (see section 13.4.4 Semantics of Activity Termination).

  8. If all nested activities of the flow activity have been completed but the completion condition evaluates to false the "bpws:completionConditionFailure" MUST be thrown by the flow activity.

The following amendments to the resolution were accepted:

  1. Restrict the completion condition to apply to parallel for each only.
  2. the count of branches is calculated only once and won't change as the result of the parallel for each execution.
  3. Fix language in section 13.4.4 Semantics of Activity Termination from:
    "However, a termination handler cannot throw any fault. Even if an uncaught fault occurs during its behavior, it is not rethrown to the next enclosing scope. This is because the enclosing scope has already either faulted or is in the process of being terminated, which is what is causing the forced termination of the nested scope."
  4. Add that the termination may be the outcome of early completion of parallel for each.
  5. the term branches may be changed by the spec editing team to reconcile with parallel for each if they deem it appropriate.
  6. "If upon completion of a directly enclosed activity, it can be determined that the completion condition can never be true the "bpws:completionConditionFailure" MUST be thrown by the parallel forEach activity."

The above was agreed (I think, prf) as part a. The amendment

Apply completion condition to both serial and parallel for each.
was accepted as part b of the resolution for 6.2.
Links: Proposed resolution (Ivana Trickovic, 1 Apr 2005)     Alex Yiu, 1 Apr 2005     Announcement, 1 Apr 2005     Yaron Y. Goland, 5 Apr 2005     Yaron Y. Goland, 5 Apr 2005     Satish Thatte, 6 Apr 2005     Alex Yiu, 6 Apr 2005     Satish Thatte, 7 Apr 2005     Satish Thatte, 7 Apr 2005     Alex Yiu, 7 Apr 2005     Satish Thatte, 7 Apr 2005     Yaron Y. Goland, 8 Apr 2005     Yaron Y. Goland, 8 Apr 2005     Alex Yiu, 8 Apr 2005     Yaron Y. Goland, 2 May 2005     Yaron Y. Goland, 2 May 2005     Alex Yiu, 3 May 2005     Alex Yiu, 3 May 2005     Yaron Y. Goland, 3 May 2005     Satish Thatte, 4 May 2005     Satish Thatte, 4 May 2005     Dieter Koenig1, 1 Jun 2005     Alex Yiu, 1 Jun 2005     Satish Thatte, 1 Jun 2005     Ivana Trickovic, 14 Sep 2005     Chris Keller, 14 Sep 2005     Ivana Trickovic, 14 Sep 2005     Chris Keller, 14 Sep 2005     Alex Yiu, 14 Sep 2005     Ivana Trickovic, 14 Sep 2005     Alex Yiu, 15 Sep 2005     Alex Yiu, 23 Sep 2005
Changes: 1 Apr 2005 - fields: Split, Title, Status, Submitter, Description, Proposed resolution, Links;    6 Apr 2005 - fields: Links;    7 Apr 2005 - fields: Links;    8 Apr 2005 - fields: Links;    11 Apr 2005 - fields: Links;    3 May 2005 - fields: Links;    4 May 2005 - fields: Links;    1 Jun 2005 - fields: Links;    14 Sep 2005 - fields: Links;    15 Sep 2005 - fields: Links;    19 Sep 2005 - fields: Status, Proposed resolution, Resolution;    26 Sep 2005 - fields: Links;    13 Dec 2005 - fields: In spec

Issue 6.3: Partial Termination of a Scope

Status: resolved
In spec: no change
Date split: 31 May 2005
Categories: Expressions, State management
Submitter: Alex Yiu
Description: One question was highlighted when we were discussing whether an early-completion-enabled <flow> must use <scope>-based activities as branch activities. That question can be translated into whether we actually allow a "partial termination of a scope". The spec does not have a clear "yes" or "no" answer as of this moment. Regardless of whether we standardize early completion features or how early completion features look like, we must answer that "yes/no" question and add clarification accordingly.
Refer also to the discussion thread in message on Issue 6.2.
Proposed resolution: Refer to attachment to Alex Yiu, 31 May 2005
Resolution: At the TC F2F meeting held 1-3 June 2005 it was agreed to close sub-issue 6.3 with no change as it should be included in sub-issue 6.2.


Changes: 31 May 2005 - fields: Split, Title, Status, Submitter, Description, Proposed resolution


Issue 6.4: Concurrency and Expression Evaluation

Status: resolved
In spec: No change
Date split: 31 May 2005
Categories: Expressions, State management
Submitter: Alex Yiu
Description: During discussion of Issue 6.*, someone expressed the concern of potential racing condition situation for <completionConditon>. Yes, there would be potential racing conditions. However, by thinking it deeper, racing condition actually apply to ALL expressions evaluation under a <flow>, whenever data underlying expressions are mutable. Racing-related expressions include any boolean condition (e.g. a <while> or if-then-else boolean condition). The more interesting case is transition conditions of control links, which actually can be used to emulate some of <completionCondition> functionality in some cases and face a similar racing condition problem.
Revisitable: Yes
Resolution: Proposed and agreed conf call 12 Oct 2005

Close with no change

This is amendment to the proposal in Alex Yiu, 15 Sep 2005
Links: Proposed resolution (Alex Yiu, 15 Sep 2005)
Changes: 31 May 2005 - fields: Split, Title, Status, Submitter, Description, Proposed resolution;    15 Sep 2005 - fields: Links, Status, Proposed resolution;    6 Oct 2005 - fields: Status, Proposed resolution, Resolution, In spec, Revisitable


Issue 7: Import

Status: resolved
In spec: 4 June 2004
Date added: 25 Jun 2003
Origin: Initial requirements log, item 7 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Francisco Curbera
Document: BPEL specification
Description:
Provide an import mechanism, just like WSDL, to include WSDL definitions and XSD schemas that a process is dependent on.
Qualifier: requirement
Resolution: Proposed in Francisco Curbera, 30 Sep 2003, with modifications in Kevin Liu, 1 Oct 2003, decided in meeting 15 October, with further modification, summarised in Francisco Curbera, 16 Oct 2003, later corrected

Introduce a single <bpel:import> element used to import XSD, WSDL definitions. Zero or more <bpel:import> elements may appear as first children of the <bpel:process> element. Three required attributes must be:

For example:

	<bpel:import namespace="..."  location="document-location" importType="XYZ-namespace-uri"/>
A <bpel:import> location element will be interpreted as a hint for BPEL processors. In particular, processors are not required to retrieve the imported document from the specified location.
Links: Announcement, 25 Jun 2003     Discussed at meeting, 6 August (document details)     Francisco Curbera, 12 Sep 2003     Eckenfels. Bernd, 12 Sep 2003     Chris Keller, 12 Sep 2003     Francisco Curbera, 12 Sep 2003     Discussed at Redmond face-to-face     Proposed resolution (Francisco Curbera, 30 Sep 2003)     Yaron Goland, 30 Sep 2003     Kevin Liu, 1 Oct 2003     Francisco Curbera, 1 Oct 2003     Francisco Curbera, 1 Oct 2003     Approved resolution (Francisco Curbera, 16 Oct 2003)     Ivana Trickovic, 16 Oct 2003     Tony Fletcher, 20 Oct 2003     Ugo Corda, 20 Oct 2003     Danny van der Rijn, 20 Oct 2003     Yaron Goland, 20 Oct 2003
Changes: 4 Jul 2003 - fields: Document;    7 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    12 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Status, Links, Proposed resolution, Vote announcement;    8 Oct 2003 - fields: Vote announcement;    15 Oct 2003 - fields: Status, Proposed resolution, Vote announcement, Resolution;    16 Oct 2003 - fields: Links, Resolution;    20 Oct 2003 - fields: Links;    21 Oct 2003 - fields: Links;    9 Jun 2004 - fields: In spec

Issue 8: Non-mutability of correlation sets

Status: resolved
In spec: No change
Date added: 25 Jun 2003
Categories: Correlation
Origin: Initial issue log, item 1 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Satish Thatte
Document: BPEL specification
Description:
The value of a correlation set once initialized is immutable, but this does not apply to the individual properties in the set, which may be shared with other sets. Thus the set should be thought of as a late-bound constant as a whole. The properties are just means of defining it. Questions: How much checking can be done at definition time and how much at execution time? Do we need a runtime fault?
Qualifier: clarification
Resolution: Proposed verbally by Satish Thatte and decided at San Francisco f-t-f

Close with no change to the specification.
Rationale: The ambiguity originally perceived is no longer felt to be there. Any clarification needed will be treated as an editorial matter.
Links: Announcement, 25 Jun 2003     Discussed at meeting, 6 August (document details)     Discussed at Redmond face-to-face
Changes: 4 Jul 2003 - fields: Document;    7 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    18 Sep 2003 - fields: Links;    22 Jun 2004 - fields: Status, Proposed resolution, Resolution, Rationale, In spec


Issue 9: Static analysis

Status: resolved
In spec: 15 Mar 2006
Date added: 25 Jun 2003
Categories: Syntax and validation
Origin: Initial issue log, item 2 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Document: BPEL specification
Description:
Static analysis is a well-established technique to support robust design and implementation practice. The specification permits that static analysis may reject a BPEL process definition, depending on how pessimistic the static analysis is. As a result, some BPEL definitions may not be portable between different BPEL implementations.

Question: Is it possible to define a conservative set of restrictions that will ensure portability?
Depends on: Inclusion of Issue 84 into the specification.
Resolution: Proposed in Alex Yiu, 13 Mar 2006, decided conf call, 15 March 2006

implementations MAY choose to perform static analysis to detect and reject process definitions that may have undefined semantics. Such analysis SHOULD be performed optimistically, that is, assuming the process has no syntactic errors then if there exists at least one execution path from each start activity in the process that can complete
Links: Announcement, 25 Jun 2003     Chris Keller, 7 Oct 2003     Eckenfels. Bernd, 7 Oct 2003     Chris Keller, 7 Oct 2003     Yaron Goland, 7 Oct 2003 (links previous 3 msgs to this issue)     Yaron Y. Goland, 9 Apr 2004     Yaron Y. Goland, 12 Aug 2004     John Evdemon, 13 Aug 2004     Yaron Y. Goland, 13 Aug 2004     John Evdemon, 16 Aug 2004     Alex Yiu, 17 Aug 2004     Yaron Y. Goland, 18 Aug 2004     Satish Thatte, 24 Aug 2004     Yaron Y. Goland, 24 Aug 2004     Proposed resolution (Yaron Y. Goland, 16 Sep 2004)     Assaf Arkin, 16 Sep 2004     Proposed resolution (Yaron Y. Goland, 17 Sep 2004)     Proposed resolution (Alex Yiu, 13 Mar 2006)     Danny van der Rijn, 13 Mar 2006     Alex Yiu, 13 Mar 2006     Francisco Curbera, 13 Mar 2006     Marlon Dumas, 14 Mar 2006     Alex Yiu, 15 Mar 2006     Diane Jordan, 15 Mar 2006
Changes: 4 Jul 2003 - fields: Document;    8 Oct 2003 - fields: Links;    10 Apr 2004 - fields: Links;    13 Aug 2004 - fields: Links;    14 Aug 2004 - fields: Links;    17 Aug 2004 - fields: Links;    18 Aug 2004 - fields: Links;    24 Aug 2004 - fields: Links;    16 Sep 2004 - fields: Links, Status, Proposed resolution;    17 Sep 2004 - fields: Links, Status, Proposed resolution;    13 Mar 2006 - fields: Links, Status, Proposed resolution;    14 Mar 2006 - fields: Links;    15 Mar 2006 - fields: Status, Proposed resolution, Resolution, Links;    22 Mar 2006 - fields: In spec


Issue 10: Serialization of compensation

Status: resolved
In spec: 19 Nov 2004
Date added: 25 Jun 2003
Categories: Compensation
Origin: Initial issue log, item 3 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Dieter Roller
Document: BPEL specification
Description:
describe exactly how compensation handlers are invoked, including concurrency, especially in the case of default behavior.
Qualifier: clarification
Original resolution: Proposed in Satish Thatte, 20 Jun 2004, decided at San Francisco f-t-f

Informally, we propose that default compensation order need only respect the control dependencies that are explicitly modeled. With the resolution of issue 1, it is far from easy to emulate strict reverse order of completion with explicit fault and compensation handlers. But with the proposed resolution of Issue 10 here, that does not matter since strict reverse order is permitted but not mandated for the default behavior. This does require an additional restriction on links to ban reentrant control paths, as described below more formally.

Definition: Control Dependency. If an activity A must complete before activity B begins, as a result of the existence of a control path from A to B in the process definition, then we say that B has a control dependency on A. Note that control dependencies may occur due to control links in <flow> as well as due to constructs like <sequence>. Control flow due to explicit "throw" is not considered a control dependency.

Part I: Consider scopes A and B such that B has a control dependency on A. Assuming both A and B completed successfully and both must be compensated as part of default compensation behavior, the compensation handler of B must run to completion before the compensation handler of A is started. This permits scopes that executed concurrently on the forward path to also be compensated concurrently in the reverse path. Of course, if one follows the strict reverse order of completion, then that necessarily respects control dependencies and is also consistent with this rule. The rule imposes a constraint on the order in which compensation handlers run during default compensation, and is not meant to be fully prescriptive about the exact order and concurrency.

Definition: Reentrant control path. Consider activities A and B enclosed in a scope S, such that B has a control dependency on A. The control path from A to B is said to be reentrant if it includes an activity C that is outside scope S, i.e., there is an activity C outside scope S such that C has a control dependency on A and B has a control dependency on C. Informally, such a reentrant path starts at A, "leaves scope S" to reach activity C and then "reenters scope S" to reach activity B. Note that reentrant control paths always involve links, at the least, one to leave the scope and one to reenter the scope.

Part II (this was NOT part of the original resolution of this issue, but was kept here for documentary completeness. It is the subject of the second resolution proposal in Satish Thatte, 8 Sep 2004): It is necessary to be able to define the default compensation behavior of a given scope independent of its peer and enclosing scopes. One reason is that such a default compensation handler may be invoked explicitly by the fault and compensation handlers of its enclosing scope. However, there are currently legal cases where the proposed resolution in Part I makes this impossible. One such example is attached. We propose to resolve this by banning reentrant control paths. This restriction would be added to the list of restrictions on links at the end of section 12.5. Clarifying note: all reentrant control paths are banned according to this proposal, whether or not they involve scope activities.

Part III: Given that compensation handlers may run concurrently with other activities including other compensation handlers, it is necessary to allow compensation handlers to use isolation scope semantics. Compensation handlers do not run within the isolation domain of their associated scopes, but fault handlers do. This creates difficulties in the isolation semantics of compensation handlers for scopes nested inside a serializable scope. Such handlers cannot use serializable scopes themselves because serializable scopes cannot be nested. However, their isolation environment is uncertain because they may be invoked from either a fault handler within the isolation domain of their enclosing scope or within the compensation handler of the same enclosing scope which is not in that isolation domain. In order to improve consistency of behavior, we propose that the compensation handler of a serializable scope will itself have serializable behavior implicitly, although it will create a separate isolation domain from that of its associated scope.

Two new issues will be raised

  1. define re-entrancy fully
  2. define the nature of isolation fully

Revised resolution: Proposed in Satish Thatte, 8 Sep 2004, decided at conf call, 15 Sept 2004

Replacing part II of original resolution

I begin with a formal restatement for Part II of the resolution of Issue 10.  I will then add some explanation.

Definition: Peer-Scopes.  Two scopes S1 and S2 are said to be peer scopes if they are both directly nested within the same parent scope (including process scope).  

Definition:  Scope-controlled set.  An activity A is within the scope-controlled set of activities of scope S if either A is S itself, or A is nested within S, at any depth.

Definition:  Peer-Scope Dependency.  If S1 and S2 are peer scopes then we say that S2 has a direct peer-scope dependency on S1 if there is an activity B within the scope-controlled set of S2 and an activity A within the scope-controlled set of S1 such that B has a control dependency on A.  The peer-scope dependency relation is the transitive closure of the direct peer-scope dependency relation.

Part II:  The peer-scope dependency relation MUST NOT include cycles.  In other words, BPEL forbids a process in which there are peer scopes S1 and S2 such that S1 has a peer-scope dependency on S2 and S2 has a peer-scope dependency on S1.

Explanation: 

The basic motivation for Part II is to make the "respect for control dependency" rule of Part I consistent with a depth-first traversal of the scope tree for default compensation.  If we can guarantee that there is a depth-first (post-order variant) traversal consistent with Part I, we no longer have any difficulty in defining default compensation of any scope, since depth-first order implies that such compensation is only dependent on the compensation of its nested scopes.  The question then reduces to constraining control paths so we can make this guarantee.  I claim that we need only concern ourselves about control dependencies between peer scopes in the sense defined above.  An example illustrates the point. Consider the following example (taken from an earlier exchange with Alex)

<scope name="s0"> 
        <scope name="s1">
            <flow> 
                <anActivity> <source linkName="lnk1" /> </anActivity> 
                <!-- Assume that the above anActitity does not contain a 
                     scope activity -->
                <scope name="s2">
                    <target linkName="lnk1" /> 
                </scope>
            </flow>
        </scope> 
</scope> 

Does the link create a dependency between s1 and s2 that has any relevance to compensation order?  If this example is changed to

<scope name="s0"> 
        <scope name="s1">
            <flow> 
                <scope name="s7"> 
                    <source linkName="lnk1" /> 
                </scope> 
                <scope name="s2">
                    <target linkName="lnk1" /> 
                </scope>
            </flow>
        </scope> 
</scope> 

Does the situation change?  The only difference between the examples is that, whereas s1 was theoretically responsible for the compensation of the previous generic anActivity (since we assumed it does not contain a scope), it's replacement scope is an activity that is responsible for its own compensation.  But let us look further.  If we think about default compensation behavior for s1 it is going to do absolutely nothing about compensating any non-scope activities nested inside it.  Thus the fact that fact that s1 was theoretically responsible for the compensation of the generic anActivity has no consequence regarding a required ordering of compensation between s1 and s2.  Part II exploits this point and its generalization to control chains and multiply nested scopes.
Links: Announcement, 25 Jun 2003     Satish Thatte, 15 Sep 2003     Sid Askary, 9 Dec 2003     Yaron Goland, 11 Dec 2003     Satish Thatte, 12 Dec 2003     Yaron Goland, 12 Dec 2003     Assaf Arkin, 12 Dec 2003     Satish Thatte, 12 Dec 2003     Satish Thatte, 12 Dec 2003     Assaf Arkin, 12 Dec 2003     Yaron Goland, 23 Dec 2003     Ugo Corda, 23 Dec 2003     Yaron Goland, 24 Dec 2003     Ugo Corda, 24 Dec 2003     Satish Thatte, 30 Dec 2003     Ron Ten-Hove, 31 Dec 2003     Yaron Goland, 5 Jan 2004     Assaf Arkin, 7 Jan 2004     Danny van der Rijn, 7 Jan 2004     Peter Furniss, 7 Jan 2004     Satish Thatte, 7 Jan 2004     Satish Thatte, 17 Mar 2004     Reversible and Permeable Scopes v2.ppt (document details)     Satish Thatte, 16 Mar 2004     Danny van der Rijn, 16 Mar 2004     Yaron Y. Goland, 18 Mar 2004     Satish Thatte, 18 Mar 2004     Frank Leymann, 19 Mar 2004     Discussed at Walldorf f-t-f (document details)     Satish Thatte, 18 Jun 2004     Proposed resolution (Satish Thatte, 18 Jun 2004)     Proposed resolution (Satish Thatte, 20 Jun 2004)     Issues 1 and 10.ppt (document details)     Yaron Y. Goland, 19 Aug 2004     Satish Thatte, 19 Aug 2004     Alex Yiu, 19 Aug 2004     Alex Yiu, 19 Aug 2004     Danny van der Rijn, 20 Aug 2004     Satish Thatte, 20 Aug 2004     Yaron Y. Goland, 24 Aug 2004     Satish Thatte, 24 Aug 2004     Yaron Y. Goland, 26 Aug 2004     Satish Thatte, 30 Aug 2004     Satish Thatte, 8 Sep 2004     Proposed resolution (Satish Thatte, 8 Sep 2004)     Peter Furniss, 9 Sep 2004     Dieter Koenig1, 13 Sep 2004
Changes: 4 Jul 2003 - fields: Document;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    10 Dec 2003 - fields: Links;    23 Dec 2003 - fields: Links;    7 Jan 2004 - fields: Links;    17 Mar 2004 - fields: Links;    19 Mar 2004 - fields: Links;    22 Apr 2004 - fields: Links;    18 Jun 2004 - fields: Links, Proposed resolution, Status;    20 Jun 2004 - fields: Links, Status, Proposed resolution;    23 Jun 2004 - fields: Links, Status, Proposed resolution, Resolution;    19 Aug 2004 - fields: Links;    22 Aug 2004 - fields: Links;    24 Aug 2004 - fields: Links;    26 Aug 2004 - fields: Links;    30 Aug 2004 - fields: Links;    8 Sep 2004 - fields: Links, Status, Proposed resolution;    9 Sep 2004 - fields: Links;    13 Sep 2004 - fields: Links;    15 Sep 2004 - fields: Status, Proposed resolution, Revised resolution;    19 Nov 2004 - fields: In spec


Issue 11: Query in <to> close should allow assigning to new locations

Status: resolved
In spec: 11 Feb 2006
Date added: 25 Jun 2003
Categories: Data handling, Correlation
Origin: Initial issue log, item 4 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Danny van der Rijn
Document: BPEL specification
Description:
Is Assignment too restrictive? In particular, should it allow creation of nodes in cases where they are absent? There are situations where a process needs to construct a set of results. This requires using the query attribute in the <to-spec> to specify the next insertion location. Currently, the specification requires that the run time should throw a fault in these cases.
Resolution: Proposed in Ron Ten-Hove, 25 Oct 2005, agreed in Web ballot (ended 2004-09-14) , voting results in Diane Jordan, 7 Nov 2005

See Ron Ten-Hove, 25 Oct 2005 for resolution details.

As part of the resolution of this issue, issue 48 : XML Transform Support was rescinded, with a new proposal to close it.
Links: Announcement, 25 Jun 2003     Danny van der Rijn, 6 Aug 2003     Yaron Goland, 6 Aug 2003     Yaron Goland, 6 Aug 2003     Glenn Mi, 6 Aug 2003     Chris Keller, 6 Aug 2003     Edwin Khodabakchian, 6 Aug 2003     Danny van der Rijn, 6 Aug 2003     Edwin Khodabakchian, 6 Aug 2003     Danny van der Rijn, 6 Aug 2003     Danny van der Rijn, 6 Aug 2003     Ugo Corda, 6 Aug 2003     Chris Keller, 6 Aug 2003     Danny van der Rijn, 6 Aug 2003     Chris Keller, 6 Aug 2003     Chris Keller, 6 Aug 2003     Ugo Corda, 6 Aug 2003     Danny van der Rijn, 6 Aug 2003     David RR Webber, 7 Aug 2003     Yaron Goland, 7 Aug 2003     Danny van der Rijn, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Danny van der Rijn, 7 Aug 2003     Danny van der Rijn, 7 Aug 2003     Danny van der Rijn, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Harvey Reed, 7 Aug 2003     Yaron Goland, 8 Aug 2003     Yaron Goland, 8 Aug 2003     David RR Webber, 8 Aug 2003     Harvey Reed, 8 Aug 2003     Chris Keller, 8 Aug 2003     Danny van der Rijn, 8 Aug 2003     Yaron Goland, 8 Aug 2003     Danny van der Rijn, 8 Aug 2003     David RR Webber, 9 Aug 2003     Yaron Goland, 11 Aug 2003     David RR Webber, 12 Aug 2003     Danny van der Rijn, 12 Aug 2003     issue 48 : XML Transform Support     Chris Keller, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Chris Keller, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Chris Keller, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Chris Keller, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Chris Keller, 13 Aug 2003     Harvey Reed, 13 Aug 2003     Edwin Khodabakchian, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Chris Keller, 13 Aug 2003     Danny van der Rijn, 13 Aug 2003     Danny van der Rijn, 18 Aug 2003     Chris Keller, 19 Aug 2003     Tony Andrews, 20 Aug 2003     Danny van der Rijn, 20 Aug 2003     Yaron Goland, 20 Aug 2003     Harvey Reed, 20 Aug 2003     Greg Ritzinger, 29 Aug 2003     Ron Ten-Hove, 29 Aug 2003     David RR Webber, 30 Aug 2003     David RR Webber, 30 Aug 2003     David RR Webber, 1 Sep 2003     Chris Keller, 2 Sep 2003     David RR Webber, 2 Sep 2003     Danny van der Rijn, 2 Sep 2003     Danny van der Rijn, 2 Sep 2003     Chris Keller, 2 Sep 2003     Danny van der Rijn, 2 Sep 2003     David RR Webber, 2 Sep 2003     Danny van der Rijn, 2 Sep 2003     Yaron Goland, 2 Sep 2003     Ron Ten-Hove, 2 Sep 2003     Ron Ten-Hove, 2 Sep 2003     Chris Keller, 2 Sep 2003     David RR Webber, 2 Sep 2003     David RR Webber, 3 Sep 2003     David RR Webber, 3 Sep 2003     Ron Ten-Hove, 30 Aug 2003     Ron Ten-Hove, 3 Sep 2003     David RR Webber, 3 Sep 2003     Danny van der Rijn, 3 Sep 2003     Satish Thatte, 4 Sep 2003     Chris Keller, 4 Sep 2003     Danny van der Rijn, 4 Sep 2003     Danny van der Rijn, 4 Sep 2003     Satish Thatte, 4 Sep 2003     David RR Webber, 5 Sep 2003     Chris Keller, 5 Sep 2003     Chris Keller, 5 Sep 2003     Monica Martin, 5 Sep 2003     Chris Keller, 5 Sep 2003     Monica Martin, 5 Sep 2003     Chris Keller, 5 Sep 2003     Danny van der Rijn, 5 Sep 2003     David RR Webber, 5 Sep 2003     David RR Webber, 5 Sep 2003     David RR Webber, 5 Sep 2003     Ugo Corda, 5 Sep 2003     Danny van der Rijn, 5 Sep 2003     Discussed at Redmond face-to-face     Danny van der Rijn, 3 Feb 2004     Edwin Khodabakchian, 3 Feb 2004     Pal Takacsi-Nagy, 3 Feb 2004     Edwin Khodabakchian, 3 Feb 2004     David RR Webber, 3 Feb 2004     Satish Thatte, 4 Feb 2004     Steve Capell, 4 Feb 2004     Alastair J. Green, 4 Feb 2004     David RR Webber, 4 Feb 2004     Peter Furniss, 4 Feb 2004     David RR Webber, 4 Feb 2004     Kristofer Agren, 5 Feb 2004     Danny van der Rijn, 13 Feb 2004     Monica J. Martin, 15 Feb 2004     David RR Webber, 15 Feb 2004     Diane Jordan, 16 Feb 2004     Diane Jordan, 16 Feb 2004     discussion and straw-poll, 18 Feb 2004 call     Danny van der Rijn, 18 Feb 2004     Danny van der Rijn, 18 Feb 2004     Glenn Mi, 19 Feb 2004     Danny van der Rijn, 19 Feb 2004     Danny van der Rijn, 23 Feb 2004     Danny van der Rijn, 23 Feb 2004     David RR Webber, 23 Feb 2004     Danny van der Rijn, 23 Feb 2004     David RR Webber, 23 Feb 2004     Kristofer Agren, 23 Feb 2004     Danny van der Rijn, 23 Feb 2004     Edwin Khodabakchian, 23 Feb 2004     Danny van der Rijn, 23 Feb 2004     Kristofer Agren, 23 Feb 2004     Alex Yiu, 23 Feb 2004     Danny van der Rijn, 24 Feb 2004     Alex Yiu, 24 Feb 2004     Alex Yiu, 26 Feb 2004     Yaron Y. Goland, 26 Feb 2004     David RR Webber, 26 Feb 2004     Edwin Khodabakchian, 26 Feb 2004     Monica J. Martin, 26 Feb 2004     Ron Ten-Hove, 26 Feb 2004     David RR Webber, 26 Feb 2004     Glenn Mi, 27 Feb 2004     Alex Yiu, 27 Feb 2004     Alex Yiu, 27 Feb 2004     Glenn Mi, 27 Feb 2004     Chris Keller, 27 Feb 2004     Yaron Y. Goland, 27 Feb 2004     Ron Ten-Hove, 27 Feb 2004     David RR Webber, 27 Feb 2004     David RR Webber, 27 Feb 2004     Alex Yiu, 27 Feb 2004     Chris Keller, 27 Feb 2004     Alex Yiu, 27 Feb 2004     Chris Keller, 27 Feb 2004     Alex Yiu, 28 Feb 2004     Monica J. Martin, 28 Feb 2004     Yaron Y. Goland, 1 Mar 2004     Alex Yiu, 2 Mar 2004     Danny van der Rijn, 2 Mar 2004     David RR Webber, 2 Mar 2004     Alex Yiu, 2 Mar 2004     Danny van der Rijn, 2 Mar 2004     Yaron Y. Goland, 2 Mar 2004     Edwin Khodabakchian, 3 Mar 2004     Alex Yiu, 3 Mar 2004     Ugo Corda, 3 Mar 2004     Alex Yiu, 3 Mar 2004     Kristofer Agren, 3 Mar 2004     David RR Webber, 3 Mar 2004     Ron Ten-Hove, 3 Mar 2004     Danny van der Rijn, 3 Mar 2004     David RR Webber, 3 Mar 2004     Danny van der Rijn, 3 Mar 2004     David RR Webber, 3 Mar 2004     David RR Webber, 16 Mar 2004     Danny van der Rijn, 25 Mar 2004     David RR Webber, 26 Mar 2004     Discussed at Walldorf f-t-f (document details)     discuessed on 28 April call (document details)     Peter Furniss, 5 May 2004     see rationale in issue 100     Proposed resolution (Alex Yiu, 4 Jan 2005)     Proposed resolution (Ugo Corda, 31 Mar 2005)     Yaron Y. Goland, 31 Mar 2005     Ugo Corda, 31 Mar 2005     Satish Thatte, 4 Apr 2005     Ugo Corda, 4 Apr 2005     Satish Thatte, 4 Apr 2005     Ugo Corda, 4 Apr 2005     Yaron Y. Goland, 5 Apr 2005     Yaron Y. Goland, 5 Apr 2005     Ugo Corda, 5 Apr 2005     Ugo Corda, 5 Apr 2005     Yaron Y. Goland, 7 Apr 2005     Yaron Y. Goland, 7 Apr 2005     Ugo Corda, 7 Apr 2005     Ugo Corda, 7 Apr 2005     Yaron Y. Goland, 8 Apr 2005     Ugo Corda, 8 Apr 2005     Yaron Y. Goland, 11 Apr 2005     Satish Thatte, 26 Apr 2005     Ugo Corda, 26 Apr 2005     Satish Thatte, 26 Apr 2005     Ugo Corda, 27 Apr 2005     Francisco Curbera, 27 Apr 2005     Eckenfels. Bernd, 27 Apr 2005     Proposed resolution (Chris Keller, 28 Apr 2005)     Satish Thatte, 30 Apr 2005     Francisco Curbera, 2 May 2005     Yaron Y. Goland, 2 May 2005     Alex Yiu, 2 May 2005     Chris Keller, 2 May 2005     Alex Yiu, 2 May 2005     Chris Keller, 2 May 2005     Alex Yiu, 2 May 2005     Chris Keller, 2 May 2005     Alex Yiu, 2 May 2005     Yaron Y. Goland, 3 May 2005     Yaron Y. Goland, 3 May 2005     Eckenfels. Bernd, 3 May 2005     Eckenfels. Bernd, 3 May 2005     Ugo Corda, 3 May 2005     Chris Keller, 4 May 2005     Chris Keller, 4 May 2005     Alex Yiu, 10 May 2005     Danny van der Rijn, 10 May 2005     Chris Keller, 10 May 2005     Alex Yiu, 10 May 2005     Chris Keller, 10 May 2005     Francisco Curbera, 10 May 2005     Alex Yiu, 10 May 2005     Yaron Y. Goland, 10 May 2005     Alex Yiu, 10 May 2005     Francisco Curbera, 11 May 2005     Satish Thatte, 16 May 2005     Eckenfels. Bernd, 17 May 2005     Diane Jordan, 3 Oct 2005     Ron Ten-Hove, 5 Oct 2005     Chris Keller, 5 Oct 2005     Proposed resolution (Ron Ten-Hove, 11 Oct 2005)     Alexandre Alves, 12 Oct 2005     Alex Yiu, 12 Oct 2005     Ron Ten-Hove, 12 Oct 2005     Alexandre Alves, 12 Oct 2005     Ron Ten-Hove, 12 Oct 2005     Proposed resolution (Ron Ten-Hove, 12 Oct 2005)     Alexandre Alves, 15 Oct 2005     Ron Ten-Hove, 17 Oct 2005     Chris Keller, 17 Oct 2005     Ron Ten-Hove, 17 Oct 2005     Proposal rescinds issue 47     Proposed resolution (Ron Ten-Hove, 18 Oct 2005)     Alex Yiu, 18 Oct 2005     Chris Keller, 18 Oct 2005     Ron Ten-Hove, 18 Oct 2005     Alexandre Alves, 18 Oct 2005     Danny van der Rijn, 18 Oct 2005     Chris Keller, 18 Oct 2005     Ron Ten-Hove, 18 Oct 2005     Ron Ten-Hove, 18 Oct 2005     Ron Ten-Hove, 18 Oct 2005     Alex Yiu, 18 Oct 2005     Chris Keller, 18 Oct 2005     Alex Yiu, 19 Oct 2005     Ron Ten-Hove, 19 Oct 2005     Proposed resolution (Ron Ten-Hove, 19 Oct 2005)     Ron Ten-Hove, 19 Oct 2005     Proposed resolution (Ron Ten-Hove, 19 Oct 2005)     Proposed resolution (Dieter Koenig1, 19 Oct 2005)     Proposed resolution (Ron Ten-Hove, 19 Oct 2005)     Satish Thatte, 23 Oct 2005     Ron Ten-Hove, 24 Oct 2005     Ron Ten-Hove, 24 Oct 2005     Satish Thatte, 24 Oct 2005     Proposed resolution (Ron Ten-Hove, 25 Oct 2005)     Danny van der Rijn, 25 Oct 2005     Ron Ten-Hove, 25 Oct 2005     Alex Yiu, 25 Oct 2005     Chris Keller, 25 Oct 2005     Alexandre Alves, 26 Oct 2005     Ron Ten-Hove, 26 Oct 2005     Alexandre Alves, 26 Oct 2005     Diane Jordan, 7 Nov 2005
Changes: 4 Jul 2003 - fields: Document;    7 Aug 2003 - fields: Links, Champion;    8 Aug 2003 - fields: Links;    9 Aug 2003 - fields: Links;    12 Aug 2003 - fields: Links;    13 Aug 2003 - fields: Links;    14 Aug 2003 - fields: Links;    19 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Links, Proposed resolution;    29 Aug 2003 - fields: Links;    30 Aug 2003 - fields: Links;    3 Sep 2003 - fields: Links;    4 Sep 2003 - fields: Links;    8 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    3 Feb 2004 - fields: Links;    4 Feb 2004 - fields: Links;    5 Feb 2004 - fields: Links;    16 Feb 2004 - fields: Links;    18 Feb 2004 - fields: Links;    19 Feb 2004 - fields: Links;    25 Feb 2004 - fields: Links;    26 Feb 2004 - fields: Links;    27 Feb 2004 - fields: Links;    28 Feb 2004 - fields: Links;    1 Mar 2004 - fields: Links;    3 Mar 2004 - fields: Links;    4 Mar 2004 - fields: Links;    16 Mar 2004 - fields: Links;    26 Mar 2004 - fields: Links;    22 Apr 2004 - fields: Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution;    5 May 2004 - fields: Status, Resolution, Links;    6 May 2004 - fields: Links;    23 Jun 2004 - fields: Links;    13 Sep 2004 - fields: Categories;    5 Jan 2005 - fields: Links, Status, Proposed resolution;    10 Jan 2005 - fields: Links, Status, Proposed resolution;    1 Apr 2005 - fields: Links, Status, Proposed resolution;    4 Apr 2005 - fields: Links;    5 Apr 2005 - fields: Links;    7 Apr 2005 - fields: Links;    11 Apr 2005 - fields: Links;    27 Apr 2005 - fields: Links;    29 Apr 2005 - fields: Links, Status, Proposed resolution;    1 May 2005 - fields: Links;    2 May 2005 - fields: Links;    3 May 2005 - fields: Links;    4 May 2005 - fields: Links;    10 May 2005 - fields: Links;    11 May 2005 - fields: Links;    16 May 2005 - fields: Links;    18 May 2005 - fields: Links;    4 Oct 2005 - fields: Links;    5 Oct 2005 - fields: Proposed resolution, Links;    12 Oct 2005 - fields: Links, Status, Proposed resolution;    13 Oct 2005 - fields: Links, Status, Proposed resolution;    17 Oct 2005 - fields: Links;    19 Oct 2005 - fields: Links, Status, Proposed resolution;    20 Oct 2005 - fields: Links, Status, Proposed resolution;    24 Oct 2005 - fields: Links;    25 Oct 2005 - fields: Links;    26 Oct 2005 - fields: Links, Status, Proposed resolution;    9 Nov 2005 - fields: Links, Status, Proposed resolution, Resolution;    22 Feb 2006 - fields: In spec


Issue 11.1: Making <assign> truly extensible

Status: resolved
In spec: 1 Sep 2005 (alex)
Date added: 5 Jan 2005
Date split: 5 January 2005
Categories: Data handling, Correlation
Submitter: Alex Yiu
Champion: Alex Yiu
Document: BPEL specification
Description:

After have a discussion and straw-poll at the Hawthorne NY F2F, I believe that the timing is now appropriate for me to formally to open a new issue (sub issue) 11.1 to make <assign> truely extensible.


Proposed Solution:

In order to have the true spirit of extensibility of <assign> syntax, we would like to suggest the following syntax changes:

The <assign> construct contains one or more elementary data manipulation operations, which are <copy> or operations defined as extension under other namespaces.

<assign standard-attributes>
    standard-elements
    (
      <copy>
        from-spec
        to-spec
      </copy>   |
      any-element-of-other-namespace
    )+
</assign>

The <copy> operation copies a type-compatible value from the source ("from-spec") to the destination ("to-spec").

[Note: the above changes go into section 9.4, starting from second paragraph]

Related Schema Change: From:

-------------------------------------
    <complexType name="tAssign">
        <complexContent>
            <extension base="bpws:tActivity">
                <sequence>
                    <element name="copy" type="bpws:tCopy"
                             maxOccurs="unbounded"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>
-------------------------------------
To: 
-------------------------------------
    <complexType name="tAssign"> 
        <complexContent> 
            <extension base="bpws:tActivity"> 
                <sequence minOccurs="0"> 
                    <element name="copy" type="bpws:tCopy" /> 
                    <choice minOccurs="0" maxOccurs="unbounded"> 
                        <element name="copy" type="bpws:tCopy" /> 
                        <any namespace="##other"
                             processContents="lax"/> 
                    </choice> 
                </sequence> 
            </extension> 
        </complexContent> 
    </complexType>
-------------------------------------

[Note: the XSD changes is not that straightforward because we want to avoid the non-deterministic choice content model problem due to XSD semantics and our current usage of its extension mechansim (tActivity). Also, due to similar restrictions from XSD, the constraint of at least one data manipulation operation cannot be enforced directly by the XSD itself. BPEL implementation needs to do its own validation post XSD validation, similar to the case of enforcing that only one of multiple optional attributes at <variable> declaration is used.]


Background:

Currently, <assign> is an BPEL extensible activity element. That means people can potentially add some other construct under <assign> to denote some of operations that the spec do not define. (So, the other operations can be still under the same atomic assignment unit.)

However, the BPEL syntax grammar (including its XMLSchema) requires at least one <copy> under <assign>. That is:

<assign standard-attributes>
    standard-elements
    <copy>+
       from-spec
        to-spec
    </copy>
</assign>

That implies we cannot have just one extended operation under the <assign> syntax. E.g.:
<assign>
    <foo:barOperation ... /> 
</assign>

Due to the current usage of XML Schema definition, it also forces the extension element must appear before the <copy> element. E.g.: the following usage is disallowed by the current schema design:

<assign>
    <copy> ... </copy>
    <foo:barOperation ... /> 
</assign>

Resolution: Proposed in Proposed resolution (Alex Yiu, 14 Jan 2005), decided at conf call, 19 Jan 2005.


Proposed resolution: Alex Yiu, 14 Jan 2005
Links: Proposed resolution (Alex Yiu, 4 Jan 2005)     Proposed resolution (Alex Yiu, 14 Jan 2005)
Changes: 5 Jan 2005 - new sub-issue;    14 Jan 2005 - fields: Links, Status, Proposed resolution;    20 May 2005 - fields: In spec;    12 Sep 2005 - fields: In spec


Issue 12: XML types and WS Interactions

Status: resolved
In spec: No change
Date added: 25 Jun 2003
Categories: Data handling
Origin: Initial issue log, item 5 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Document: BPEL specification
Description:
The specification currently disallows use of variables defined using XML schema types and elements in Web service interactions. In cases where WSDL message types have single parts defined using compatible XML types and elements, it should be possible to use such variables in WS interactions.
Resolution: Proposed in Peter Furniss, 29 Apr 2005, decided conf call, 18 May 2005

Issue 12 should be closed with no (further) change to the spec.

Rationale: Issue 12 was split at the December f-t-f into 12.1 and 12.2, both of which were then closed. The original proposed resolution of 12 was made into 12.1, with 12.2 as a distinct sub-issue. (In other similar cases, we have followed a pattern where the main issue is closed, with only one numbered sub-issue)
Links: Announcement, 25 Jun 2003     Discussed at Walldorf f-t-f (document details)     Proposed resolution (Yaron Y. Goland, 10 Dec 2004)     Ron Ten-Hove, 10 Dec 2004     Proposed resolution (Peter Furniss, 29 Apr 2005)
Changes: 4 Jul 2003 - fields: Document;    22 Apr 2004 - fields: Links;    11 Dec 2004 - fields: Links, Status, Proposed resolution;    14 Dec 2004 - fields: Links;    29 Apr 2005 - fields: Links, Status, Proposed resolution;    19 May 2005 - fields: Status, Proposed resolution, Resolution, In spec


Issue 12.1: XML types and WS Interactions (Part of)

Status: resolved
In spec: March 05
Date added: 18 Jan 2005
Categories: Data handling
Date submitted: 14 December 2004
Submitter: Yaron Y. Goland
Description: This issue was created so we could pass the original proposal for issue 12 at the 14-16 December 2005 F2F and create a new sub-issue, issue 12.2 : XML types and WS Interactions (Part of), to deal with a specific problem in the proposal.
Resolution: Proposed in Yaron Y. Goland, 10 Dec 2004, decided ftf 14-16 December 2004

Allow messaging activities involving messageTypes with a single part defined using an element (e.g. a WS-I doc/lit) to submit a BPEL variable of the same element type as the part directly to the message activity rather than having to submit a BPEL messageType variable.

Rationale: Today all message activities in BPEL require the use of a WSDL messageType variable. But moving forward it is expected that WS-I’s doc/lit design pattern will be a common Web Services design pattern. This pattern requires that a message have exactly one part and that the part be defined using an element. In other words messages having to look something like:

<xsd:element name="myElem">
     <xsd:complexType>
        <xsd:sequence>
           <xsd:element name="xsdtns:detail" ... />
        </xsd:sequence>
     </xsd:complexType>
</xsd:element>
...
<wsdl:message name="myMsgType">
     <wsdl:part name="myPartName" element="xsdtns:myElem" />
</wsdl:message>

Rather than requiring users to wrap the single element of content into a messageType variable it would be much simpler to allow, in these cases, for the user to directly submit an element BPEL variable to the message operation. The consequence is that a BPEL which only deals with WS-I compliant doc/lit operations would never need to use messageType variables at all. They could just use element variables.

Allowing this optimization, besides making BPEL code simpler, would also put BPEL in very good shape for the eventual transition to WSDL 2.0. WSDL 2.0 messages do not have any parts at all and are defined exclusively using XML elements. So by allowing for message activities that interact with WSDL 1.1 messages with a single element-based part to avoid using messageType variables and just use XML variables we make it much easier for BPEL 2.0 code to make the transition to a WSDL 2.0 world.

Changes Required: This proposal depends on issue 93 and 145. In the case where a messageType consists of a single part defined using an element it will be legal to submit a BPEL element variable instead of a messageType variable to messaging activities. The onEvent handler will be extended to have an element attribute in addition to a messageType attribute. The catch semantics are extended so that if there is no messageType based catch that matches a fault whose data is a messageType then if the messageType has one part defined using an element then a matching element based catch can grab it.

Section 11.3

Add to the end of the section: If the WSDL operation used to send and/or receive a message in an invoke activity is defined as a message containing exactly one part which itself is defined using an element then a BPEL variable of the same element type as used to define the part MAY be submitted directly to the invoke activity. The result of submitting a BPEL variable in the previously defined circumstance MUST be the equivalent of declaring an anonymous temporary WSDL message variable based on the associated WSDL message type. In the case of an inputVariable the value of the submitted BPEL variable will be used to set the value of the part in the anonymous temporary WSDL message variable. In the case of an outputVariable the value of the received part in the temporary WSDL message variable will be used to set the value of the submitted BPEL variable.

Section 11.4

Insert after the paragraph that begins “It is permissible to have the createInstance attribute”: If the WSDL operation used to receive or send a message in a request/reply activity is defined as a message containing exactly one part which itself is defined using an element then a BPEL variable of the same element type as used to define the part MAY be submitted directly to the request/reply activity. The result of submitting a BPEL variable in the previously defined circumstance MUST be the equivalent of declaring an anonymous temporary WSDL message variable based on the associated WSDL message type. In the case of a receive activity, the incoming part’s value will be used to set the value of the submitted BPEL variable. In the case of a reply activity the value of the submitted BPEL variable will be used to set the value of the part in the anonymous temporary WSDL message variable that is sent out. In the case of a reply that is sending a fault the same logic applies but using a fault name rather than an operation name.

Section 12.4

Change: Each pick activity MUST include at least one onMessage event. The semantics of the onMessage event is identical to a receive activity regarding the optional nature of the variable attribute, the handling of race conditions, and the constraint regarding simultaneous enablement of conflicting receive actions.

To: Each pick activity MUST include at least one onMessage event. The semantics of the onMessage event is identical to a receive activity regarding the optional nature of the variable attribute, the handling of race conditions, the single element-based part message short cut and the constraint regarding simultaneous enablement of conflicting receive actions.

Section 13.4

Change: A fault response to an invoke activity is one source of faults, with obvious name and data aspects based on the definition of the fault in the WSDL operation.

To: A fault response to an invoke activity is one source of faults, with name and data aspects based on the definition of the fault in the WSDL operation.

Change: Because of the flexibility allowed in expressing the faults that a catch activity can handle, it is possible for a fault to match more than one fault handler. The following rules are used to select the catch activity that will process a fault: • If the fault has no associated fault data, a catch activity that specifies a matching faultName value and no faultVariable attribute will be selected if present. Otherwise, the default catchAll handler is selected if present. • If the fault has associated fault data, a catch activity specifying a matching faultName value and a faultVariable whose type (WSDL message type) matches the type of the fault’s data will be selected if present. Otherwise, a catch activity with no specified faultName and with a faultVariable whose type matches the type of the fault data will be selected if present. Otherwise, the default catchAll handler is selected if present. If no catch or catchall is selected, the fault is not caught by the current scope and is rethrown to the immediately enclosing scope (see Implicit Fault and Compensation Handlers for a more complete description of the default fault and compensation handling behavior). If the fault occurs in (or is rethrown to) the global process scope, and there is no matching fault handler for the fault at the global level, the process terminates abnormally, as though an exit activity had been performed.

To: Because of the flexibility allowed in expressing the faults that a catch activity can handle, it is possible for a fault to match more than one fault handler.

In the case of faults thrown without associated data the fault will be caught as follows:

In the case of faults thrown with associated data the fault will be caught as follows:

If the fault occurs in (or is rethrown to) the global process scope, and there is no matching fault handler for the fault at the global level, the process terminates abnormally, as though an exit activity had been performed. See Implicit Fault and Compensation Handlers for a more complete description of the default fault and compensation handling behavior.

Section 13.5

Change the onEvent element definition to make messageType optional and add an optional element attribute.

      <onEvent partnerLink="ncname" portType="qname"?
           operation="ncname" variable="ncname"?
           (messageType="qname" | element="qname" )? >
Insert after the schema: All instances of onEvent MUST use either the messageType or element attribute but not both.

Section 13.5.1

Change: The messageType attribute specifies the type of the variable by referencing a message type definition using its QName. The type of the variable (as specified by the messageType attribute) must be the same as the type of the input message defined by operation referenced by the operation attribute. The variable and messageType attributes constitute the declaration of a variable of that name and type within an implicit scope associated with the event handler.

To: The messageType attribute specifies the type of the variable by referencing a message type definition using its QName. The type of the variable (as specified by the messageType attribute) must be the same as the type of the input message defined by operation referenced by the operation attribute. Optionally the messageType attribute may be omitted and instead the element attribute substituted if the message to be received has a single part and that part is defined with an element type that matches the element type referenced by the element attribute. The variable and messageType/element attribute constitute the declaration of a variable of that name and type within an implicit scope associated with the event handler. If an element attribute is used then the binding of the incoming message to the variable declared in the onEvent handler occurs as specified for the receive activity in section 11.4.
Links: Proposed resolution (Yaron Y. Goland, 10 Dec 2004)
Changes: 14 Apr 2005 - fields: In spec;    29 Apr 2005 - fields: Resolution


Issue 12.2: Accessing messageType properties under issue 12

Status: resolved
In spec: no change
Date added: 7 Jan 2005
Categories: Data handling
Date submitted: 23 December 2004
Submitter: Yaron Y. Goland
Description: If someone has defined a property on a messageType and a programmer uses issue 12.1 : XML types and WS Interactions (Part of) to pass in and out an element for that messageType then how does the programmer get access to the messageType specific properties? After all, if they pass the element into getVariableProperty they will (per issue 145 : Properties on Non-Message Variables ) only get the properties defined on the element, not the messageType.
This issue is being opened as a result of the resolution of issue 12.1.


Submitter's proposal: Close with no change.
Resolution: Proposed in Yaron Y. Goland, 4 Mar 2005, decided conf call 23 March 2005

Close with no action
Rationale: Properties will be introduced into WSDL with BPEL. Which means that everyone using properties will know about BPEL and BPEL's focus on using single element variables rather than WSDL message variables for WS-I doc/lit messages. I therefore find it difficult to believe that a bunch of people will go out and write properties on WS-I doc/lit messages rather than putting those properties directly on the underlying elements. Yes, there are some situations where, in theory, the same element could be used on two different messages and so need two different sets of properties. But this would be very strange for a WS-I doc/lit scenario. In WS-I doc/lit the element is the message. So elements tend to be unique to particular messages. If two messages need different sets of properties then they're equally likely to be using two different parent elements. From what I can see, this issue represents a problem that probably doesn't exist.
Links: Announcement, 18 Jan 2005     Proposed resolution (Yaron Y. Goland, 4 Mar 2005)
Changes: 7 Jan 2005 - new sub-issue;    4 Mar 2005 - fields: Links, Status, Proposed resolution


Issue 13: Future Usage of XPATH 2.0 and XQuery 1.0

Status: resolved
In spec: 4 June 2004
Date added: 25 Jun 2003
Origin: Initial issue log, item 6 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Francisco Curbera
Document: BPEL specification
Description:
The current specification mandates support for XPATH 1.0 and leaves the door open for other query and expression languages fir the future. XPATH 2.0 and XQuery 1.0 are the obvious future candidates. There are two related issues here.

A. Should we adjust the BPEL syntax (element rather than attribute content for XQuery) to prepare for the use of XQuery in future?

B. Should we change the mandatory dependency for query and expression support from XPATH 1.0 to XPATH 2.0? Keeping in mind that XPATH 1.0 is very widely deployed whereas XPATH 2.0 is not yet a recommendation, although it is likely to become one in roughly the same timeframe as the final release of the specification produced by the WSBPEL TC.
Resolution: Proposed in rkhalaf, 10 Dec 2003, decided at conf call, 21 January 2004

The proposal is to replace things with expressions and queries from being an attribute to being an element. This would affect <from>, <to> , <propertyAlias>, and conditions. This would gear up for using other languages for querying that may have a structured syntax. An example is the upcoming XQueryX, a proposal for XQuery using XML syntax. The case for string queries is also shown below.

With elements instead of attributes, we can allow one to override the default query/expression languages locally. The proposal allows for optional query/expressionLanguage attributes on queries and conditions that can locally override the global default.

Current syntax:

<wsbp:from variable="ncname" part="ncname"? query="queryString"?/>

<wsbp:link ... transitionCondition="..." /> <wsbp:targets joinCondition="..."> .. the same for switch's case, and the whileCondition

Proposed syntax

<wsbp:from variable="ncname" part="ncname"?>
  <wsbp:query queryLanguage=".."?> ?      query goes here
  </wsbp:query>
</wsbp:from>
For example, an XPath 1.0 query would be encoded:
<wsbp:from variable="ncname" part="ncname"?>
  <wsbp:query>
  /shipNotice/ShipNoticeHeader/shipOrderID
  </wsbp:query>
</wsbp:from>
Conditions:
<wsbp:source ... >
      <wsbp:transitionCondition 
expressionLanguage=".."?>...</transitionCondition>?
</wsbp:source>
and
<wsbp:targets>
    <wsbp:joinCondition expressionLanguage="..."?>...</joinCondition> ?
     <wsbp:link.... />
</wsbp:targets>
.. the same for switch's case, and the whileCondition
Links: Yaron Y. Goland, 22 May 2003     Announcement, 25 Jun 2003     Proposed resolution (rkhalaf, 7 Dec 2003)     John Evdemon, 9 Dec 2003     Revised proposal (rkhalaf, 10 Dec 2003)     Assaf Arkin, 10 Dec 2003     Yaron Goland, 23 Dec 2003     Assaf Arkin, 23 Dec 2003     Yaron Goland, 23 Dec 2003     Assaf Arkin, 23 Dec 2003     Yaron Goland, 24 Dec 2003     Assaf Arkin, 7 Jan 2004     Yaron Goland, 7 Jan 2004     David RR Webber, 7 Jan 2004     Discussed at 7 January 2004 meeting - vote deferred for further input     Yaron Goland, 7 Jan 2004     David RR Webber, 7 Jan 2004     Assaf Arkin, 7 Jan 2004     David RR Webber, 7 Jan 2004     Assaf Arkin, 7 Jan 2004     David RR Webber, 7 Jan 2004     Assaf Arkin, 7 Jan 2004     David RR Webber, 7 Jan 2004     Alex Yiu, 7 Jan 2004     rkhalaf, 20 Jan 2004     Alex Yiu, 21 Jan 2004     Chris Keller, 3 Feb 2004     Yaron Goland, 3 Feb 2004     Dieter Koenig1, 22 Jul 2004     Yaron Y. Goland, 23 Jul 2004     Alex Yiu, 23 Jul 2004     Dieter Koenig1, 24 Jul 2004
Changes: 4 Jul 2003 - fields: Document;    10 Sep 2003 - fields: Champion;    8 Dec 2003 - fields: Links, Status, Proposed resolution;    10 Dec 2003 - fields: Links, Proposed resolution;    23 Dec 2003 - fields: Links;    7 Jan 2004 - fields: Links;    8 Jan 2004 - fields: Links;    21 Jan 2004 - fields: Links;    27 Jan 2004 - fields: Status, Proposed resolution, Resolution;    3 Feb 2004 - fields: Links;    9 Jun 2004 - fields: In spec;    22 Jul 2004 - fields: Links;    23 Jul 2004 - fields: Links;    26 Jul 2004 - fields: Links

Issue 14: Restriction on join conditions

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Initial issue log, item 7 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Document: BPEL specification
Description:
Should join conditions be restricted to be monotonic? This relates to some related research at York University http://www.cs.yorku.ca/techreports/2003/CS-2003-04.html and seems to essentially say that it is undesirable to allow join conditions that evaluate to true because a link status is false.
Resolution: Proposed in Dieter Koenig1, 19 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: The referenced paper discusses different behavior (called side effects) for processes run with or without DPE. From looking at the paper, it seems that running processes without DPE introduces new situations where the process just stops and never reaches the end.
Links: Announcement, 25 Jun 2003     Proposed resolution (Dieter Koenig1, 19 Jan 2004)     Peter Furniss, 26 Jan 2004
Changes: 4 Jul 2003 - fields: Document;    20 Jan 2004 - fields: Links;    26 Jan 2004 - fields: Links, Status, Proposed resolution;    4 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 15: WSDL MEPs

Status: resolved
In spec: No change
Date added: 25 Jun 2003
Categories: Related standards
Origin: Initial issue log, item 8 (document details )
Date submitted: 23 May 2003
Submitter: Original authors group
Champion: Francisco Curbera
Document: BPEL specification
Description:
Tracking: WSDL 1.2 has a number of MEPs. We need to clarify the relationship of these with BPEL.
Resolution: Proposed in Yaron Y. Goland, 16 Sep 2004, decided at September face-to-face

Whatever action we were going to take with respect to WSDL 2.0 has been taken and therefore this issue can be closed with 'no change'.
Links: Announcement, 25 Jun 2003     Kevin Liu, 22 Sep 2003     Proposed resolution (Yaron Y. Goland, 16 Sep 2004)
Changes: 4 Jul 2003 - fields: Document;    10 Sep 2003 - fields: Champion;    23 Sep 2003 - fields: Links;    16 Sep 2004 - fields: Links, Status, Proposed resolution;    6 Oct 2004 - fields: Status, Proposed resolution, Resolution, In spec


Issue 16: Ensuring exactly once

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Mike Marin, 22 May 2003 - issue "a" from that message
Date submitted: 22 May 2003
Submitter: Mike Marin, Filenet
Document: BPEL specification
Description:
We don't have distributed transactions on web services yet. So how do we insure that an activity such as an "invoke" is executed exactly one time? The following example illustrates the problem:
1. Process A begins execution of an invoke instruction, and sends an input message to Process B. There is no output message defined on the invoke.
2. Process B is defined with a receive instruction corresponding to the invoke of process A, and the receive instruction creates a new instance of the process. So upon receipt of the message from process A, a new instance of process B is created, and this instance executes the receive instruction.
3. The machine hosting process A crashes.
4. Process B executes the next step, which is to debit an account and update a database.
5. Process B terminates. Process B has finished.
6. The machine hosting process A is restarted. Process A then re-executes the invoke instruction.

On step 6, how can we prevent process A from executing the invoke a second time, creating another instance of process B, and debiting the account a second time?
Resolution: proposed in Mike Marin, 10 Dec 2003, agreed at Melbourne face-to-face, 10 December 2003

Closed without change to the specification.

Vote 18 for, 6 against, 5 abstain
Links: Mike Marin, 22 May 2003     Fred A Cummins, 22 May 2003     Mike Marin, 22 May 2003     Mark Little, 23 May 2003     Mike Marin, 23 May 2003     David RR Webber, 24 May 2003     Satish Thatte, 24 May 2003     Mark Little, 24 May 2003     Maciej Szefler, 26 May 2003     Mark Little, 27 May 2003     Maciej Szefler, 27 May 2003     Announcement, 25 Jun 2003     proposed resolution (Mike Marin, 10 Dec 2003)
Changes: 4 Jul 2003 - fields: Document, Links;    10 Dec 2003 - fields: Status, Resolution, Links


Issue 17: Asynchronous operations

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Mike Marin, 22 May 2003 - issue "b" from that message
Date submitted: 22 May 2003
Submitter: Mike Marin, Filenet
Document: BPEL specification
Description:
Invoking an operation, with input and output, that is implemented by a process using receive and replay requires the WSDL operation to be asynchronous. A process may take days or weeks between the receive and the reply, so the client cannot keep a connection open waiting for the reply. Although WSDL 1.1 talks about asynchronous operations; it does not seems to be any support for it in the WSDL specification.
Resolution: Proposed in Yaron Goland, 20 Jan 2004, decided at conf call, 21 January 2004

Close with no change to the specification.
Links: Mike Marin, 22 May 2003     Assaf Arkin, 27 May 2003     Maciej Szefler, 27 May 2003     Mark Little, 27 May 2003     Edwin Khodabakchian, 27 May 2003     Maciej Szefler, 27 May 2003     Edwin Khodabakchian, 27 May 2003     Maciej Szefler, 28 May 2003     Assaf Arkin, 30 May 2003     Maciej Szefler, 30 May 2003     Satish Thatte, 2 Jun 2003     Assaf Arkin, 2 Jun 2003     Announcement, 25 Jun 2003     Proposed resolution (Yaron Goland, 20 Jan 2004)
Changes: 4 Jul 2003 - fields: Document, Links;    21 Jan 2004 - fields: Links, Status, Proposed resolution;    27 Jan 2004 - fields: Status, Proposed resolution, Resolution


Issue 18: BPEL Visual Binding

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email David Burdett, 22 May 2003
Date submitted: 22 May 2003
Submitter: David Burdett, CommerceOne
Document: BPEL specification
Description:
THE PROBLEM The problem arises because of three assumptions that I believe are valid:
1. BPEL is an "execution only" language, i.e. it is desgined to be something that can be input into software and run, e.g. using some "BPEL Run Time" software
2. BPEL will often be defined and maintained with the aid of some GUI based "BPEL Design Time" software that allows the process to be visualised.
3. The BPEL Design Time software will contain additional positional and graphical information about the visual representation of the BPEL design that not contained in the BPEL XML definitions.

The problem is that this means that exporting a BPEL definition from one BPEL Design Time for input into another will result in a BPEL definition that will not be easily editable as all the graphical information would be lost.

In the extreme, for a complex design, it could mean that designer of business processes using BPEL is effectively locked into the BPEL Design Time software provider that they initially choose. This I don't think is a good idea.

THE SOLUTION ?

To solve this problem I would like to suggest the setting up of a sub-committe of the TC that has responsibilty for developing a "BPEL Visual Binding" specification which would contain the relevant visual information from the BPEL Design Time. The idea would be that the Visual Binding specification is a separate document to the main BPEL specification. Also BPEL Design Time Implementations could export either:
1. The BPEL XML Definition alone, or
2. The BPEL XML Definition PLUS the BPEL Visual Binding

The former could be used for input to a BPEL Run Time and the latter could be input into some other BPEL Design Time.

By creating a separate, but related, specification, it should be possible to carry out the work on the BPEL Visual Binding specifcation in parallel, without hindering any work on the main BPEL specification.
Resolution: Proposed in Satish Thatte, 23 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: Visual notation is a separable dimension and arguably out of scope for this TC.

David Burdett originally opened the issue.

Discussion:

David wrote that he was agreeable to closing this, but added the suggestion that the TC make a non-binding recommendation to implementers of BPEL to provide an export file and related specification that provided information about any graphical representations of a BPEL definition. So that others could provide import facilities if they wanted to.

My response to that suggestion was that making such a recommendation will start the whole discussion about whether BPEL is meant to be directly used for design or compiled out of some higher level design metaphor. I would much prefer to avoid a discussion that would be tool specific anyway.

I suggested to David that he open a separate issue for the non-binding recommendation if he felt that was important to have.
Links: David Burdett, 22 May 2003     Tony Andrews, 22 May 2003     David Burdett, 22 May 2003     Rajesh Pradhan, 22 May 2003     David Burdett, 23 May 2003     David RR Webber, 23 May 2003     Jim Webber, 23 May 2003     Stephen White, 23 May 2003     Edwin Khodabakchian, 23 May 2003     Waqar Sadiq, 23 May 2003     David Burdett, 23 May 2003     Waqar Sadiq, 23 May 2003     Edwin Khodabakchian, 23 May 2003     Stephen White, 23 May 2003     Maciej Szefler, 26 May 2003     David RR Webber, 27 May 2003     Rajesh Pradhan, 27 May 2003     David Burdett, 27 May 2003     Jim Webber, 27 May 2003     Waqar Sadiq, 27 May 2003     David RR Webber, 27 May 2003     Maciej Szefler, 27 May 2003     Fred A Cummins, 27 May 2003     Assaf Arkin, 27 May 2003     David RR Webber, 27 May 2003     David Burdett, 28 May 2003     David Burdett, 28 May 2003     J. Matthew Pryor, 28 May 2003     David RR Webber, 28 May 2003     David RR Webber, 29 May 2003     Assaf Arkin, 30 May 2003     Announcement, 25 Jun 2003     Satish Thatte, 23 Jan 2004     Proposed resolution (Satish Thatte, 23 Jan 2004)
Changes: 4 Jul 2003 - fields: Document, Links;    23 Jan 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 19: Multiple properties associated to a single property alias

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Fred Carter, 22 May 2003
Date submitted: 22 May 2003
Submitter: Fred Carter, Amberpoint
Document: BPEL specification
Description:
BPEL introduces the notion of properties & property aliases. This combination provides powerful expressive capabilities for "important concepts" to a process. This information is expected, at present, to be distributed between the BPEL definition (the properties) and the WSDL definitions (the property aliases).

In practice, it is likely that some number of processes will refer to the same properties, but that these BPEL files may not be aware of one another. Thus, it would be good to explore the ability to associate multiple properties with a single property alias.

Part of this work may involve determining how to map different type specifications (which may be (probably must be) structurally "similar", but named differently) that are associated with the property definition.

This is probably a lower-level issue, not required to be addressed early on. However, we should consider it for usability purposes.
Resolution: Proposed in Satish Thatte, 21 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: While generalization of type systems may be useful in some circumstances, we have stayed with XML types in BPEL for a good reason -interoperability. On the issue of property sharing, the existing mechanisms already allow the same alias to be used for many properties, so no change seems to be required there. Fred Carter originally opened the issue and he agreed with me in e-mail that the issue should be closed with no changes to the spec.
Links: Announcement, 25 Jun 2003     Proposed resolution (Satish Thatte, 21 Jan 2004)
Changes: 4 Jul 2003 - fields: Document;    21 Jan 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 20: installing compensation handlers for faulted scopes

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Ram Jeyaraman, 28 May 2003
Date submitted: 28 May 2003
Submitter: Ram Jeyaraman, Sun
Champion: Ram Jeyaraman
Document: BPEL specification
Description:
should a faulted scope be deemed successfully completed or not?

currently, i beleive, a compensation handler is not installed for a faulted scope, irrespective of whether the fault is propagated-up or not.

i realize, as Satish pointed to, there are issues with allowing the fault handler to attempt alternative normal completion.

however, i would like to discuss this further to help convince ourselves that we are embarked on the right model for fault/compensation handling.

(a) Normally, if a fault handler were to be able to handle the fault itself, that is, do corrective actions (both undo and redo), then the fault is not rethrown, and the forward action can proceed as normally intended.

(b) On the other hand, if the fault handler is not able to handle the fault, perhaps it failed somewhere in its attempt to undo/redo, it rethrows the fault, and the normal execution is short-circuited.

in the case of (a), it seems reasonable to install a compensation handler, since the fault was successfully handled, and forward progress can be made. If this is not the case, the problem is that every forward action has to check if the previous action(s) had successfully completed, which is non-trivial. In such a case, the developer is most-likely going to almost *always* rethrow* a fault in order to avoid having to check for every action if the previous one(s) had successfully completed.

in the case of (b), it seems reasonable to *not* install a compensation handler, since the fault was not successfully handled, or rather the action did not completed successfully.

summary: the fact whether a fault was rethrown by a fault handler may be used to decide whether to install a compensation handler or not. thanks.
Resolution: Proposed in message Ram Jeyaraman, 29 Sep 2003, decided in TC conf call, 1 October 2003

Closed with no further action

Links: Ram Jeyaraman, 28 May 2003     Assaf Arkin, 30 May 2003     Ram Jeyaraman, 31 May 2003     Assaf Arkin, 31 May 2003     Ram Jeyaraman, 31 May 2003     Assaf Arkin, 2 Jun 2003     David RR Webber, 2 Jun 2003     Assaf Arkin, 3 Jun 2003     David RR Webber, 3 Jun 2003     Announcement, 25 Jun 2003     Satish Thatte, 15 Sep 2003     Discussed at Redmond face-to-face     Ram Jeyaraman, 22 Sep 2003     Satish Thatte, 23 Sep 2003     Ram Jeyaraman, 24 Sep 2003     Proposed resolution (Ram Jeyaraman, 29 Sep 2003)     Ram Jeyaraman, 30 Sep 2003     Monica Martin, 30 Sep 2003
Changes: 4 Jul 2003 - fields: Document, Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    22 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    24 Sep 2003 - fields: Links;    30 Sep 2003 - fields: Links, Proposed resolution, Status;    1 Oct 2003 - fields: Vote announcement, Links, Status, Resolution, Proposed resolution


Issue 21: faultHandlers to be renamed cancellationHandlers

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Categories: Fault handling, Syntax and validation
Origin: Extracted from email Edwin Khodabakchian, 29 May 2003
Date submitted: 29 May 2003
Submitter: Edwin Khodabakchian, Collaxa
Document: BPEL specification
Description:
Given that faultHandlers/catch are not expected to do any forward looking work, I would like to suggest that we consider renaming them to cancellationHandlers/catch.
Resolution: Proposed in Satish Thatte, 18 Feb 2004, decided at conference call 3 March 2004

Closed with no further action.
Rationale:

The existing text below is considered clear enough:

The completion of the activity of a fault handler, even when it does not rethrow the fault handled, is never considered successful completion of the attached scope and compensation is never enabled for a scope that has had an associated fault handler invoked.

Links: Announcement, 25 Jun 2003     Edwin Khodabakchian, 18 Feb 2004     Proposed resolution (Satish Thatte, 18 Feb 2004)
Changes: 4 Jul 2003 - fields: Document;    18 Feb 2004 - fields: Links, Status, Proposed resolution;    3 Mar 2004 - fields: Status, Proposed resolution, Resolution, Rationale

Issue 22: Implicit <sequence> macro

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Yuzo Fujishima, 11 Jun 2003
Date submitted: 11 June 2003
Submitter: Yuzo Fujishima, NEC Corporation
Champion: Yuzo Fujishima
Document: BPEL specification
Description:
I would like to propose what may be called "implicit sequence". Implicit sequence "macro": If multiple activities are placed in a process definition where only one activity is allowed per se, assume there is an implicit sequence activity that contains the activities. Example: Regard
  <scope>
   <receive/>
   <invoke/>
   <reply/>
  </scope>
as
  <scope>
   <sequence>     <!-- implicit sequence -->
    <receive/>
    <invoke/>
    <reply/>
   </sequence>
  </scope>

Resolution: Proposed in Yaron Goland, 19 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: The issue was originally opened by Yuzo Fujishima. There was a discussion thread on the proposal and it was agreed that the potential complexity of the optimization outweighted its benefit. The thread concluded with a general agreement to close the issue but no actual proposal was made. I (Yaron) exchanged e-mail with Yuzo in which he confirmed that he agreed that the issue should be closed with no change to the spec.
Links: Yuzo Fujishima, 11 Jun 2003     Satish Thatte, 12 Jun 2003     Edwin Khodabakchian, 12 Jun 2003     Frank Leymann, 12 Jun 2003     Satish Thatte, 12 Jun 2003     Assaf Arkin, 12 Jun 2003     Greg Ritzinger, 12 Jun 2003     Waqar Sadiq, 12 Jun 2003     David RR Webber, 12 Jun 2003     Prasad Yendluri, 12 Jun 2003     Ugo Corda, 12 Jun 2003     Satish Thatte, 12 Jun 2003     Neelakantan Kartha, 12 Jun 2003     Assaf Arkin, 12 Jun 2003     Ugo Corda, 12 Jun 2003     Assaf Arkin, 12 Jun 2003     Ugo Corda, 12 Jun 2003     Prasad Yendluri, 12 Jun 2003     Ron Ten-Hove, 12 Jun 2003     Glenn Mi, 13 Jun 2003     Assaf Arkin, 13 Jun 2003     Announcement, 25 Jun 2003     Proposed resolution (Yaron Goland, 19 Jan 2004)
Changes: 4 Jul 2003 - fields: Document, Links;    31 Jul 2003 - fields: Champion;    20 Jan 2004 - fields: Links, Status, Proposed resolution;    4 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 23: Rationale for sequence vs. flow

Status: resolved
In spec: 4 June 2004
Date added: 25 Jun 2003
Origin: Extracted from email Eckenfels. Bernd, 12 Jun 2003
Date submitted: 12 June 2003
Submitter: Bernd Eckenfels, Seeburger
Previous title: implicit links of the runtime engine
Champion: Bernd Eckenfels
Document: BPEL specification
Description:
The spec contains a <sequence> construct, which totally can be replaced by a <flow> with explicit links between contained activities.

This may be possibly confusing for the readers (wondering if they missed anything). So the redundancy needs to be either removed or explained.
Submitter's Proposal:
Either
- remove <sequence> construct
Or
- add rationale to explain it is syntactical sugar
Resolution: Proposed in message Neelakantan Kartha, 29 Aug 2003, approved at conf call 15 October 2003. (Previous approving Web ballot (ended 08 Oct 2003) was inquorate)

Add the following text in Section 12.

12 Structured Activities

... * Nondeterministic choice based on external events is provided by pick.

The set of structured activities in BPEL4WS is not intended to be the minimal required set. There are cases where one activity can replace another. For example, the sequence activity used to structure sequential processing may be emulated by a flow with additional links, to ensure sequential processing.

Structured activities can be used recursively.....


Links: Eckenfels. Bernd, 12 Jun 2003     Assaf Arkin, 12 Jun 2003     Eckenfels. Bernd, 13 Jun 2003     Satish Thatte, 13 Jun 2003     Assaf Arkin, 13 Jun 2003     Satish Thatte, 14 Jun 2003     Assaf Arkin, 16 Jun 2003     Satish Thatte, 16 Jun 2003     Assaf Arkin, 16 Jun 2003     Satish Thatte, 16 Jun 2003     Eckenfels. Bernd, 17 Jun 2003     Assaf Arkin, 17 Jun 2003     Ron Ten-Hove, 17 Jun 2003     Fred Carter, 17 Jun 2003     Ron Ten-Hove, 17 Jun 2003     Maciej Szefler, 18 Jun 2003     Satish Thatte, 19 Jun 2003     Fred Carter, 19 Jun 2003     Assaf Arkin, 19 Jun 2003     Ron Ten-Hove, 20 Jun 2003     Eckenfels. Bernd, 20 Jun 2003     Satish Thatte, 20 Jun 2003     David RR Webber, 20 Jun 2003     Assaf Arkin, 20 Jun 2003     Assaf Arkin, 20 Jun 2003     David RR Webber, 20 Jun 2003     Assaf Arkin, 20 Jun 2003     Ugo Corda, 20 Jun 2003     David RR Webber, 20 Jun 2003     Announcement, 25 Jun 2003     Eckenfels. Bernd, 25 Jun 2003     Ram Jeyaraman, 28 Jul 2003     Assaf Arkin, 30 Jul 2003     Eckenfels. Bernd, 18 Aug 2003     Yaron Goland, 19 Aug 2003     Eckenfels. Bernd, 19 Aug 2003     Eckenfels. Bernd, 20 Aug 2003     Monica Martin, 24 Aug 2003     Eckenfels. Bernd, 25 Aug 2003     Proposed resolution (Neelakantan Kartha, 29 Aug 2003)
Changes: 4 Jul 2003 - fields: Document, Links;    29 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    18 Aug 2003 - fields: Links;    19 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Links;    25 Aug 2003 - fields: Links;    30 Aug 2003 - fields: Links;    1 Oct 2003 - fields: Status, Proposed resolution, Vote announcement;    6 Oct 2003 - fields: Status, Vote announcement;    9 Oct 2003 - fields: Status, Proposed resolution, Vote announcement, Resolution;    15 Oct 2003 - fields: Resolution;    9 Jun 2004 - fields: In spec

Issue 24: Separate schemas for executable vs abstract BPEL

Status: resolved
In spec: no change
Date added: 25 Jun 2003
Origin: Extracted from email Danny van der Rijn, 12 Jun 2003
Date submitted: 12 June 2003
Submitter: Danny van der Rijn, Tibco
Champion: Sumeet S Malhotra
Document: BPEL specification
Description:
Separate schemas for the executable vs. the abstract forms of BPEL would allow validation by schema, rather than by hand-coded rules based on spec verbiage.

Resolution: Proposed in Danny van der Rijn, 7 Jan 2004, decided 4 February 2004 con call

To create 2 separate schemas for validating abstract and executable processes. Each schema would have its own URI. I will leave the question of if/how they extend a common base schema to whoever writes the things.
Links: Danny van der Rijn, 12 Jun 2003     John Evdemon, 12 Jun 2003     Announcement, 25 Jun 2003     Danny van der Rijn, 12 Dec 2003     Yaron Goland, 12 Dec 2003     John Evdemon, 12 Dec 2003     Danny van der Rijn, 13 Dec 2003     John Evdemon, 13 Dec 2003     Danny van der Rijn, 13 Dec 2003     Jim Clune, 15 Dec 2003     Satish Thatte, 16 Dec 2003     John Evdemon, 16 Dec 2003     Danny van der Rijn, 16 Dec 2003     Jim Clune, 16 Dec 2003     Satish Thatte, 18 Dec 2003     Eckenfels. Bernd, 18 Dec 2003     Proposed resolution (Danny van der Rijn, 7 Jan 2004)     David RR Webber, 7 Jan 2004     Discussed at 21 January 2004, deferred pending schema development     Philip Rossomando, 26 Jan 2004     Philip Rossomando, 2 Feb 2004     Philip Rossomando, 2 Feb 2004     Alex Yiu, 2 Feb 2004     Philip Rossomando, 6 Feb 2004     Diane Jordan, 6 Feb 2004     John Evdemon, 6 Feb 2004     Ben Bloch, 6 Feb 2004     John Evdemon, 6 Feb 2004     Alex Yiu, 6 May 2004     Alex Yiu, 11 May 2004     Alex Yiu, 11 May 2004
Changes: 4 Jul 2003 - fields: Document, Links;    31 Jul 2003 - fields: Champion;    13 Dec 2003 - fields: Links;    16 Dec 2003 - fields: Links;    23 Dec 2003 - fields: Links;    7 Jan 2004 - fields: Links, Status, Proposed resolution;    27 Jan 2004 - fields: Links;    2 Feb 2004 - fields: Links;    3 Feb 2004 - fields: Links;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Links;    6 May 2004 - fields: Links;    11 May 2004 - fields: Links


Issue 25: Consistent enablement of compensation handlers

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Jun 2003
Categories: Compensation, Process coordination
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
What are the semantics of a compensation handler specified for the business process as a whole when the enableInstanceCompensation attribute is set to "no"? If instance compensation is not enabled then it should be an error to define a compensation handler. This should be clarified. If the intent is to disable default compensation when no compensation handler is defined then another alternative is to assume that no compensation is possible if no compensation handler is defined (and the same for scopes). A default compensation handler would take the form of:
<compensationHandler>
  <compensate/>
</compensationHandler>
Although this require more XML elements to be defined, it allows the compensation handling behavior to be turned on and off for the process and a scope by simply electing not to define a compensation handler. At any rate, the ability to disable compensation for a scope is also required if a process attempts to invoke compensation handlers for invoked services from compensation handlers associated with the invoke activity's scope.
Qualifier: clarification, enhancement
Resolution: Proposed in Yaron Y. Goland, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove instance (process) compensation handlers
Remove the enableInstanceCompensation attribute
Rationale: See minutes of Melbourne and Walldorf meetings, and discussion under issue 53 : Include Business Transaction Management (BTM) constructs especially Process Coordination in BPEL Final.ppt (document details)
Links: Announcement, 26 Jun 2003     Satish Thatte, 11 Aug 2003     Assaf Arkin, 11 Aug 2003     Satish Thatte, 11 Aug 2003     Assaf Arkin, 11 Aug 2003     Satish Thatte, 11 Aug 2003     Assaf Arkin, 20 Aug 2003     Satish Thatte, 20 Aug 2003     Monica Martin, 26 Aug 2003     Satish Thatte, 15 Sep 2003     Assaf Arkin, 16 Sep 2003     Discussed at Redmond face-to-face     Proposed resolution (Yaron Y. Goland, 31 Mar 2004)     Discussed at Walldorf f-t-f (document details)     Discussed at 14 April con call (document details)     Web ballot (ended 28 Apr 2004)
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    12 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Links;    26 Aug 2003 - fields: Links;    15 Sep 2003 - fields: Links;    16 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    25 Mar 2004 - fields: Categories;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Rationale, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 26: Correlating use with receive/reply

Status: resolved
In spec: no change
Date added: 26 Jun 2003
Categories: Correlation
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
"Two outstanding synchronous requests from a specific partner link for a particular operation and correlation set(s) cannot be outstanding simultaneously". A reply activity need only identify the partnerLink and operation, and therefore cannot determine which request it responds to.
Qualifier: clarification
Resolution: Decided at F2F meeting 17 December 2005.

Close with no change to the specification.

Links: Announcement, 26 Jun 2003     Danny van der Rijn, 5 Sep 2003     Monica Martin, 25 Sep 2003     Danny van der Rijn, 25 Sep 2003     Edit group action (Satish Thatte, 14 Jan 2004)
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    8 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    15 Jan 2004 - fields: Links


Issue 27: Setting link status in case of transition condition

Status: resolved
In spec: 4 June 2004
Date added: 26 Jun 2003
Categories: operational semantic
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
Consider the following example:

<scope name="X">
  <source link="A" transition=".."/>
  <source link="B"/>
  <compensationHandler/>
  .. do something
</scope>

The scope activity executes to completion. Some activities were performed that have side-effects and so a compensation handler was defined and got installed. The activity can now be compensated. The status of link B would be set to true, the status of link A would be set based on the value of the transition condition. The transition condition happens to generate a fault. What happens next?

A fault handler would be invoked in the enclosing scope and would compensate for the work done by the scope activity. If the targets of link A and link B are enclosed in the same scope then neither one would execute. But what if the target of link A and link B is in some other scope. What would be the status of the links? If the status of link A is true that may conflict with the intent of the transition condition that may set it to false realizing that some pre-condition has not been met. If the status of link A is false that would consist with the activity being compensated immediately after completion. But the case must be made that the status of link B should also be set to false for consistency.
Qualifier: clarification
Resolution: Proposed in Assaf Arkin, 1 Oct 2003, repeated in Assaf Arkin, 11 Oct 2003, decided at 15 October 2003, with the addition at the end

Add the following paragraph to the specification in the description of how links are handled (pages 64/65):

Note that the transition condition is evaluated after the activity has completed. If an error occurs while evaluating the transition condition, that error does not affect the completion status of the activity and is handled by the activity's enclosing scope. In the case of scopes, completion does not necessarily imply successful completion. A scope may suffer an internal fault and yet complete (unsuccessfully) if there is a corresponding fault handler associated with the scope and that fault handler completes without throwing a fault.

Yaron Goland and Assaf Arkin will ensure that appropriate text to note the implementation implications is included in the spec.
Links: Announcement, 26 Jun 2003     Satish Thatte, 15 Sep 2003     Discussed at Redmond face-to-face - see last slide of Satish's presentation (document details)     Assaf Arkin, 18 Sep 2003     Satish Thatte, 18 Sep 2003     Assaf Arkin, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Satish Thatte, 30 Sep 2003     Assaf Arkin, 30 Sep 2003     Satish Thatte, 30 Sep 2003     Proposed resolution (Assaf Arkin, 1 Oct 2003)     Repeat of proposed resolution (Assaf Arkin, 11 Oct 2003)     Ashwini Surpur, 16 Oct 2003     Prasad Yendluri, 16 Oct 2003     Satish Thatte, 17 Oct 2003     Ron Ten-Hove, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Assaf Arkin, 20 Oct 2003     Satish Thatte, 20 Oct 2003     Assaf Arkin, 21 Oct 2003     Satish Thatte, 23 Oct 2003     Maciej Szefler, 27 Oct 2003     Harvey Reed, 27 Oct 2003     Satish Thatte, 27 Oct 2003     Maciej Szefler, 27 Oct 2003     Maciej Szefler, 27 Oct 2003     Satish Thatte, 27 Oct 2003     Assaf Arkin, 27 Oct 2003     Assaf Arkin, 27 Oct 2003
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links, Proposed resolution;    26 Sep 2003 - fields: Links;    30 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Links, Status, Proposed resolution;    8 Oct 2003 - fields: Vote announcement;    11 Oct 2003 - fields: Proposed resolution, Links;    15 Oct 2003 - fields: Status, Vote announcement, Proposed resolution, Resolution;    17 Oct 2003 - fields: Links;    20 Oct 2003 - fields: Links;    21 Oct 2003 - fields: Links;    23 Oct 2003 - fields: Links;    27 Oct 2003 - fields: Links;    9 Jun 2004 - fields: In spec


Issue 28: Simplification of join condition

Status: resolved
In spec: No change
Date added: 26 Jun 2003
Categories: Expressions, State management
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
The specification uses the XPath language to define join conditions where in fact join conditions could only use a subset of the XPath language. Furthermore, it places a constraint that the expression use the getLinkStatus function with the name of an input link. The issue arises from the complexity of analyzing an XPath expression to determine the proper usage of XPath expressions. If the intent is not to use the full power of the XPath language and validation of the expression cannot be performed by an XPath library, perhaps we can propose a more restrictive and simpler syntax.
Qualifier: enhancement
Depends on: Issue 103
Resolution: Proposed and decided at conf call, 9 Nov 2005

Close with no change.
Links: Announcement, 26 Jun 2003     Satish Thatte, 15 Sep 2003     Assaf Arkin, 20 Oct 2003
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    20 Oct 2003 - fields: Links;    11 Nov 2005 - fields: Status, In spec, Resolution


Issue 29: Simplification of XPath expressions

Status: resolved
In spec: 7 May 2005
Date added: 26 Jun 2003
Categories: Expressions
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
Consider the following expression:

getVariable( getVariable( 'name' ) )

An expression of this form is supported by the current specification, but hinders the ability to perform static analysis on the use of variables within the activity. This could be mitigated by clarifying the use of BPEL functions such that their input arguments must be literals. However, this goes against the XPath specification that makes no such restriction. An alternative would be to use XPath variables which are precluded from this dynamic behavior as per the XPath specification. (Assuming this restriction is still part of XPath 2.0 and XQuery).
Qualifier: enhancement
Depends on: Issue 103
Resolution: Proposed in Yaron Y. Goland, 15 Mar 2005, agreed conf call 6 April 2005
The resolution proposed was accepted unanimously during the TC teleconference held 6 April 2005, on the basis of also raising two new issues Issue 201 and Issue 202.

Links: Announcement, 26 Jun 2003     Satish Thatte, 15 Sep 2003     Next messages are in Issue 3 discussion     Yaron Goland, 8 Oct 2003     Edwin Khodabakchian, 8 Oct 2003     Satish Thatte, 8 Oct 2003     Danny van der Rijn, 8 Oct 2003     Assaf Arkin, 9 Oct 2003     Assaf Arkin, 20 Oct 2003     Yaron Goland, 21 Oct 2003     Proposed resolution (Yaron Y. Goland, 15 Mar 2005)     Assaf Arkin, 16 Mar 2005     Yaron Y. Goland, 21 Mar 2005     Assaf Arkin, 21 Mar 2005     Yaron Y. Goland, 22 Mar 2005     Assaf Arkin, 23 Mar 2005     Yaron Y. Goland, 24 Mar 2005     Assaf Arkin, 24 Mar 2005     Yaron Y. Goland, 29 Mar 2005     Assaf Arkin, 29 Mar 2005
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    9 Oct 2003 - fields: Links;    20 Oct 2003 - fields: Links;    21 Oct 2003 - fields: Links;    16 Mar 2005 - fields: Links, Status, Proposed resolution;    21 Mar 2005 - fields: Links;    23 Mar 2005 - fields: Links;    25 Mar 2005 - fields: Links;    29 Mar 2005 - fields: Links;    9 May 2005 - fields: In spec


Issue 30: Support for coordination protocol

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Jun 2003
Categories: Process coordination
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
Support for use of coordination protocols for invoking services by process and when process invoked by another service.

Clarify use of coordination protocol to:

Clarify how a compensation handler in the process is used to invoke compensation handler of a service such coordinated. Clarify how the compensation handler of the process is invoked by such a service. Clarify how parameters are passed to and from compensation handler when invoked in such a manner.

Clarify the relationship between the scope in which an invocation is performed and the context that governs the coordination, where to wait for the completion of work by the participant, when to cancel such work, and how to be notified of general failure.

Also, investigate means to determine whether service supports coordination as part of the process definition (where only its interface is known), and how a process advertises this capability as part of its interface definition, e.g. using WSDL 1.2 F&P.
b>Revisitable: Yes
Qualifier: enhancement
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Jun 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    25 Mar 2004 - fields: Categories;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 31: Unique identifier for establishing new correlation

Status: resolved
In spec: No change
Date added: 26 Jun 2003
Categories: Correlation
Origin: Email direct to issue editor
Date submitted: 25 June 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description:
A process needs to send a message and receive one or more respones asynchronously that are correlated and needs to use the correlation mechanism. The process is started with a request that contains values which are not known to be unique. There is a risk that using one of these values would result in the condition whereby a response is correlated to two or more processes. There needs to be a mechanism by which the process can decide on a unique value for the purpose of instantiating a correlation set.

A generic solution would introduce a new function that would generate a unique value, e.g. a UUID. A more specific solution would grant the process a single unique value that could be, e.g. the process instance identifier, accessible from a function or contained in a well defined variable/property.

Another solution would have the process use a property from the input message that is equivalent to the message identifier as specified by WS-Addressing. However, a complication may occur if the process is instantiated by two concurrent receive activities, either of which can decide on the correlation set value to use.

Revisitable: Yes
Qualifier: enhancement
Resolution: Proposed verbally by Yaron Goland and decided at San Francisco f-t-f

Close with no change to spec.
Rationale: It can be assumed that platform-specific mechanisms are available to generate a unique identifier.
Links: Announcement, 26 Jun 2003
Changes: 4 Jul 2003 - fields: Origin, Links;    31 Jul 2003 - fields: Champion;    22 Jun 2004 - fields: In spec, Resolution, Rationale, Status, Revisitable


Issue 32: Link Semantics in Event Handlers

Status: resolved
In spec: 4 June 2004
Date added: 3 Jul 2003
Origin: Yuzo Fujishima, 2 Jul 2003
Date submitted: 02 July 2003
Submitter: Yuzo Fujishima
Champion: Yuzo Fujishima
Document: BPEL specification
Description: According to 13.5.4.2 Message Events, BPEL 1.1 allows one event handler activity to run concurrently. However, it is not specified whether all concurrent "threads" share link status or each thread maintains its own link status. Suppose activity B has synchronization dependency on A. Can B in a thread be run after A is completed in other thread? Or only after A is completed in the same thread?
Resolution: Proposed in message Yuzo Fujishima, 27 Sep 2003, decided in TC conf call, 1 October 2003

Each thread maintains its own copy of link status.

Specification to be aligned with this resolution.
Links: Yuzo Fujishima, 26 May 2003     Satish Thatte, 26 May 2003     Yuzo Fujishima, 2 Jul 2003     Edwin Khodabakchian, 2 Jul 2003     Yuzo Fujishima, 3 Jul 2003     Chunbo Huang, 3 Jul 2003     Edwin Khodabakchian, 3 Jul 2003     Announcement, 4 Jul 2003     Yuzo Fujishima, 5 Jul 2003     Dieter Roller, 5 Jul 2003     Frank Leymann, 5 Jul 2003     Francisco Curbera, 7 Jul 2003     Yuzo Fujishima, 7 Jul 2003     Yuzo Fujishima, 7 Jul 2003     Dieter Roller, 7 Jul 2003     Francisco Curbera, 7 Jul 2003     Assaf Arkin, 7 Jul 2003     Dieter Roller, 8 Jul 2003     Dieter Roller, 15 Sep 2003     Discussed at Redmond face-to-face - resolution to be proposed     Proposed resolution (Yuzo Fujishima, 27 Sep 2003)
Changes: 3 Jul 2003 - new issue;    4 Jul 2003 - fields: Links;    7 Jul 2003 - fields: Links;    9 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    27 Sep 2003 - fields: Links;    30 Sep 2003 - fields: Proposed resolution, Status;    1 Oct 2003 - fields: Status, Proposed resolution, Vote announcement, Resolution;    9 Jun 2004 - fields: In spec


Issue 33: Race condition before correlation set is established

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 9 Jul 2003
Categories: Correlation
Date submitted: 07 July 2003
Submitter: Eckenfels. Bernd
Champion: Bernd Eckenfels
Document: BPEL specification (Sample on p.22, version 1.1)
Description: Current specification does not address implementation semantics for registering correlations

Handling Callbacks in a Business Process (especially if it is done as suggested in the Initial Example of the 1.1 Spec) is depending on unspecified runtime engine behavior.

If we assume, that a new entry for a correlation set is entered on activation of the receive, and we also assume, that incoming web service requests on ports which have no matching correlation are rejected, we have a small window in the system, where a particular information was requested, but the related receive activity was not yet activated. This could be, because the requested party will answer, before the SOAP communication was finished, it could also be, because the runtime engine is loaded, to not enable the receive fast enough. It could also be because the runtime engine was putting the process to sleep because or priority issues.

The specification should either enforce a semantic which will allow <sequence><invoke><receive></sequence> process, and force implementers to keep that case in mind, or the specification should endorse (and then actually use in its own samples) an alternative way.

Please keep in mind, that it might not be enough to assure, that implementations can handle the response to an invoke of the directly following activity. Flows and sub process could be involved, too. In the case of flows, the current spec does not assume any implementations, which is good for implementing conforming engines, but it is also bad for specific modeling techniques which may be unsafe to use. A good sample would be a <flow><receive /><invoke /></flow> which also has the same (maybe even bigger) race condition window to allow callbacks.

A process which creates a correlation id, waits for the response and then invokes the service is a typical use case. Issue 31 is a feature request which would depend on this, and will suffers from the same unspecified behavior.

Alternative solution (which is a bit overhead, unfortunately): allow a new link type "ready to receive" from receive components to invoke components, which will be enabled, as soon as the corresponding correlation entry is made, and the system is listening for the callback. Brainstorming welcome.
Resolution: Proposed in Eckenfels. Bernd, 14 Apr 2004, decided by Web ballot (ended 28 Apr 2004)

Include an explanation (final wording from the editing team), that it is accepted that messages with legal outstanding correlations may arrive after the correlation set is instantiated but before the actual receive is activated and that such messages should be processed. Modellers can assume that it is safe to rely on this (since there is no bpel construct to implement it otherwise).

There is no need for a precise definition of when it is legal/required for the engine to to look ahead and what timeouts to assume. Therefore it is not possible to include samples like "receive or a callback in a sequnece directly after the invoke". The text should address the modeller's expectations and not to explicitly define requirements to the engine, since we are not yet down that conformance definition road in other places.

There are other places where the bpel spec does not require a specific timing (e.g. invoke and receive in parallel in a flow), where the same expectations of the modeller should be acknolwledged.
Vote announcement: Web ballot (ends 28 Apr 2004)
Links: issue 31 : Unique identifier for establishing new correlation     Announcement, 9 Jul 2003     Eckenfels. Bernd, 10 Jul 2003     Eckenfels. Bernd, 12 Aug 2003     Proposed resolution (Eckenfels. Bernd, 29 Mar 2004)     Revised proposal (Eckenfels. Bernd, 14 Apr 2004)     Eckenfels. Bernd, 14 Apr 2004     Kevin Liu, 27 Apr 2004     Eckenfels. Bernd, 28 Apr 2004
Changes: 9 Jul 2003 - new issue;    10 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    12 Aug 2003 - fields: Links;    29 Mar 2004 - fields: Links, Status, Proposed resolution;    15 Apr 2004 - fields: Proposed resolution, Links;    22 Apr 2004 - fields: Vote announcement;    29 Apr 2004 - fields: Links, Status, Proposed resolution, Resolution;    20 Jun 2004 - fields: In spec


Issue 34: Dependency on Proprietary Specifications

Status: resolved
In spec: 16 Aug 2004
Date added: 9 Jul 2003
Categories: Related standards, Partner links
Date submitted: 09 July 2003
Submitter: Ron Ten-Hove
Champion: Ron Ten-Hove
Document: BPEL specification
Description: BPEL4WS incorporates WS-Addressing, which is a proprietary specification. This is inappropriate for an open standard.
Vote: yes=19, no=3, abstain=3, at San Francisco f-t-f
Proposed resolution: Ron Ten-Hove, 7 May 2004
Resolution: Proposed in Alex Yiu, 21 Jun 2004, modified and decided at San Francisco f-t-f

A "service-ref" wrapper will be defined:

<xs:element name="service-ref" type= tns:ServiceRefType />
<xs:complexType name="ServiceRefType">
    <xs:sequence>
        <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
<xs:attribute name="reference-scheme" type="xs:anyURI" use="required"/>
</xs:complexType>

The partnerlink should contain this "service-ref" element for the endpoint references of partnerRole or myRole.

e.g.:

<service-ref reference-scheme="http://foo.org">
   <foo:barEPR xmlns:foo="http://foo.org"> ... </foo:barEPR>
</service-ref>

When including this in the spec., the editing team will include explanations of error handling and the motivation for this construct. The solution will include a clarification to the reference-scheme attribute.
Rationale: It may take more than few months for the industry to converge on ONE single addressing or EPR scheme. Instead of keep delaying BPEL TC itself, we should leave it open. And let the industry take its own course to find out its convergence point. BPEL spec should be as flexible as possible to allow the convergence happen.

Even after the industry has converged into one addressing or EPR scheme in future, we may still need to face the versioning issue.

For WSA alone, we already have two versions floating around:
http://schemas.xmlsoap.org/ws/2003/03/addressing
http://schemas.xmlsoap.org/ws/2004/03/addressing

WSA by itself already presents us the version conversion problem. The solution of this problem would require the semantics listed above.
Links: Ron Ten-Hove, 16 May 2003     Announcement, 9 Jul 2003     Monica J. Martin, 31 Mar 2004     Monica J. Martin, 1 Apr 2004     Ron Ten-Hove, 6 May 2004     Proposed resolution (Ron Ten-Hove, 7 May 2004)     Yaron Y. Goland, 14 May 2004     Ron Ten-Hove, 17 May 2004     Yaron Y. Goland, 18 May 2004     Proposed resolution (Yaron Y. Goland, 18 May 2004)     Ron Ten-Hove, 18 May 2004     Francisco Curbera, 19 May 2004     Frank Ryan, 19 May 2004     Ron Ten-Hove, 19 May 2004     John Evdemon, 19 May 2004     Ron Ten-Hove, 19 May 2004     Ron Ten-Hove, 19 May 2004     Steve Ross-Talbot, 19 May 2004     John Evdemon, 19 May 2004     Assaf Arkin, 19 May 2004     Francisco Curbera, 25 May 2004     Ron Ten-Hove, 25 May 2004     Yaron Y. Goland, 26 May 2004     Satish Thatte, 26 May 2004     Martin Chapman, 26 May 2004     Satish Thatte, 26 May 2004     Ugo Corda, 26 May 2004     Monica J. Martin, 26 May 2004     Satish Thatte, 26 May 2004     Jeff Mischkinsky, 28 May 2004     Jeff Mischkinsky, 28 May 2004     Monica J. Martin, 28 May 2004     Francisco Curbera, 29 May 2004     Peter Furniss, 30 May 2004     Alex Yiu, 21 Jun 2004     Ron Ten-Hove, 22 Jun 2004     Alex Yiu, 30 Jun 2004     Ron Ten-Hove, 30 Jun 2004     John Evdemon, 1 Jul 2004     Prasad Yendluri, 2 Jul 2004     Alex Yiu, 3 Jul 2004     Prasad Yendluri, 3 Jul 2004     Alex Yiu, 14 Jul 2004     Prasad Yendluri, 14 Jul 2004     Ron Ten-Hove, 14 Jul 2004     Alex Yiu, 15 Jul 2004     Prasad Yendluri, 15 Jul 2004
Changes: 9 Jul 2003 - new issue;    10 Jul 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    31 Mar 2004 - fields: Links;    1 Apr 2004 - fields: Links;    6 May 2004 - fields: Links, Status, Proposed resolution;    8 May 2004 - fields: Links, Status, Proposed resolution;    15 May 2004 - fields: Links;    18 May 2004 - fields: Links, Status, Proposed resolution;    19 May 2004 - fields: Links;    20 May 2004 - fields: Links;    25 May 2004 - fields: Links;    26 May 2004 - fields: Links;    27 May 2004 - fields: Links;    30 May 2004 - fields: Links;    2 Jun 2004 - fields: Links, Proposed resolution;    16 Jun 2004 - fields: Categories;    22 Jun 2004 - fields: Links;    23 Jun 2004 - fields: Status, Vote, Resolution, Rationale;    30 Jun 2004 - fields: Links;    1 Jul 2004 - fields: Links;    3 Jul 2004 - fields: Links;    16 Jul 2004 - fields: Links;    17 Aug 2004 - fields: In spec


Issue 35: Support for modeling

Status: resolved
In spec: no change
Date added: 9 Jul 2003
Date submitted: 09 July 2003
Submitter: Assaf Arkin
Champion: Sumeet S Malhotra
Description: The current specification suggests that BPEL is targeting execution of processes and exchange of business protocol definitions. It would be beneficial if the language could also be used to address certain aspects of modeling, such that it can leverage tooling support to bridge the gap between modeling, design, exceuting and monitoring.

A more detailed explanation is provided by Frank Leymann at the end of Frank Leymann, 6 Jul 2003
Qualifier: enhancement
Resolution: Proposed in Satish Thatte, 22 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: while modeling is a very important requirement it is a big and non-trivial requirement that goes well beyond what we have set ourselves as goals. Assaf Arkin originally opened the issue and he agreed with me in e-mail that the issue should be closed with no changes to the spec since the issue has been dormant anyway. There was no additional discussion.
Links: Announcement, 9 Jul 2003     Proposed resolution (Satish Thatte, 22 Jan 2004)
Changes: 9 Jul 2003 - new issue;    10 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    22 Jan 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 36: Multiple instances of event handler

Status: resolved
In spec: 4 June 2004
Date added: 9 Jul 2003
Date submitted: 09 July 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description: An onMessage event handler is written to receive some input message (as identified by the operation), assign it to some variable and then perform some work based on the content of that message.

An input message targeting that event handler is received by the process (M1). A new instance of the event handler is started, the message is assigned to the specified variable and work begins based on the value of that variable.

At which point another input message targeting the same event handler is recieved by that process (M2). A new instance of the event handler is started, the message is assigned to the specified variable and work begins based on the value of that variable.

Except that the first instance has not completed all work yet. While it started performing some work using the variable value from M1, it suprisingly finds that the new value of the variable is coming from M2.

Currently the spec does not indicate that these two instances will be serialized with respect to each other, nor that these two variables are distinct and not the same (variable instances are per process or some enclosing scope). Scoping does not alleviate the race condition since a new scope must be created and the values assigned to its variables, giving enough overlap between the two instances for a race condition to exist.

There seems to be no measure in the spec that allows for multiple instances of an event handler to occur concurrently, yet the spec suggests that this is possible.
Qualifier: enhancement, clarification
Related issue: issue 79 : Serializable scopes do not need to be leaf scopes
Resolution: Proposed in Assaf Arkin, 11 Oct 2003, decided at 15 October 2003

The semantics of event handler would be changed to allow the variable used to capture the input message to be treated local to the event handler instance:

  1. Rename eventHandler/onMessage to eventHandler/onEvent

  2. The name of the variable is given in the variable attribute.

  3. The attribute messageType specifies the variable type by referencing the message type definition using its QName.

  4. The variable type must be the same as the type of the input message defined by referenced operation.

  5. The event handler declares a variable of that name and type that is scoped to the event handler activity.

  6. Upon receipt of the input message the event handler assigns the input message to the variable before proceeding to perform the event handler activity.

  7. Since the variable is scoped to that activity, two instances of the activity (whether executed seriallly or concurrently) do not operate on the same variable.

The above is a statement of the intent, the editing group will review the text with the issue champion, Assaf Arkin
Links: Announcement, 9 Jul 2003     Dieter Roller, 18 Jul 2003     Edwin Khodabakchian, 18 Jul 2003     Monica J. Martin, 18 Jul 2003     Edwin Khodabakchian, 1 Aug 2003     Dieter Roller, 15 Sep 2003     Discussed at Redmond face-to-face     Maciej Szefler, 19 Sep 2003     Edwin Khodabakchian, 19 Sep 2003     Francisco Curbera, 21 Sep 2003     Edwin Khodabakchian, 21 Sep 2003     Maciej Szefler, 22 Sep 2003     Steve Brown, 22 Sep 2003     Edwin Khodabakchian, 22 Sep 2003     Satish Thatte, 22 Sep 2003     Francisco Curbera, 24 Sep 2003     Maciej Szefler, 25 Sep 2003     Maciej Szefler, 25 Sep 2003     Yaron Goland, 25 Sep 2003     Satish Thatte, 25 Sep 2003     Maciej Szefler, 25 Sep 2003     Satish Thatte, 25 Sep 2003     Monica Martin, 26 Sep 2003     Assaf Arkin, 26 Sep 2003     Assaf Arkin, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Edwin Khodabakchian, 26 Sep 2003     Assaf Arkin, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Edwin Khodabakchian, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Edwin Khodabakchian, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Assaf Arkin, 26 Sep 2003     Satish Thatte, 26 Sep 2003     Assaf Arkin, 30 Sep 2003     Edwin Khodabakchian, 30 Sep 2003     Assaf Arkin, 30 Sep 2003     Satish Thatte, 30 Sep 2003     Edwin Khodabakchian, 30 Sep 2003     Assaf Arkin, 30 Sep 2003     Satish Thatte, 30 Sep 2003     Proposed resolution (Assaf Arkin, 1 Oct 2003)     Satish Thatte, 1 Oct 2003     Yaron Goland, 1 Oct 2003     Assaf Arkin, 2 Oct 2003     Harvey Reed, 2 Oct 2003     Assaf Arkin, 2 Oct 2003     Harvey Reed, 2 Oct 2003     Danny van der Rijn, 2 Oct 2003     Francisco Curbera, 3 Oct 2003     Assaf Arkin, 3 Oct 2003     Edwin Khodabakchian, 3 Oct 2003     Satish Thatte, 3 Oct 2003     Revised proposed resolution (Assaf Arkin, 11 Oct 2003)     Prasad Yendluri, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Assaf Arkin, 17 Oct 2003
Changes: 9 Jul 2003 - new issue;    10 Jul 2003 - fields: Links;    20 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    1 Aug 2003 - fields: Links;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    20 Sep 2003 - fields: Links;    22 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    25 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Links, Status, First proposed resolution;    2 Oct 2003 - fields: Links;    3 Oct 2003 - fields: Links;    6 Oct 2003 - fields: Links;    8 Oct 2003 - fields: Vote announcement;    11 Oct 2003 - fields: Links, Proposed resolution;    15 Oct 2003 - fields: Status, Vote announcement, Proposed resolution, Resolution;    17 Oct 2003 - fields: Links;    12 Nov 2003 - fields: Related issue;    9 Jun 2004 - fields: In spec


Issue 37: Initiating Correlation Set More Than Once

Status: resolved
In spec: 1.35, 30 June 2004
Date added: 11 Jul 2003
Categories: Correlation
Date submitted: 11 July 2003
Submitter: Yuzo Fujishima
Champion: Yuzo Fujishima
Document: BPEL specification
Description:

What will happen if a correlation set is initiated more than once during the lifetime of the corresponding scope?

Quote from 10.2 Defining and Using Correlation Sets:

After a correlation set is initiated, the values of the properties for a correlation set must be identical for all the messages in all the operations that carry the correlation set and occur within the corresponding scope until its completion.

Candidates are:

A. bpws:correlationViolation fault is always thrown.

B. bpws:correlationViolation fault is thrown only if the new property values are different from the old ones.

C. The old property values remain valid and no fault is thrown. The new property values are ignored.
Resolution: Proposed in Alex Yiu, 23 Jun 2004, decided at San Francisco f-t-f

The "initiate" attribute becomes a tri-value switch instead of a boolean switch. The legal values of the "initiate" attribute are: "yes", "rendezvous", "no". The default value of the attribute remains "no".

After a correlation set is initiated, the values of the properties for a correlation set must be identical for all the messages in all the operations that carry the correlation set and occur within the corresponding scope until the completion of the scope. This correlation consistency constraint must be observed in all cases of "initiate" values.

Affected Sections:


Links: Announcement, 11 Jul 2003     Satish Thatte, 11 Aug 2003     Satish Thatte, 11 Aug 2003     Discussed at Redmond face-to-face     Yuzo Fujishima, 27 Sep 2003     Satish Thatte, 13 Oct 2003     Yuzo Fujishima, 14 Oct 2003     Satish Thatte, 14 Oct 2003     Eckenfels. Bernd, 14 Oct 2003     Satish Thatte, 14 Oct 2003     Eckenfels. Bernd, 16 Oct 2003     Ugo Corda, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Ugo Corda, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Ugo Corda, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Ugo Corda, 17 Oct 2003     Satish Thatte, 17 Oct 2003     Yaron Goland, 20 Oct 2003     Satish Thatte, 20 Oct 2003     Yaron Goland, 21 Oct 2003     Satish Thatte, 21 Oct 2003     Proposed resolution (Yuzo Fujishima, 10 Mar 2004)     Eckenfels. Bernd, 10 Mar 2004     Yuzo Fujishima, 11 Mar 2004     Ugo Corda, 11 Mar 2004     Yuzo Fujishima, 11 Mar 2004     Ugo Corda, 11 Mar 2004     Yuzo Fujishima, 12 Mar 2004     Ugo Corda, 12 Mar 2004     Yaron Y. Goland, 12 Mar 2004     Alex Yiu, 17 Mar 2004     Satish Thatte, 17 Mar 2004     Proposed resolution - revised (Yuzo Fujishima, 17 Mar 2004)     Monica J. Martin, 17 Mar 2004     Yaron Y. Goland, 18 Mar 2004     Satish Thatte, 18 Mar 2004     Yaron Y. Goland, 19 Mar 2004     Yuzo Fujishima, 25 Mar 2004     Discussed at 14 April con call (document details)     Alex Yiu, 28 Apr 2004     Yuzo Fujishima, 28 Apr 2004     Satish Thatte, 28 Apr 2004     Alex Yiu, 2 May 2004     Satish Thatte, 2 May 2004     Alex Yiu, 3 May 2004     Satish Thatte, 4 May 2004     Alex Yiu, 4 May 2004     Yaron Y. Goland, 6 May 2004     Satish Thatte, 6 May 2004     Goran Olsson, 6 May 2004     Satish Thatte, 6 May 2004     Alex Yiu, 12 May 2004     Revised proposal (Alex Yiu, 15 Jun 2004)     Upload of revised proposal (Alex Yiu, 15 Jun 2004)     Peter Furniss, 16 Jun 2004     Satish Thatte, 16 Jun 2004     Peter Furniss, 16 Jun 2004     Alex Yiu, 16 Jun 2004     Assaf Arkin, 18 Jun 2004     Satish Thatte, 18 Jun 2004     Peter Furniss, 18 Jun 2004     Francisco Curbera, 18 Jun 2004     Satish Thatte, 18 Jun 2004     Alex Yiu, 18 Jun 2004     Francisco Curbera, 19 Jun 2004     Satish Thatte, 19 Jun 2004     Francisco Curbera, 20 Jun 2004     Alex Yiu, 21 Jun 2004     Issue_37_Proposal_Draft.html (document details)     Revised proposal (Alex Yiu, 21 Jun 2004)     Resend of revised proposal (Satish Thatte, 21 Jun 2004)     Resend of revised proposal (Satish Thatte, 21 Jun 2004)     Proposed resolution (Francisco Curbera, 23 Jun 2004)     Alex Yiu, 23 Jun 2004     Issue_37_Proposal_Draft_simplified.html (document details)     Proposed resolution (Alex Yiu, 23 Jun 2004)
Changes: 11 Jul 2003 - new issue;    11 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    12 Aug 2003 - fields: Links;    18 Sep 2003 - fields: Links;    27 Sep 2003 - fields: Links;    13 Oct 2003 - fields: Links;    14 Oct 2003 - fields: Links;    16 Oct 2003 - fields: Links;    17 Oct 2003 - fields: Links;    21 Oct 2003 - fields: Links;    10 Mar 2004 - fields: Links, Status, Proposed resolution;    11 Mar 2004 - fields: Links;    13 Mar 2004 - fields: Links;    17 Mar 2004 - fields: Links;    19 Mar 2004 - fields: Links;    20 Mar 2004 - fields: Links;    25 Mar 2004 - fields: Links;    22 Apr 2004 - fields: Links;    29 Apr 2004 - fields: Links;    3 May 2004 - fields: Links;    4 May 2004 - fields: Links;    5 May 2004 - fields: Links;    6 May 2004 - fields: Links;    7 May 2004 - fields: Links;    12 May 2004 - fields: Links;    16 Jun 2004 - fields: Proposed resolution, Links;    17 Jun 2004 - fields: Links;    18 Jun 2004 - fields: Links;    19 Jun 2004 - fields: Links;    20 Jun 2004 - fields: Links;    21 Jun 2004 - fields: Proposed resolution, Links;    22 Jun 2004 - fields: Links;    23 Jun 2004 - fields: Links, Status, Proposed resolution;    24 Jun 2004 - fields: Status, Proposed resolution, Resolution;    15 Jul 2004 - fields: In spec

Issue 38: Directed Activity Graph and block structured

Status: resolved
In spec: no change
Date added: 13 Jul 2003
Date submitted: 09 July 2003
Submitter: Assaf Arkin
Champion: Assaf Arkin
Document: BPEL specification
Description: The current specification provides a syntax that combines both DAG and block structured constructs. This leads to some redundancy, since some block structured constructs are not necessary given the alternative way to represent them using the <flow> activity and links.

There may be good rationale for supporting such constructs. However, no good rationale has been given in the spec. An explicit description of the rationale for including such redundancy, or the purpose it serves would be helpful in weighing up other changes to the specification.
Qualifier: clarification
Resolution: Proposed in Yaron Goland, 19 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: I (Yaron) talked with Assaf Arkin, who opened the issue and he agreed that the resolution to issue 23 : Rationale for sequence vs. flow also resolved this issue. Therefore he agrees to having this issue closed without change to the specification.
Links: Announcement, 13 Jul 2003     Proposed resolution (Yaron Goland, 19 Jan 2004)
Changes: 13 Jul 2003 - new issue;    13 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    20 Jan 2004 - fields: Links, Status, Proposed resolution;    4 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 39: Inconsistent syntax for query attribute values in spec examples

Status: resolved
In spec: 4 June 2004
Date added: 16 Jul 2003
Date submitted: 16 July 2003
Submitter: Ugo Corda
Champion: Ugo Corda
Document: BPEL specification (document details )
Description: It looks like the syntax for query attribute values is inconsistent throughout the examples presented in the spec.

On page 38:

<bpws:propertyAlias propertyName="tns:taxpayerNumber" 
        messageType="txmsg:taxpayerInfo" part="identification" 
        query="/socialsecnumber"/> 
instead of query="/identification/socialsecnumber"

On page 49:

<bpws:propertyAlias propertyName="cor:customerID" 
        messageType="tns:POMessage" part="PO" 
        query="/PO/CID"/> 
(and similarly the three following propertyAlias elements in the same example)

On page 92:

<bpws:propertyAlias propertyName="tns:shipOrderID" 
        messageType="sns:shippingNoticeMsg" 
        part="shipNotice" 
        query="/ShipNoticeHeader/shipOrderID"/> 
instead of query="/shipNotice/ShipNoticeHeader/shipOrderID" (and similarly the four following propertyAlias elements in the same example)

It seems that the example on page 49 is correct and the other ones are wrong.

In fact, sec. 14.3, Assignment, says:

"For XPath 1.0, the value of the query attribute MUST be an absolute locationPath (with '/' meaning the root of the document fragment representing the entire part). It is used to identify the root of a subtree within the document fragment representing the part."
and sec. 8.2, Defining Properties, says:
"The interpretation of the message, part, and query attributes is the same as in the corresponding from-spec in copy assignments (see Assignment).

Resolution: decided in TC conf call, 20 August 2003
See text in message Ugo Corda, 18 Aug 2003

Links: Ugo Corda, 12 Jul 2003     Announcement, 16 Jul 2003     Ugo Corda, 31 Jul 2003     Edwin Khodabakchian, 31 Jul 2003     Ugo Corda, 31 Jul 2003     Eckenfels. Bernd, 31 Jul 2003     Ugo Corda, 31 Jul 2003     Ugo Corda, 31 Jul 2003     Glenn Mi, 31 Jul 2003     Kevin Liu, 31 Jul 2003     Ugo Corda, 31 Jul 2003     Ugo Corda, 31 Jul 2003     Ugo Corda, 1 Aug 2003     Diane Jordan, 1 Aug 2003     Kevin Liu, 4 Aug 2003     Ugo Corda, 4 Aug 2003     Danny van der Rijn, 4 Aug 2003     Monica Martin, 5 Aug 2003     Discussed at meeting, 6 August (document details)     Ugo Corda, 18 Aug 2003
Changes: 16 Jul 2003 - new issue;    20 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Champion;    31 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Links;    31 Jul 2003 - fields: Links;    1 Aug 2003 - fields: Links;    3 Aug 2003 - fields: Links;    5 Aug 2003 - fields: Links;    7 Aug 2003 - fields: Links;    18 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Status, Resolution;    9 Jun 2004 - fields: In spec

Issue 40: attribute name "variable" or "message"

Status: resolved
In spec: no change
Date added: 24 Jul 2003
Date submitted: 24 July 2003
Submitter: Peter Furniss
Description: On invoke, reply etc. using the name "variable" for the attribute that defines which variable holds the sent or received message doesn't seem very obvious. Wouldn’t it be clearer to rename the “variable” attribute to be “message” (with “inputMessage”, “outputMessage” on invoke)?
Qualifier: minor
Resolution: Proposed in Yaron Goland, 19 Jan 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: The issue was originally opened by Peter Furniss based on a complaint by Alastair Green. I (Yaron) talked with Peter and he agreed that he has gotten used to the naming and so has no objections to the issue being closed with no action.
Links: Announcement, 24 Jul 2003     Proposed resolution (Yaron Goland, 19 Jan 2004)     Peter Furniss, 22 Jan 2004     Satish Thatte, 26 Jan 2004
Changes: 24 Jul 2003 - new issue;    25 Jul 2003 - fields: Links;    20 Jan 2004 - fields: Links, Status, Proposed resolution;    23 Jan 2004 - fields: Links;    26 Jan 2004 - fields: Links;    4 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale;    9 Jun 2004 - fields: In spec


Issue 41: onMessage handler definition

Status: resolved
In spec: 4 June 2004
Date added: 31 Jul 2003
Categories: Event Handling, Syntax and validation, Specification editing
Date submitted: 30 July 2003
Submitter: Ram Jeyaraman
Champion: Ram Jeyaraman
Document: BPEL specification (page 25, version 1.1)
Description: The onMessage definition (part of eventHandlers), is missing a cardinality symbol "*". Refer to page 80 for a correct definition.
Qualifier: typo
Resolution: Proposed in message Ram Jeyaraman, 21 Sep 2003, decided in TC conf call, 1 October 2003

The editorial error on page 25 will be corrected to align with the definition on page 80
Links: Announcement, 31 Jul 2003     Discussed at Redmond face-to-face - resolution to be proposed     Ram Jeyaraman, 21 Sep 2003     Satish Thatte, 23 Sep 2003     John Evdemon, 23 Sep 2003
Changes: 31 Jul 2003 - new issue;    31 Jul 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    18 Sep 2003 - fields: Links;    22 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    24 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Status, Resolution;    9 Jun 2004 - fields: In spec


Issue 42: Need for Formalism

Status: resolved
In spec: no change
Date added: 31 Jul 2003
Categories: Technology concepts
Date submitted: 31 July 2003
Submitter: Sid Askary
Description: There is a need for formalism. It will allow us to not only reason about the current specification and related issues, but also uncover issues that would otherwise go unnoticed. Empirical deduction is not sufficient. Other efforts have begun to formalize their language (i.e. XQUERY).
Revisitable: yes
Resolution: Proposed in Peter Furniss, 20 Feb 2004, decided at conference call 3 March 2004

Close without change to the specification.
Rationale: Although the use and definitions of formalisms can be useful in understanding and defining a specification, including such in a formal description as normative in a specification that is also in natural language and less formal expressions has the drawbacks:

  1. it is a very large effort, and can significantly delay the completion of the specification
  2. formal specifications tend to be understood only by a few and many of the subject-area experts will use and think in terms of the non-formal description, in development of both the specification and implementations.
  3. if there is conflict between the formal and non-formal which is to have precedence ?

Separate formal descriptions of bpel, not included in the specification and without normative authority are encouraged. The TC will establish a publically-accessible space in the website for supplementary information on formalism with appropriate links.
Links: Sid Askary, 28 Jul 2003     Steve Ross-Talbot, 28 Jul 2003     Ron Ten-Hove, 28 Jul 2003     Announcement, 31 Jul 2003     Proposed resolution (Peter Furniss, 20 Feb 2004)     Peter Furniss, 20 Feb 2004     Satish Thatte, 22 Feb 2004     Frank Leymann, 22 Feb 2004     Ron Ten-Hove, 23 Feb 2004
Changes: 31 Jul 2003 - new issue;    31 Jul 2003 - fields: Links;    23 Feb 2004 - fields: Links, Status, Proposed resolution;    25 Feb 2004 - fields: Links;    3 Mar 2004 - fields: Status, Proposed resolution, Resolution, Rationale, Revisitable


Issue 43: Setting up Periodic Alarms

Status: resolved
In spec: 16 Aug 2004
Date added: 31 Jul 2003
Categories: State management
Date submitted: 30 July 2003
Submitter: Ram Jeyaraman
Champion: Ram Jeyaraman
Description: The current spec does not provide for specifying periodicity of an alarm event. One can conceive of a periodic alarm that is used, for example, in process state monitoring, etc.
<onAlarm for="duration-expr"?
     until="deadline-expr"?
     repeat="duration-expr"?
     frequency="cardinal-expr"?>*
         alarmActivity
</onAlarm>

Resolution: Proposed in Yaron Y. Goland, 16 Jun 2004, decided at San Francisco f-t-f

The text as proposed (and copied here) will be modified in line with the resolution of issue 13 : Future Usage of XPATH 2.0 and XQuery 1.0 , changing the attributes to elements.

The syntax for onAlarm element be changed to:

<onAlarm for="duration-expr"? until="deadline-expr"? 
repeatEvery="duration-expr"?>
    activity
</onAlarm>
repeatEvery can appear on its own, or with one of the other two attributes. If on its own, the semantics of repeatEvery are that from the time that the event handler is instantiated until it is un-instantiated an event handler will be created every duration-expr period. Like onEvent handlers each onAlarm handler created as a consequence of a repeatEvery exists independently of all other instances.

If one of "for" or "until" attributes and "repeatEvery" are present, the event handler is not created until the "for" or "until" attribute time; thereafter it is recreated at the interval defined by "repeatEvery".
Links: Ram Jeyaraman, 29 Jul 2003     Dieter Roller, 29 Jul 2003     Ram Jeyaraman, 29 Jul 2003     Announcement, 31 Jul 2003     Discussed at Redmond face-to-face     Ram Jeyaraman, 21 Sep 2003     Satish Thatte, 23 Sep 2003     Ben Bloch, 23 Sep 2003     Satish Thatte, 23 Sep 2003     Ben Bloch, 24 Sep 2003     Satish Thatte, 24 Sep 2003     Ram Jeyaraman, 24 Sep 2003     Proposed resolution (Yaron Y. Goland, 16 Jun 2004)     Satish Thatte, 18 Jun 2004     Yaron Y. Goland, 21 Jun 2004     Edwin Khodabakchian, 21 Jun 2004     Frank Leymann, 22 Jun 2004
Changes: 31 Jul 2003 - new issue;    31 Jul 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    18 Sep 2003 - fields: Links;    22 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    24 Sep 2003 - fields: Links;    17 Jun 2004 - fields: Links, Status, Proposed resolution;    19 Jun 2004 - fields: Links;    22 Jun 2004 - fields: Links;    24 Jun 2004 - fields: Status, Proposed resolution, Resolution;    17 Aug 2004 - fields: In spec


Issue 44: portType is duplicated on Invoke activity and partnerLinkType

Status: resolved
In spec: 16 Aug 2004
Reopened: By decision of TC conf call meeting, 29 Oct 2003 (document details)
Date added: 5 Aug 2003
Categories: Syntax and validation, Intra-process messages, Correlation
Date submitted: 01 August 2003
Submitter: Marin, Mike
Description: The Invoke activity requires a partnerLink and a portType. However the partnerLink refers to a partnerLinkType, which also includes the portType. Therefore the portType in the Invoke is redundant.

A partnerLinkType do refer to a maximum of two portTypes. Assuming that a process does not invokes itself, then the Invoke refers to the partnerRole, not myRole, so there is only one possible portType, for that Invoke. In the other hand, if we assume the process can invoke itself, then it will be better to specify the role in the Invoke activity instead of the portType, because role has process semantics instead of the portType.
Submitter's Proposal: I propose that portType on the Invoke activity be removed and instead an optional role be included instead. When the role is specified, it must correspond to one of the two roles defined in the partnerLink. If the role is not specified the partnerRole in the partnerLink should be assumed.
First resolution: proposed in message Mike Marin, 19 Aug 2003, decided in TC conf call, 20 August 2003

Remove the portType from the invoke activity and use the portType that corresponds to the partnerRole in the partnerLink.

This covers most if not all the use cases. With the only exception of a process that wants to call itself, which is discussed by issue 52


Resolution: Proposed in Yaron Y. Goland, 4 Jun 2004, decided at San Francisco f-t-f

It is moved that the portType attribute be made optional.

If the portType attribute is included in a message activity then the value of the portType attribute MUST match the portType value implied by the combination of explicitly specified partnerLink and the role implicitly specified by the message activity. A failure to match as previously described MUST result in a static checking error.
Links: Announcement, 5 Aug 2003     Satish Thatte, 11 Aug 2003     Satish Thatte, 11 Aug 2003     Mike Marin, 11 Aug 2003     Satish Thatte, 11 Aug 2003     Yaron Goland, 12 Aug 2003     Satish Thatte, 12 Aug 2003     Eckenfels. Bernd, 12 Aug 2003     Danny van der Rijn, 12 Aug 2003     Yaron Goland, 13 Aug 2003     Satish Thatte, 14 Aug 2003     Monica Martin, 17 Aug 2003     Mike Marin, 19 Aug 2003     see also issue 52     Yaron Goland, 19 Aug 2003     Mike Marin, 19 Aug 2003     Yaron Goland, 19 Aug 2003     Kevin Liu, 16 Oct 2003     Satish Thatte, 16 Oct 2003     Chris Keller, 16 Oct 2003     Kevin Liu, 16 Oct 2003     Satish Thatte, 16 Oct 2003     Yaron Goland, 20 Oct 2003     Proposed resolution (Yaron Y. Goland, 4 Jun 2004)
Changes: 5 Aug 2003 - new issue;    5 Aug 2003 - fields: Links;    12 Aug 2003 - fields: Links;    14 Aug 2003 - fields: Links;    18 Aug 2003 - fields: Links;    19 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Status, Resolution;    16 Oct 2003 - fields: Links;    17 Oct 2003 - fields: Links;    20 Oct 2003 - fields: Links;    4 Nov 2003 - fields: Status, First resolution (renamed from Resolution), Reopened;    9 Jun 2004 - fields: Links, Status, Proposed resolution;    22 Jun 2004 - fields: Status, Proposed resolution, Resolution;    17 Aug 2004 - fields: In spec


Issue 45: Wording of "while" activity

Status: resolved
In spec: 4 June 2004
Date added: 7 Aug 2003
Date submitted: 06 August 2003
Submitter: Danny van der Rijn
Champion: Danny van der Rijn
Document: BPEL specification
Description: In section 12.3, the "while" activity is described as follows:

"The while activity supports repeated performance of a specified iterative activity. The iterative activity is performed until the given Boolean while condition no longer holds true."

The use of the word "until" in the description can cause the reader to conflate the semantics of the "while" activity with a (currently) non-existent "repeat-until" activity that evaluates the condition after the loop has executed, and therefore always executes at least once.
Submitter's proposal: Change the wording to read:

"The while activity supports repeated performance of a specified iterative activity. The iterative activity is performed as long as the given Boolean while condition holds true."

Resolution: decided in TC conf call, 20 August 2003
To be referred to the editorial committee.

Links: Announcement, 7 Aug 2003     Danny van der Rijn, 7 Aug 2003     Harvey Reed, 7 Aug 2003     Eckenfels. Bernd, 9 Aug 2003
Changes: 7 Aug 2003 - new issue;    7 Aug 2003 - fields: Links;    8 Aug 2003 - fields: Links, Champion;    9 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Status, Resolution;    9 Jun 2004 - fields: In spec

Issue 46: Namespace for the document fragment representing a part

Status: resolved
In spec: 4 June 2004
Date added: 7 Aug 2003
Date submitted: 07 August 2003
Submitter: Chris Keller
Description: The document fragment for a message part declared as a type in a query attribute, when treated as suggested in issue 39 : Inconsistent syntax for query attribute values in spec examples , requires specification of the namespace in the xpath below part name in the query. Further for XPath 1.0 compliance, all elements that have a namespace should be qualified.

In XPath 1.0 there is no default namespace for evaluation meaning that all names need to be qualified with a prefix. In XPath 2.0 there is the use of a default namespace, but this specification is referencing 1.0. Putting that aside for a moment in both 1.0 and 2.0 no namespace is not equal to default namespace. Let's take an example:

  <message name="poMessage"> 
    <part name="PO" type="tns:purchaseOrder"/> 
  </message> 

<bpws:property name="poNumber" type="xsd:positiveInteger"/>

<bpws:propertyAlias propertyName="tns:poNumber" messageType="tns:poMessage" part="PO" query="/PO/Header/PONumber"/>

</bpws:propertyAlias>

If as suggested in issue 39 we assume that the Part PO is included in the query and has no namespace (namespace URI is null) association. This query in order to be correct in XPath should be formulated as:

 /PO/tns:Header/tns:PONumber 

Note the section Node Tests from XPath 1.0 – section 2.3 Node Tests)

"A node test that is a QName is true if and only if the type of the node (see [5 Data Model]) is the principal node type and has an expanded-name equal to the expanded-name specified by the QName. For example, child::para selects the para element children of the context node; if the context node has no para children, it will select an empty set of nodes. attribute::href selects the href attribute of the context node; if the context node has no href attribute, it will select an empty set of nodes.

A QName in the node test is expanded into an expanded-name using the namespace declarations from the expression context. This is the same way expansion is done for element type names in start and end-tags except that the default namespace declared with xmlns is not used: if the QName does not have a prefix, then the namespace URI is null (this is the same way attribute names are expanded). It is an error if the QName has a prefix for which there is no namespace declaration n the expression context."

Note the statement "except that the default namespace declared with xmlns is not used: if the QName does not have a prefix, then the namespace URI is null"

Now in XPath 2.0 it is slightly different (XPath 2.0 section 3.2.1.2 Node Tests)

"A node test that consists of a QName is called a name test. A name test is true if and only if the kind of the node is the principal node kind and the expanded-QName of the node is equal to the expanded-QName specified by the name test. For example, child::para selects the para element children of the context node; if the context node has no para children, it selects an empty set of nodes. attribute::abc:href selects the attribute of the context node with the QName abc:href; if the context node has no such attribute, it selects an empty set of nodes.

A QName in a name test is expanded into an expanded-QName using the in-scope namespaces in the expression context. It is a static error if the QName has a prefix that does not correspond to any in-scope namespace. An unprefixed QName, when used as a name test on an axis whose principal node kind is element, has the namespaceURI of the default element namespace in the expression context; otherwise, it has no namespaceURI."

Note the statement: "An unprefixed QName, when used as a name test on an axis whose principal node kind is element, has the namespaceURI of the default element namespace in the expression context; otherwise, it has no namespaceURI."

So in either case we need to qualify the namespace for your message part declared as a type example. And if we are following the XPath 1.0 specification we should qualify all elements that have a namespace since no default namespace is applied. In this case basically every query in the bpel specification is incorrect and should contain prefixes for all element names associated with namespaces in the XPath expressions.
Resolution: Proposed in Francisco Curbera, 24 Sep 2003, decided at 15 October 2003

The document fragment for a message part declared as a type is represented in XPath expressions (inside a "query" attribute) as an element with local name equal to the part name (this is according to the resolution of issue 39.) In addition, the namespace URI of that element is considered to be a null URI.

Links: issue 39 : Inconsistent syntax for query attribute values in spec examples     Ugo Corda, 7 Aug 2003     Chris Keller, 7 Aug 2003     Announcement, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Chris Keller, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Chris Keller, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Sanjiva Weerawarana, 7 Aug 2003     Sanjiva Weerawarana, 7 Aug 2003     David RR Webber, 7 Aug 2003     Ugo Corda, 7 Aug 2003     Sanjiva Weerawarana, 7 Aug 2003     David RR Webber, 7 Aug 2003     David RR Webber, 7 Aug 2003     Sanjiva Weerawarana, 8 Aug 2003     David RR Webber, 8 Aug 2003     Chris Keller, 8 Aug 2003     Sanjiva Weerawarana, 8 Aug 2003     David RR Webber, 8 Aug 2003     John Evdemon, 8 Aug 2003     David RR Webber, 8 Aug 2003     Discussed at Redmond face-to-face     Proposed resolution (Francisco Curbera, 24 Sep 2003)
Changes: 7 Aug 2003 - new issue;    7 Aug 2003 - fields: Links, description corrected from original announcement;    8 Aug 2003 - fields: Links;    18 Sep 2003 - fields: Links;    25 Sep 2003 - fields: Links;    30 Sep 2003 - fields: Proposed resolution, Status;    1 Oct 2003 - fields: Vote announcement;    8 Oct 2003 - fields: Vote announcement;    15 Oct 2003 - fields: Status, Vote announcement, Proposed resolution, Resolution;    9 Jun 2004 - fields: In spec

Issue 47: Which Version of WSDL should we use?

Status: resolved
In spec: no change
Date added: 8 Aug 2003
Date submitted: 07 August 2003
Submitter: Liu, Kevin
Document: BPEL specification
Description: The BPEL4WS 1.1 draft uses WSDL1.1. Given the time the draft was created, it's very reasonable that WSDL1.1 was used. As time elapses and WSDL1.2 is about to emerge, it may be the time for us to reconsider which version of WSDL should BPEL 1.2 (or whatever number we choose to version our deliverable) be based on. The decision may have significant impact on our workload and maybe schedule.

WSDL1.2 is still under construction, but it's already obvious that some key changes will be made to the core WSDL language. For example, portType will be called "interface", support for interface inheritance (sort of) will be added, and most importantly for BPEL, the message construct will most likely be removed (the W3C web services description WG has just reached consensus in its F2F last week that). Hopefully the public will have access to a relatively stable draft by November as the W3C group is targeting to produce a last call draft by then.

We are facing a timing issue here. Our charter gives us 9 months to produce a TC draft. Let's assume that we will get the job done on time J , and we will have a new version of BPEL delivered in February 2004. Though nobody can tell for sure at this point of time, but it's likely that WSDL1.2 (at least part 1 for the core language) may be released in about the same time frame, if not earlier. If we will not be able to meet our deadline in February, WSDL1.2 may already been there for a little while when we do our release.

I would like suggest that the TC consider to:

1. Assess the necessity for establishing a form liaison with the W3C WSD working group to coordinate schedules and get updates on key feature changes

2. Assess the impact of relevant WSDL changes on BPEL
Resolution: Proposed in Kevin Liu, 4 Oct 2003, decided at 15 October 2003

This issue was created to have a general discussion about what to do with WSDL1.2 (or whatever version number W3C WSD WG may call it eventually, same below)

As discussed in the Redmond F2F (Kevin Liu, 22 Sep 2003) and the Oct.1 con call, we agreed not to use WSDL1.2 for WSBPEL since it is still under construction and its availability is still uncertain.

We will try to align with WSDL1.2 work via identifying and addressing particular relevant feature changes. issue 71 : Removal of wsdl:message and issue 15 : WSDL MEPs will be used to clarify potential impacts of removal of message construct and WSDL1.2 patterns

Issue 47 closed without specific change to the specification.

Links: Announcement, 8 Aug 2003     Kevin Liu, 15 Sep 2003     Discussed at Redmond face-to-face     First proposed resolution (Kevin Liu, 22 Sep 2003)     Discussed at TC conf call, 1 October 2003     see also issue 15     see also issue 71        see also issue 72        Much of the discussion on issue 72 has a subject line identifying this issue     Revised proposed resolution (Kevin Liu, 4 Oct 2003)     Eckenfels. Bernd, 6 Oct 2003
Changes: 8 Aug 2003 - new issue;    8 Aug 2003 - fields: Links;    15 Sep 2003 - fields: Links;    18 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Status, Proposed resolution, Vote announcement, Links;    2 Oct 2003 - fields: Links;    3 Oct 2003 - fields: Links;    6 Oct 2003 - fields: Links;    8 Oct 2003 - fields: Vote announcement;    15 Oct 2003 - fields: Status, Vote announcement, Proposed resolution, Resolution


Issue 48: XML Transform Support

Status: resolved
In spec: No change
Date added: 12 Aug 2003
Categories: Data handling, Expressions
Date submitted: 12 August 2003
Submitter: Yaron Goland
Document: BPEL specification
Description: How should BPEL support XML transformations? For example, we could make it possible to include a XSLT or XQUERY transform in a BPEL.
Original resolution: Proposed in Yaron Y. Goland, 25 Mar 2004, decided by Web ballot (ended 28 Apr 2004)

Closed with no change to the spec.
Resolution: Included in resolution of issue 11 : Query in <to> close should allow assigning to new locations
Rationale: With the agreed resolution of issue 13 : Future Usage of XPATH 2.0 and XQuery 1.0 it is now possible to add in support for languages such as XQUERY. (See also discussion in Yaron Y. Goland, 25 Mar 2004 and messages referenced from that)
Proposal to re-open: Ron Ten-Hove, 8 Nov 2005

Following resolution of issue 11 : Query in <to> close should allow assigning to new locations
Links: Announcement, 12 Aug 2003     issue 11 : Query in <to> close should allow assigning to new locations     Yaron Goland, 11 Aug 2003     Yaron Goland, 13 Aug 2003     Proposed resolution (Yaron Y. Goland, 25 Mar 2004)     Danny van der Rijn, 25 Mar 2004     Yaron Y. Goland, 25 Mar 2004     Discussed at Walldorf f-t-f (document details)     Ballot result (Ron Ten-Hove, 8 Nov 2005)
Changes: 12 Aug 2003 - new issue;    12 Aug 2003 - fields: Links;    14 Aug 2003 - fields: Links;    25 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Rationale;    9 Nov 2005 - fields: Links, Status, Proposal to re-open;    16 Nov 2005 - fields: Resolution, Status, In spec


Issue 49: Disambiguating <receive>s to <reply> to

Status: resolved
In spec: no change
Date added: 12 Aug 2003
Date submitted: 12 August 2003
Submitter: Danny van der Rijn
Description: Imagine a process that has more than one <receive> outstanding on a particular partnerLink/porttype/operation. There is currently no way to tell which one to <reply> to when a <reply> is encountered.
Resolution: Proposed in Danny van der Rijn, 14 Jan 2004, decided at conf call, 21 January 2004

Closed as a duplicate of 26.
Links: Announcement, 12 Aug 2003     Dieter Roller, 14 Aug 2003     Danny van der Rijn, 14 Aug 2003     Dieter Roller, 17 Aug 2003     Monica Martin, 17 Aug 2003     Danny van der Rijn, 18 Aug 2003     Danny van der Rijn, 4 Sep 2003     Danny van der Rijn, 5 Sep 2003     Dieter Roller, 7 Sep 2003     Danny van der Rijn, 8 Sep 2003     Monica Martin, 25 Sep 2003     Danny van der Rijn, 25 Sep 2003     Edit group action (Satish Thatte, 14 Jan 2004)     Proposed resolution (Danny van der Rijn, 14 Jan 2004)
Changes: 12 Aug 2003 - new issue;    12 Aug 2003 - fields: Links;    14 Aug 2003 - fields: Links;    18 Aug 2003 - fields: Links;    19 Aug 2003 - fields: Links;    8 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    14 Jan 2004 - fields: Links, Status, Proposed resolution;    15 Jan 2004 - fields: Links;    27 Jan 2004 - fields: Status, Proposed resolution, Resolution


Issue 50: Semantics for "dangling receive"

Status: resolved
In spec: 4 June 2004
Date added: 12 Aug 2003
Date submitted: 12 August 2003
Submitter: Danny van der Rijn
Description: Should WSBPEL make explicit the semantics for a <receive> that has no matching <reply> at run-time?
Resolution: proposed in Dieter Roller, 25 Nov 2003, agreed at Melbourne face-to-face, 10 December 2003

A receive activity for an inbound request/response operation is said to be *open* if that activity has been executed and no corresponding reply activity has been executed. A fault bpel:missingReply is thrown if the process instance reaches the end of its execution, and one or more receive activities remain open. This fault indicates a modeling error that was not detected by static analysis.

Links: Announcement, 12 Aug 2003     Proposed resolution (Dieter Roller, 25 Nov 2003)
Changes: 12 Aug 2003 - new issue;    12 Aug 2003 - fields: Links;    25 Nov 2003 - fields: Links, Status, Proposed resolution;    10 Dec 2003 - fields: Status, Proposed resolution, Resolution;    9 Jun 2004 - fields: In spec

Issue 51: Section 9.3.1 & Schema Validation

Status: resolved
In spec: 18 Oct 2005
Note: Resolution of this issue may resolve or help to resolve issue Issue 125 and Issue 157.
Date added: 18 Aug 2003
Categories: Data handling, Expressions
Date submitted: 18 August 2003
Submitter: Yaron Goland
Document: BPEL specification
Description: Section 9.3.1 specifies a design where to copy from one variable to another the schema of the source must either be identical to or a sub-set of the schema of the destination. This makes it impossible to do such things as use a scratch variable with the schema <ANY> as a source even if its contents are valid against the schema of the destination. This email contains a description of the problem and a proposal for a solution.
Resolution: Proposed Alex Yiu, 24 Aug 2005, agreed with amendment 14 Sept 2005 f-t-f

Update Section 9.3.2, "Type Compatibility in Assignment", as follows:

Update the section title to "Type Compatibility in Copy Operations"

Update the first paragraph of the section and first two bullet items following to read (changes denoted by italics):

For a copy operation to be valid, the data referred to by the from and to specifications MUST be of compatible types. The following points make this precise:

Remove the third bullet item

Remove the last paragraph of the section.
Links: Yaron Goland, 8 Aug 2003     Announcement, 18 Aug 2003     Edit group action (Satish Thatte, 14 Jan 2004)     Discussed at Walldorf f-t-f (document details)     see rationale in issue 100     Dieter Koenig1, 24 Nov 2004     Alex Yiu, 24 Aug 2005     Alex Yiu, 25 Aug 2005     Yaron Y. Goland, 12 Sep 2005     Alex Yiu, 13 Sep 2005     Eckenfels. Bernd, 13 Sep 2005
Changes: 18 Aug 2003 - new issue;    18 Aug 2003 - fields: Links;    15 Jan 2004 - fields: Links;    22 Apr 2004 - fields: Links;    23 Jun 2004 - fields: Links;    25 Nov 2004 - fields: Links;    25 Aug 2005 - fields: Links;    29 Aug 2005 - fields: Links;    14 Sep 2005 - fields: Links;    19 Sep 2005 - fields: Status, Resolution;    20 Oct 2005 - fields: In spec


Issue 52: Specify how flows in the same process send messages to each other

Status: resolved
In spec: No change
Date added: 18 Aug 2003
Categories: Intra-process messages, Correlation
Date submitted: 18 August 2003
Submitter: Yaron Goland
Document: BPEL specification
Description: Should BPEL provide a standard way to specify how flows in the same process send messages to each other? It is possible and critical that flows in the same process be able to send messages to each other but there is no standard way to specify that this is happening in a BPEL process definition.
Original title: Should BPEL provide a standard way to specify how flows in the same process send messages to each other?
Resolution: proposed in Dieter Koenig1, 17 Sep 2004, agreed at f-t-f, 22 Sept 2004

Close with no change to spec.
Links: Announcement, 18 Aug 2003     Yaron Goland, 18 Aug 2003     split from issue 44     Maciej Szefler, 20 Aug 2003     Satish Thatte, 20 Aug 2003     Danny van der Rijn, 20 Aug 2003     Tony Andrews, 20 Aug 2003     Yaron Goland, 20 Aug 2003     Edwin Khodabakchian, 20 Aug 2003     Yaron Goland, 20 Aug 2003     Edwin Khodabakchian, 20 Aug 2003     Yaron Goland, 20 Aug 2003     Ugo Corda, 20 Aug 2003     Danny van der Rijn, 20 Aug 2003     Eckenfels. Bernd, 21 Aug 2003     Satish Thatte, 23 Aug 2003     Yaron Goland, 26 Aug 2003     Satish Thatte, 26 Aug 2003     Assaf Arkin, 26 Aug 2003     Ron Ten-Hove, 27 Aug 2003     Satish Thatte, 27 Aug 2003     Ron Ten-Hove, 27 Aug 2003     Sazi Temel, 28 Aug 2003     Satish Thatte, 28 Aug 2003     David RR Webber, 30 Aug 2003     Yaron Goland, 2 Sep 2003     David RR Webber, 3 Sep 2003     Frank Leymann, 3 Sep 2003     Monica Martin, 3 Sep 2003     David RR Webber, 3 Sep 2003     Yaron Goland, 3 Sep 2003     Assaf Arkin, 3 Sep 2003     Yaron Goland, 29 Sep 2003     Satish Thatte, 30 Sep 2003     Yaron Goland, 30 Sep 2003     Satish Thatte, 30 Sep 2003     Edwin Khodabakchian, 30 Sep 2003     Yaron Y. Goland, 27 Aug 2004     Proposed resolution (Yaron Y. Goland, 16 Sep 2004)     Francisco Curbera, 17 Sep 2004     Proposed resolution (Dieter Koenig1, 17 Sep 2004)     Yaron Y. Goland, 17 Sep 2004     Yaron Y. Goland, 17 Sep 2004     Assaf Arkin, 18 Sep 2004     Dieter Koenig1, 19 Sep 2004     Satish Thatte, 21 Sep 2004
Changes: 18 Aug 2003 - new issue;    19 Aug 2003 - fields: Links;    20 Aug 2003 - fields: Links;    21 Aug 2003 - fields: Links;    23 Aug 2003 - fields: Links;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    28 Aug 2003 - fields: Links;    30 Aug 2003 - fields: Links;    3 Sep 2003 - fields: Links;    4 Sep 2003 - fields: Links;    8 Sep 2003 - fields: Links;    29 Sep 2003 - fields: Links;    30 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Links;    25 Mar 2004 - fields: Title, Original title;    27 Aug 2004 - fields: Links;    16 Sep 2004 - fields: Links, Status, Proposed resolution;    17 Sep 2004 - fields: Links;    18 Sep 2004 - fields: Links, Status, Proposed resolution;    20 Sep 2004 - fields: Links;    21 Sep 2004 - fields: Links;    23 Sep 2004 - fields: Status, Proposed resolution, Resolution, In spec


Issue 53: Include Business Transaction Management (BTM) constructs

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue A
Date submitted: 26 August 2003
Submitter: Alastair Green
Champion: Peter Furniss
Description: There are three multi-vendor specifications which address the needs of business transaction management for Web Services: Business Transaction Protocol 1.0 (OASIS Committee Specification, June 2002); WS-Transaction (proprietary consortium, August 2002), and the very recently published WS-TXM (proprietary consortium, August 2003).

In our view BTP Cohesions, WS-T Business Activity, and WS-TXM Long-Running Actions are the most relevant aspects of these specifications for WS-BPEL. These aspects overlap to a very high degree, each effectively utilizing a two-phase (promise/decide) outcome protocol. (We should emphasize that there has been little time to analyze or assimilate WS-TXM, so this is a provisional conclusion with respect to that specification).

WS-BPEL should be equipped with the ability to create and terminate business transactions, and to define process participation in such transactions, in a way which is compatible with the intersection of these three capabilities. This will minimize dependence on future standardization efforts in the BTM area.
Original title: Should include Business Transaction Management (BTM) programming constructs compatible with WS-T, BTP and WS-TXM
Revisitable: Yes
Submitter's proposal: Syntax should be added to WS-BPEL to permit

  1. Business transaction creation, manifested by the creation of a business transaction context variable.

  2. Business transaction context reception and transmission (propagation) via invoke/receive/reply, allowing sub-transaction or pass-through behaviour.

  3. Process involvement in business transactions as participants, which can handle positive and negative transaction finalization messages (by means of confirm and cancel handlers).

  4. Two-phase termination of business transactions by selection of participants to be prepared, to be cancelled and to be confirmed.
These facilities are all portable over products implementing WS-T BA, BTP and WS-TXM outcome protocols.

The WS-Coordination specification (proprietary consortium, August 2002) is able to support context passing for multiple coordination protocols, and its use will support the goal of compatibility with WS-T, BTP and WS-TXM.
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Monica Martin, 27 Aug 2003     Alastair Green, 27 Aug 2003     Issue A in Choreology BTM submission (document details)     David RR Webber, 27 Aug 2003     Monica Martin, 27 Aug 2003     Peter Furniss, 28 Aug 2003     David RR Webber, 28 Aug 2003     Mark Little, 1 Sep 2003     Mark Little, 1 Sep 2003     Mark Little, 1 Sep 2003     David RR Webber, 1 Sep 2003     David RR Webber, 1 Sep 2003     David RR Webber, 1 Sep 2003     Mark Little, 1 Sep 2003     Mark Little, 1 Sep 2003     David RR Webber, 2 Sep 2003     Monica Martin, 1 Sep 2003     Revised submission (document details)     Monica Martin, 14 Sep 2003     Peter Furniss, 13 Oct 2003     Harvey Reed, 13 Oct 2003     Satish Thatte, 13 Oct 2003     Harvey Reed, 13 Oct 2003     Yaron Goland, 20 Oct 2003     Haugen Robert, 24 Oct 2003     Post-Melbourne discussion on coordination questions is under issue 30 issue 30     Alastair J. Green, 7 Jan 2004     Satish Thatte, 7 Jan 2004     Haugen Robert, 8 Jan 2004     Yaron Goland, 8 Jan 2004     Haugen Robert, 9 Jan 2004     Dieter Roller, 9 Jan 2004     Peter Furniss, 9 Jan 2004     Satish Thatte, 9 Jan 2004     Satish Thatte, 9 Jan 2004     Haugen Robert, 9 Jan 2004     Satish Thatte, 10 Jan 2004     Diane Jordan, 12 Jan 2004     Haugen Robert, 12 Jan 2004     Yaron Goland, 12 Jan 2004     Haugen Robert, 12 Jan 2004     Yaron Goland, 13 Jan 2004     Haugen Robert, 13 Jan 2004     Yaron Goland, 20 Jan 2004     Tony Fletcher, 20 Jan 2004     Danny van der Rijn, 20 Jan 2004     LI Yanming / FTR&D / US, 20 Jan 2004     Alastair J. Green, 20 Jan 2004     Tony Fletcher, 23 Jan 2004     Satish's presentation at Melbourne, FL (document details)     Bob Haugen's presentation at Melbourne, FL (document details)     Peter Furniss, 29 Mar 2004     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    28 Aug 2003 - fields: Links;    3 Sep 2003 - fields: Links;    9 Sep 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    13 Oct 2003 - fields: Links;    20 Oct 2003 - fields: Links;    24 Oct 2003 - fields: Links;    9 Dec 2003 - fields: Links;    7 Jan 2004 - fields: Links;    8 Jan 2004 - fields: Links;    9 Jan 2004 - fields: Links;    12 Jan 2004 - fields: Links;    13 Jan 2004 - fields: Links;    14 Jan 2004 - fields: Links;    20 Jan 2004 - fields: Links;    21 Jan 2004 - fields: Links;    23 Jan 2004 - fields: Links;    15 Mar 2004 - fields: Links;    25 Mar 2004 - fields: Title, Original title;    29 Mar 2004 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 54: Construct to hold Business transaction contexts

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue B
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: A mechanism is needed to hold business transaction contexts and participant identifications.
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue B in Choreology BTM submission (document details)     Mark Little, 1 Sep 2003     David RR Webber, 1 Sep 2003     Tony Fletcher, 1 Sep 2003     Mark Little, 1 Sep 2003     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    3 Sep 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 55: Business transaction propagation

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue C
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: Constructs are needed to specify how business transaction contexts are transmitted and received with the application messages sent and received via invoke, receive, reply etc.
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue C in Choreology BTM submission (document details)     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 56: Business transaction creation

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue D
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: Constructs are needed to specify how a business transaction is initiated. This will cause the creation of a new, propagatable context value.
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue D in Choreology BTM submission (document details)     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 57: Business transaction termination

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue E
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: Constructs are needed to specify how a BPEL process requests the termination (completion) of a business transaction. The process needs to be able to specify that completion is negative (cancelled/compensated/undone) or positive (confirmed).
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue E in Choreology BTM submission (document details)     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 58: Selective termination of business transaction participants

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue F
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: BTM termination constructs (see issue 57) should allow the selection of registered participants, such that some can be confirmed, some cancelled
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue F in Choreology BTM submission (document details)     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 59: BPEL process as business transaction participant

Status: resolved
In spec: 1.34, 19 June 2004
Date added: 26 Aug 2003
Categories: Process coordination
Origin: Choreology submission on business transaction management (document details), issue G
Date submitted: 26 August 2003
Submitter: Peter Furniss
Champion: Peter Furniss
Description: Constructs are needed to allow a BPEL process to register as a participant in a business transaction, such that the work of the process is confirmed or cancelled in reaction to the appropriate business transaction protocol messages
Revisitable: Yes
Resolution: Proposed in Peter Furniss, 31 Mar 2004, decided by Web ballot (ended 28 Apr 2004) , after straw poll at Walldorf ftf

Remove appendix C and all references to particular transaction and coordination protocols.
Close these issues (30, 53-59) without other change to the spec.
Mark the issues as "revisitable" - to be reconsidered in future work on BPEL.
Links: Announcement, 26 Aug 2003     Issue G in Choreology BTM submission (document details)     Monica Martin, 14 Sep 2003     Proposed resolution (Peter Furniss, 31 Mar 2004)     Peter Furniss, 31 Mar 2004     Discussed at Walldorf f-t-f (with issue 53) (document details)     Web ballot (ended 28 Apr 2004)
Changes: 26 Aug 2003 - new issue;    26 Aug 2003 - fields: Links;    27 Aug 2003 - fields: Links;    10 Sep 2003 - fields: Champion;    15 Sep 2003 - fields: Links;    31 Mar 2004 - fields: Links, Status, Proposed resolution;    22 Apr 2004 - fields: Vote announcement, Links;    29 Apr 2004 - fields: Status, Proposed resolution, Resolution, Revisitable, Vote announcement, Links;    20 Jun 2004 - fields: In spec


Issue 60: process category

Status: resolved
In spec: no change
Date added: 8 Sep 2003
Date submitted: 04 September 2003 For the purposes of internal process execution management and administration of services, one is forced to imagine some property of the process that would identify it with a category. Such internal classification is common practice and can be reflected explicitly:

<process  name="ncname" targetNamespace="uri"
   queryLanguage="anyURI"?
   .
   .
   category="ncname"/>
 
Submitter: Sid Askary
Resolution: Proposed in Dieter Koenig1, 3 Feb 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: The process category (and the process priority) belong to a set of attributes that are independent of the process model and rather subject of the process deployment. Having both covered by WS-Policy (from my point of view a reasonable direction) would also increase the reusability of a process model, as it could be deployed multiple times with different category (and priority, see also the proposed resolution of issue 61) attributes.
Links: Sid Askary, 4 Sep 2003     Ron Ten-Hove, 4 Sep 2003     Satish Thatte, 4 Sep 2003     Ron Ten-Hove, 4 Sep 2003     Edwin Khodabakchian, 4 Sep 2003     Satish Thatte, 4 Sep 2003     Satish Thatte, 4 Sep 2003     Sid Askary, 4 Sep 2003     Ron Ten-Hove, 4 Sep 2003     Ron Ten-Hove, 4 Sep 2003     Edwin Khodabakchian, 4 Sep 2003     Ron Ten-Hove, 5 Sep 2003     Assaf Arkin, 5 Sep 2003     Edwin Khodabakchian, 5 Sep 2003     Ron Ten-Hove, 5 Sep 2003     Announcement, 8 Sep 2003     Proposed resolution (Dieter Koenig1, 3 Feb 2004)
Changes: 8 Sep 2003 - new issue;    8 Sep 2003 - fields: Links;    9 Sep 2003 - fields: Links;    3 Feb 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 61: process priority

Status: resolved
In spec: no change
Date added: 8 Sep 2003
Date submitted: 04 September 2003 Since we are dealing with an execution language, the question of runtime priority comes to mind. One could imagine an additional process property. While there may be other methods, this could explicitly be expressed as an additional binary attribute to the process element followed, conditionally, by a new element.

a)

<process  name="ncname" targetNamespace="uri"
	queryLanguage="anyURI"?
	.
	.
	prioritize="yes|no"?/>
b)
<priority name="ncname"
	priorityNumber="anynumber"
	PriorityNumberBase="anynumber"/>

NOTE: PriorityNumberBase reflects the devisor for PriorityNumber. Alternatively, one could replace the two by a single floating-point fraction.
Submitter: Sid Askary
Resolution: Proposed in Dieter Koenig1, 3 Feb 2004, decided 4 February 2004 con call

Close with no change to the specification.
Rationale: The process priority (and the process category) belong to a set of attributes that are independent of the process model and rather subject of the process deployment. Having both covered by WS-Policy (from my point of view a reasonable direction) would also increase the reusability of a process model, as it could be deployed multiple times with different priority (and category, see also the proposed resolution of issue 60) attributes.
Links: Sid Askary, 4 Sep 2003     Danny van der Rijn, 4 Sep 2003     Edwin Khodabakchian, 4 Sep 2003     Harvey Reed, 4 Sep 2003     Rajesh Pradhan, 4 Sep 2003     Sid Askary, 4 Sep 2003     Satish Thatte, 4 Sep 2003     Monica Martin, 4 Sep 2003     Ron Ten-Hove, 4 Sep 2003     Sid Askary, 4 Sep 2003     Ron Ten-Hove, 5 Sep 2003     Assaf Arkin, 5 Sep 2003     Monica Martin, 5 Sep 2003     Announcement, 8 Sep 2003     Proposed resolution (Dieter Koenig1, 3 Feb 2004)
Changes: 8 Sep 2003 - new issue;    8 Sep 2003 - fields: Links;    9 Sep 2003 - fields: Links;    3 Feb 2004 - fields: Links, Status, Proposed resolution;    11 Feb 2004 - fields: Status, Proposed resolution, Resolution, Rationale


Issue 62: Event handlers and Serializable Scopes

Status: resolved
In spec: 4 June 2004
Date added: 12 Sep 2003
Date submitted: 12 September 2003
Submitter: Dieter Roller
Description: The specification does not specify exactly the rules that apply for scopes within event handlers and the following behavior is suggested.

Let's assume a scope S, an event handler E associated with S, a scope S-S that is part of S, and a scope S-E that is part of E. Then the following rules apply

  1. If S is marked variableAccessSerializable="yes", then neither scope S-S nor scope S-E can be marked with variableAccessSerializable="yes".

  2. If scope S-S is marked variableAccessSerializable="yes", scope S-E can also be marked variableAccessSerializable="yes"

Related issue: issue 79 : Serializable scopes do not need to be leaf scopes
Resolution: proposed in Dieter Roller, 29 Nov 2003, agreed at Melbourne face-to-face, 10 December 2003

If a serializable scope has an event handler associated with it, no enclosed scope nor a scope in the body of the event handler can be serializable. If a non-serializable scope has an event handler associated with it, an enclosed scope as well as a scope in the body of the event handler can be serializable.

Equivalently: Let's assume a scope S, an event handler E associated with S, a scope S-S that is part of S, and a scope S-E that is part of E. Then the following rules apply

  1. If S is marked variableAccessSerializable="yes", then neither scope S-S nor scope S-E can be marked with variableAccessSerializable ="yes".
  2. If scope S is marked variableAccessSerializable="no", scope S-E and scope S-S can be marked variableAccessSerializable="yes"


Links: Dieter Roller, 15 Sep 2003     Announcement, 12 Sep 2003     Proposed resolution (Dieter Roller, 24 Nov 2003)     Satish Thatte, 24 Nov 2003     Dieter Roller, 24 Nov 2003     Proposed resolution (Dieter Roller, 29 Nov 2003)
Changes: 12 Sep 2003 - new issue;    15 Sep 2003 - fields: Links;    12 Nov 2003 - fields: Related issue;    24 Nov 2003 - fields: Links, Status, Proposed resolution;    29 Nov 2003 - fields: Links, Status, Proposed resolution;    10 Dec 2003 - fields: Status, Proposed resolution, Resolution;    9 Jun 2004 - fields: In spec

Issue 63: Support of Array

Status: resolved
In spec: no change
Date added: 15 Sep 2003
Categories: Data handling, Asynchronous operations
Date submitted: 15 September 2003
Submitter: Ricky Ho
Description: Can BPEL declare a variable as a "collection" for a particular message type ? For example, if there is a <while> which will receive multiple incoming messages into an array variable. How does the BPEL look like ?

I'm not proposing to define a new data type system for BPEL. We should leverage what is already in XML schema. Although in the XML schema there is a construct to declare repetitive occurrence of element structure, it is designed for describing the XML document being exchanged ? There is a difference between "there are some repetitive elements within a document" and "there are multiple documents".

Therefore, I propose that we need to support "Array"

For example, if a seller is receiving multiple POMessage from multiple buyers, (assuming the complex type of POMessage is already defined), the BPEL will look like this ..

<process>
   <variables>
     <array name="poArray" type="POMessage"/>
   </variables>

<sequence> <iterate array="poArray" count="10"> <receive partner="buyer" ... array="poArray"/> </iterate> .... </sequence> </process>

It was agreed to close with no change to the specification during the TC Teleconference held 2 March 2005 with no objections.
Rationale: This issue can be considered as a sub-issue of issue 4 and is therefor deemed to be subsumed into issue 4.


Links: Ricky Ho, 13 Sep 2003     Ricky Ho, 13 Sep 2003     Mark Little, 15 Sep 2003     Ron Ten-Hove, 15 Sep 2003     Announcement, 15 Sep 2003     Ricky Ho, 15 Sep 2003     David RR Webber, 15 Sep 2003     Ricky Ho, 15 Sep 2003     David RR Webber, 15 Sep 2003     Francisco Curbera, 16 Sep 2003     Ricky Ho, 16 Sep 2003     Edwin Khodabakchian, 16 Sep 2003     Ricky Ho, 16 Sep 2003     David RR Webber, 16 Sep 2003     Ugo Corda, 16 Sep 2003     David RR Webber, 16 Sep 2003     Maciej Szefler, 17 Sep 2003     David RR Webber, 17 Sep 2003     Ricky Ho, 17 Sep 2003     Mark Little, 17 Sep 2003     David RR Webber, 17 Sep 2003     Ricky Ho, 17 Sep 2003     David RR Webber, 17 Sep 2003     Eckenfels. Bernd, 23 Sep 2003     David RR Webber, 23 Sep 2003     Eckenfels. Bernd, 23 Sep 2003     David RR Webber, 23 Sep 2003     Yaron Y. Goland, 25 Mar 2004     Kristofer Agren, 29 Mar 2004     Yaron Y. Goland, 9 Apr 2004     Kristofer Agren, 9 Apr 2004     Yaron Y. Goland, 12 Apr 2004     Kristofer Agren, 12 Apr 2004     Alex Yiu, 12 Apr 2004     Dieter Koenig1, 13 Apr 2004     Yaron Y. Goland, 13 Apr 2004     Yaron Y. Goland, 13 Apr 2004     Ivana Trickovic, 14 Apr 2004     Dieter Roller, 14 Apr 2004     Yaron Y. Goland, 14 Apr 2004     Dieter Roller, 14 Apr 2004     Discussed at Walldorf f-t-f (document details)
Changes: 15 Sep 2003 - new issue;    15 Sep 2003 - fields: Links;    16 Sep 2003 - fields: Links;    17 Sep 2003 - fields: Links;    23 Sep 2003 - fields: Links;    24 Sep 2003 - fields: Links;    25 Mar 2004 - fields: Links;    29 Mar 2004 - fields: Links;    10 Apr 2004 - fields: Links;    13 Apr 2004 - fields: Links;    14 Apr 2004 - fields: Links;    15 Apr 2004 - fields: Links;    22 Apr 2004 - fields: Links


Issue 64: Explicit declaration of process instantiation

Status: resolved
In spec: No change
Date added: 15 Sep 2003
Categories: Process lifecycle, State management
Date submitted: 15 September 2003
Submitter: Ricky Ho
Description: There is no way to pass data to "initialize the variables" of a newly creating process instance. The only thing that you can do is to put a <receive ... createInstance="yes"/> as the first activity so that the process instance can receive external data for variable initialization. This model seems attempt to treat every process instance "homogeneous" (they are same when they start). The fact that each process instance may have different values in their process variables is just because they receive different incoming call in their subsequent receive activity.

However, since the spec requires the first basic activity in the process must be a <receive createInstance="yes"/>, the actual intention may try to make the process instance distinct rather than homogeneous.

The current mechanism has the following challenges ...

  1. We need to define additional constraints (such as it must be the first activity ... etc.) which complicates the model.
  2. Locating the "first activity" is not easy. What if the the first activity is a <sequence> which contains another <sequence>, the first basic activity maybe nested multiple levels down. What if the first activity is a <flow> which has multiple starting activities (some are basic activities and some are nested <flows>).

To treat every process instance distinct, I'm suggesting to use a more explicit way to capture the initialization of process instances, which includes

  1. The mechanism to instantiate a new process instance
  2. What variables will be initiated
Therefore, rather than using the following ....
<process>
   ....
   <sequence>
   ....
     <receive partner="buyer" portType="p1" operation="submitOrder" 
variable="var1" createInstance="yes"/>
   ....
     <receive ..../>
   <sequence>
</process>
I suggest to use this ...
<process>
...
   <triggeredBy>
     <receive partner="buyer" portType="p1" variable="var1" 
operation="submitOrder"/>
   </triggeredBy>
...
   <sequence>
   ....
     <receive ..../>
   <sequence>
</process>

Please note the following difference ...

  1. <triggeredBy> is defined outside the root activity, while <receive> is defined inside the root process activity, maybe even multiple level of nesting down. There is no need to locate the first activity in the <triggerBy> case because it is explicitly defined.
  2. <triggeredBy> is using a different element tag which makes the initialization step more explicit.
  3. The subElement of <triggeredBy> is extensible, so we can introduce new ways to instantiate process instances. At this moment, only a <receive> can be nested inside the <triggerBy>.

Resolution: Proposed in Yaron Y. Goland, 5 Oct 2004, decided on 13 Oct 2004 conf call

Closed with no change
Links: Ricky Ho, 13 Sep 2003     Dieter Roller, 13 Sep 2003     Ricky Ho, 13 Sep 2003     Ricky Ho, 13 Sep 2003     Ron Ten-Hove, 15 Sep 2003     Announcement, 15 Sep 2003     Ricky Ho, 15 Sep 2003     Eckenfels. Bernd, 16 Sep 2003     Ricky Ho, 16 Sep 2003     Dieter Roller, 17 Sep 2003     David RR Webber, 17 Sep 2003     Ricky Ho, 17 Sep 2003     Proposed resolution (Yaron Y. Goland, 9 Oct 2004)
Changes: 15 Sep 2003 - new issue;    15 Sep 2003 - fields: Links;    16 Sep 2003 - fields: Links;    17 Sep 2003 - fields: Links;    11 Oct 2004 - fields: Links, Status, Proposed resolution;    14 Oct 2004 - fields: Status, Proposed resolution, Resolution, In spec


Issue 65: Multiple partners of a partner type

Status: resolved
In spec: No change
Date added: 15 Sep 2003
Categories: Partner links, Correlation
Date submitted: 15 September 2003
Submitter: Ricky Ho
Description: Can there be multiple "partners" of a single "partner type" ? For example, in an auction scenario, can I model a seller process that deals with multiple "bidders" (the number of them is unknown) ? If so, how should I declare them in the "partner" section ? Am I actually declaring the "partner type" or the "individual partner" ?

Lets look at an auction scenario ...

  1. Seller announce something to see (for simplicity, let say this is done outside the process)
  2. Seller start the process. There can be many "potential buyers" sending bids to the seller. Seller just collect them.
  3. After the bidding deadline, the seller pick the bid with highest value to be the "buyer"
  4. Seller send a confirmation to the selected buyer

There are three roles. "Seller", "Bidder" and "Buyer". How many <partner> do I have in my BPEL ?
Resolution: Proposed verbally by Satish Thatte and decided at San Francisco f-t-f

Close with no change to spec.
Rationale: Partly a misunderstanding notion of partner, partly covered by other issues, including issue 4.
Links: Announcement, 15 Sep 2003
Changes: 15 Sep 2003 - new issue;    15 Sep 2003 - fields: Links;    22 Jun 2004 - fields: In spec, Resolution, Rationale, Status


Issue 66: Zero or multiple matches of correlation set

Status: resolved
In spec: No change
Date added: 19 Sep 2003
Categories: Correlation
Date submitted: 16 September 2003
Submitter: Ricky Ho
Description:

1) When an incoming message matches multiple process instances, which one will get the message ?

e.g. ProcessA is executing

    <receive portType="PT1" operation="oper" ...   	createInstance="yes"/>

ProcessB is executing

    <receive portType="PT1" operation="oper" ...  	createInstance="yes"/>
An instance of processC is executing
    <receive portType="PT1" operation="oper" ...   createInstance="no"/>

Lets say someone invoke "PT1/oper" and it matches the correlation set of the processC instance. Who gets the message ?

2) When an incoming message matches zero process instances, does the sender get a fault ? or the message will be queued until a matching process instances gets it later

e.g. A sender invoke "PT2/oper2" but no process is listening in that.
Resolution: Proposed verbally by Paco Cabrera and decided at San Francisco f-t-f

No normative change, but the editors' group will add a note for implementors pointing out that there are possible implementation alternatives and that users may need to be aware of these.
Links: Announcement, 20 Sep 2003     Yaron Goland, 23 Sep 2003     Ricky Ho, 23 Sep 2003     Danny van der Rijn, 23 Sep 2003     Prasad Yendluri, 24 Sep 2003     Satish Thatte, 24 Sep 2003     Danny van der Rijn, 24 Sep 2003     Satish Thatte, 24 Sep 2003     Ron Ten-Hove, 24 Sep 2003     Ron Ten-Hove, 24 Sep 2003     Francisco Curbera, 24 Sep 2003     Ugo Corda, 24 Sep 2003     Satish Thatte, 24 Sep 2003     Satish Thatte, 24 Sep 2003     Danny van der Rijn, 24 Sep 2003     Ron Ten-Hove, 24 Sep 2003     Assaf Arkin, 25 Sep 2003     Francisco Curbera, 25 Sep 2003     Satish Thatte, 26 Sep 2003     Ron Ten-Hove, 26 Sep 2003     Ron Ten-Hove, 26 Sep 2003     Tony Fletcher, 29 Sep 2003     Assaf Arkin, 1 Oct 2003     Discussed at San Francisco ftf
Changes: 19 Sep 2003 - new issue;    22 Sep 2003 - fields: Links;    24 Sep 2003 - fields: Links;    25 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    29 Sep 2003 - fields: Links;    1 Oct 2003 - fields: Links;    22 Jun 2004 - fields: Links, In spec, Resolution, Status


Issue 67: Clarify semantics of serializable scopes

Status: resolved
In spec: 4 June 2004
Date added: 24 Sep 2003
Categories: concurrency control
Date submitted: 23 September 2003
Submitter: Satish Thatte
Champion: Satish Thatte
Document: Language specification, section 13.6
Description: There has been some recent discussion regarding the concurrency control semantics of serializable scopes. Yaron Goland had also raised a question regarding the possibility of deadlock among serializable scopes. This section needs additional wording to clarify these issues.
Resolution: Proposed in Satish Thatte, 16 Jan 2004, decided at conf call, 21 January 2004

Add the following sentences to section to Section 13.6 following paragraph 2.

Note that serialization of variable access cannot lead to internal deadlock in a BPEL process instance. The reason being that, conceptually, a serializable scope is not started until it can gain sufficiently exclusive access to all the non-local variables it needs.

Links: Ron Ten-Hove, 15 Sep 2003     Announcement, 24 Sep 2003     Yaron Goland, 24 Sep 2003     Satish Thatte, 26 Sep 2003     Edit group action (Satish Thatte, 14 Jan 2004)     Proposed resolution (Satish Thatte, 15 Jan 2004)     Ron Ten-Hove, 15 Jan 2004     Satish Thatte, 15 Jan 2004     Nickolas Kavantzas, 15 Jan 2004     Ron Ten-Hove, 16 Jan 2004     Proposed resolution (Satish Thatte, 16 Jan 2004)     Goran Olsson, 17 Jan 2004     Satish Thatte, 17 Jan 2004     Ron Ten-Hove, 17 Jan 2004
Changes: 24 Sep 2003 - new issue;    24 Sep 2003 - fields: Links;    25 Sep 2003 - fields: Links;    26 Sep 2003 - fields: Links;    15 Jan 2004 - fields: Links, Status, Proposed resolution;    16 Jan 2004 - fields: Links;    18 Jan 2004 - fields: Links, Status, Proposed resolution;    27 Jan 2004 - fields: Status, Proposed resolution, Resolution;    9 Jun 2004 - fields: In spec

Issue 68: catch syntax broken

Status: resolved
In spec: 4 June 2004
Date added: 26 Sep 2003
Categories: scopes, fault handling, syntax
Date submitted: 26 September 2003
Submitter: Satish Thatte
Document: Language specification
Description: The current catch syntax is broken

This is because we make

  1. The faultName optional, and
  2. the faultVariable is ".. deemed to be declared by virtue of being used as the value of this attribute and is local to the fault handler .."
Thus when the faultName is missing, the type of the faultVariable is unknown.
Resolution: Proposed in Satish Thatte, 15 Jan 2004, decided at conf call, 21 January 2004

Change the syntax of faultHandlers to the following

<faultHandlers>?
    <!-- there must be at least one fault handler or default -->
    <catch faultName="qname"? faultVariable="ncname"?
                              faultMessageType="qname"?>*
      activity
    </catch>
    <catchAll>?
      activity
    </catchAll>
</faultHandlers>

And in addition, add the following sentences immediately following the syntax.

Note that the faultName, faultVariable and faultMessageType attributes are all optional. However, the faultVariable and faultMessageType declarations go together, i.e., they must either both be present or both absent. This is to ensure that the type of the faultVariable is well specified even when the faultName is omitted. Moreover, the faultName and faultVariable attributes cannot both be absent.

Links: Announcement, 26 Sep 2003     Edit group action (Satish Thatte, 14 Jan 2004)     Proposed resolution (Satish Thatte, 15 Jan 2004)     Jim Clune, 15 Jan 2004     Satish Thatte, 15 Jan 2004     jim@parasoft.com, 15 Jan 2004     Satish Thatte, 15 Jan 2004     Proposed resolution (Satish Thatte, 15 Jan 2004)     Yaron Goland, 23 Jan 2004     Satish Thatte, 24 Jan 2004     Yaron Goland, 26 Jan 2004
Changes: 26 Sep 2003 - new issue;    26 Sep 2003 - fields: Links;    15 Jan 2004 - fields: Links, Status, Proposed resolution;    16 Jan 2004 - fields: Links, Status, Proposed resolution;    27 Jan 2004 - fields: Status, Proposed resolution, Resolution;    11 Feb 2004 - fields: Links;    9 Jun 2004 - fields: In spec

Issue 69: When to clear link status

Status: resolved
In spec: 4 June 2004
Date added: 27 Sep 2003
Categories: State management
Date submitted: 27 September 2003
Submitter: Yuzo Fujishima
Document: BPEL 1.1 Specification
Description:

Link target and/or source activities can be run more than once if the process contains a loop (i.e. while acitivity).

When to clear the link status in such cases is not defined in the current specification.
Submitter's Proposal: Possible resolutions are to specify that the link status is cleared:

  1. Only at the very beginning of the process / event handler thread; OR
  2. Every time the scope that directly encloses the link owner flow activity starts; OR
  3. Every time the link owner flow activity starts.

I would propose C. In the following example, A1 and A2 are cleared every time flow A is started and B1 and B2 are cleared every time flow B is started.

<while ...>
  <flow name="base">
    <flow name="A">
      <links>
        <link name="A1"/>
        <link name="A2"/>
      </links>

... activities ... </flow> <while ...> <flow name="B"> <links> <link name="B1"/> <link name="B2"/> </links>

... activities ... </flow> </while> </flow> </while>


Resolution: Proposed in Maciej Szefler, 13 Feb 2004, decided at 18 Feb 2004 con call

Updated proposal for 69: - new subject for script magic - added Satish's clarification of def in 12.5 - replaced "defined" with "declared" (i.e. links are declared)

New text shown in italics, old text as strikeout

Section 12.5: Flow

Change the following text:

In general, a link is said to cross the boundary of a syntactic construct if the source activity for the link is nested within the construct but the target activity is not, or vice versa, if the target activity for the link is nested within the construct but the source activity is not. A link is said to cross the boundary of a syntactic construct if the source or target activity for the link is nested within the construct while the link is declared outside the construct. Note that it is possible for a link to cross the boundary of a syntactic construct even in those cases where both the source and the target activities are nested within the same construct: so long as the link is /declared/ outside that construct.
Section 12.5.1: Link Semantics

Insert the following text:

The precise semantics of link status evaluation are as follows: The link status is a tri-state flag associated with each declared link. This flag may be in the following three states: "positive", "negative", or "unset". Each time a certain flow activity is activated, the link status of all the links declared in that activity is "unset", that is the lifetime of the status of a link is exactly the lifetime of the flow activity within which it is declared. When activity A completes, the following steps are performed to determine the effect of the synchronization links on other activities:

The above changes imply option C (if you all remember the options). The second part is essentially Satish's earlier proposal in the context of the current language, while the first part addresses the problem brought up by Yaron in the conference call relating to while loops that use links declared outside the while loop. The major consequence of the above changes is that the following is no longer permitted:

<flow name="f1">
  <link name="l1">
  <while>
    <flow name="f2">
      <empty>
        <source linkName="l1"/>
      </empty>
      <empty>
        <target linkName="l1"/>
      </empty>
    </flow>
  </while>
</flow>

The link "l1" will now need to be declared in "f2".

The issue of whether links are belong in scopes as opposed to flows will be made a separate issue.
Links: Announcement, 27 Sep 2003     Edit group action (Satish Thatte, 14 Jan 2004)     Proposed resolution (Satish Thatte, 15 Jan 2004)     Maciej Szefler, 22 Jan 2004     Satish Thatte, 26 Jan 2004     Yaron Goland, 26 Jan 2004     Satish Thatte, 26 Jan 2004     Maciej Szefler, 27 Jan 2004     Discussed at 21 January 2004, deferred for further discussion     Satish Thatte, 28 Jan 2004     Maciej Szefler, 28 Jan 2004     Satish Thatte, 28 Jan 2004     Maciej Szefler, 11 Feb 2004     Satish Thatte, 13 Feb 2004     Proposed resolution (Maciej Szefler, 13 Feb 2004)     Eckenfels. Bernd, 13 Feb 2004     Maciej Szefler, 13 Feb 2004
Changes: 27 Sep 2003 - new issue;    27 Sep 2003 - fields: Links;    15 Jan 2004 - fields: Links, Status, Proposed resolution;    22 Jan 2004 - fields: Links;    26 Jan 2004 - fields: Links;    27 Jan 2004 - fields: Links;    28 Jan 2004 - fields: Links;    29 Jan 2004 - fields: Links;    13 Feb 2004 - fields: Links;    16 Feb 2004 - fields: Links, Status, Proposed resolution;    18 Feb 2004 - fields: Links, Status, Proposed resolution, Resolution;    9 Jun 2004 - fields: In spec


Issue 70: suppressJoinFailure default value

Status: resolved
In spec: 4 June 2004
Date added: 30 Sep 2003
Categories: State management
Date submitted: 26 September 2003
Submitter: Jim Clune
Description: The XML schema in the appendix of the BPEL 1.1 spec declares a default value of "no" for the suppressJoinFailure attribute in tActivity and tProcess complexType declarations. This makes sense for tProcess, as it establishes a default to be used until overridden. For tActivity, however, I think that specifying a default value contradicts this statement in section 12.5.2:

A value of "yes" for [suppressJoinFailure] has the effect of suppressing the bpws:joinFailure fault for the activity and all nested activities, except where the effect is overridden by using the suppressJoinFailure attribute with a value of "no" in a nested activity.

By having the schema specify a default value for suppressJoinFailure for each activity element, nested activities always reset the value of suppressJoinFailure instead of inheriting it.
Submitter's proposal: If I am reading this wrong, perhaps someone can clarify. Otherwise, I propose, in the schema's tActivity declaration, replacing this:

<attribute name="suppressJoinFailure" type="bpws:tBoolean" default="no"/>
with this:
<attribute name="suppressJoinFailure" type="bpws:tBoolean" use="optional"/>

Resolution: Proposed in Kevin Liu, 4 Feb 2004, decided at 18 Feb 2004 con call

Make the following changes to the spec:

  1. remove / change the wrong description default value of suppressJoinFailure attribute of an activity from section 6.2:

    Existing Text:

    where the default values are as follows:
    • name. No default value (that is, unnamed)
    • joinCondition. The logical OR of the liveness status of all links that are targeted at this activity
    • suppressJoinFailure. No

    New Text:

    where the default values are as follows:

    • name. No default value (that is, unnamed)
    • joinCondition. The logical OR of the liveness status of all links that are targeted at this activity
    • suppressJoinFailure. In case the suppressJoinFailure attribute is omitted for an activity, it is inherited from its closest enclosing activity.

  2. To remove / change the wrong description from section 11.1 "Standard Attributes for Each Activity": Existing description:
    "The default value of suppressJoinFailure is no."
    New description:
    "In case the suppressJoinFailure attribute is omitted for an activity, it is inherited from its closest enclosing activity"

  3. in Appendix B for Stan