WS-BPEL 2.0 versus BPEL4WS 1.1
BPEL4WS 1.1 was contributed to the OASIS WS-BPEL Technical Committee, where it was advanced through an open process. The following list summarizes the major changes the Committee incorporated in WS-BPEL 2.0.
Data Access
- Variables can be declared using XML schema complex types
- XPath expressions are simplified by using the ‘$’ notation for variable access, for example, $myMsgVar.part1/po:poLine[@lineNo=3]
- Access to WSDL messages has been simplified by mapping directly mapping WSDL message parts to XML schema element/type variables
- Several clarifications have been added to the description of the <assign> activity’s <copy> semantics
- The keepSrcElementName option has been added to <copy> in order to support XSD substitution groups or choices
- The ignoreMissingFromData has been added to automatically some of <copy> operation, when the from data is missing.
- An extension operation has been added to the <assign> activity
- A standardized XSLT 1.0 function has been added to XPath expressions
- The ability to validate XML data has been added, both as an option of the <assign> activity and as a new <validate> activity
- Variable initialization as part the of variable declaration has been added
Scope Model
- New scope snapshot semantics have been defined
- Fault handling during compensation has been clarified
- The interaction between scope isolation and control links have been clarified
- Enrichment of fault catching model
- A <rethrow> activity has been added to fault handlers
- The <terminationHandler> has been added to scopes
- The exitOnStandardFault option has been added to processes and scopes
Message Operations
- The join option has been added to correlation sets in order to allow multiple participants to rendezvous at the same process with a deterministic order
- Partner link can now be declared local to a scope
- The initializePartnerRole option has been added to specify whether an endpoint reference must be bound to a partner link during deployment
- The messageExchange construct has been added to pair up concurrent <receive> and <reply> activities
New Activities
- Added serial and parallel <forEach> with optional completion condition
- Added <repeatUntil>
- Added new extension activity
- Changed <switch> to <if>-<elseif>-<else>
- Changed <terminate> to <exit>
- Differentiate different cases of <compensate> by renaming them to <compensate> and <compensateScope>
Miscellaneous Changes
- Added repeatEvery alarm feature to event handlers
- Clarified resources resolution (e.g. variable, partner link) for event handlers
- Added formal <documentation> support
- Added extension namespace declarations in order to specify what extension must be understood
- Add <import> support to import WSDL and XSD formally
Abstract Processes
- Clarified Abstract Process usage patterns
- Introduced Abstract Profiles to address different needs in Abstract Processes, and two profiles “Observable Behavior” and “Process Template” listed in the specification
See also:
- Design Goals of the BPEL4WS Specification