Using the BPEL Designer and Service Engine

Supported WS-BPEL 2.0 Constructs

The following WS-BPEL 2.0 constructs are inplemented by the BPEL Service Engine

Features 

Support 

Process

WS-BPEL 2.0 process root element. The Process element is present in the BPEL Designer diagram by default. 

Supported Elements

    extensions


    import


    partnerLinks


    variables


    correlationSets


    faultHandlers


    eventHandlers


Supported Attributes

    name


    targetNamespace


Not Supported

    queryLanguage (xpath only)


    expressionLanguage (xpath only)


    suppressJoinFailure


    abstractProcess


    exitOnStandardFault


Extensions

More Information

Variable

Supplies the mechanism used to hold messages that make up the state of a business process. 

Supported Elements

    name


    messageType


    type


    element


Supported Attributes

Extensions

More Information

Correlation

Tracks the multiple long-running exchanges of messages that typically take place between a BPEL process and its partner services. The correlation mechanism helps to route messages to appropriate process instances. 

Supported Elements

Supported Attributes

Extensions

More Information

EventHandlers

Invokes a specific action concurrently with a specified corresponding event. 

Supported Elements

    onEvent


    onAlarm


Supported Attributes

Extensions

More Information

FaultHandlers

Defines the activities that are executed as a response to faults resulting from invoked services. 

Supported Elements

    catch


    catchAll


Supported Attributes

Extensions

More Information

Import

Used within a process to clearly express dependency upon external XML Schema or WSDL definitions. The Process element can have any number of Import elements as initial children, preceeding any other child element. 

Supported Elements

Supported Attributes

    namespace


    location


    importType


Extensions

More Information

Web Services

Invoke

Invokes a one-way or request-response operation on a portType offered by a partner. It enables the business process to send messages to partners. The operation is defined in the partner's WSDL file. 

Supported Elements

    correlations


    toPart


    fromPart


Not Supported

    catch


    catchAll


    compensationHandler


Supported Attributes

    partnerLink


    portType


    operation


    inputVariable


    outputVariable


Extensions

More Information

Receive

Allows the business process to do a blocking wait for a particular message to arrive. 

Supported Elements

    correlations


    fromPart


Supported Attributes

    partnerLink


    portType


    operation


    Variable


    createInstance


    messageExchange


Extensions

More Information

Reply

Returns a message from the process to the same partner that initiated the operation. The combination of Receive and Reply activities creates a request-response operation. 

Supported Elements

    correlations


    toPart


Supported Attributes

    partnerLink


    portType


    operation


    Variable


    faultName


    messageExchange


Extensions

More Information

PartnerLink

Identifies the parties that interact with your business process. Each link is defined by a partner link type and a role name. 

Supported Elements

Supported Attributes

    name


    partnerLinkType


    myRole


    partnerRole


Not Supported

    initializePartnerRole


Extensions

More Information

Basic Activities

Assign

Assigns values to variables. You use the Assign element to copy data from one variable to another, construct and calculate the values of expressions, and store new data in variables. Expressions are required to perform simple computation or operate message selections, properties, and literal constants to produce a new value for variables. 

Supported Elements

    copy (child elements from and to)


    extensibleAssign


Supported Attributes

    from (name="variable" type="NCName")


    from (name="part" type="NCName")


    to (name="variable" type="NCName")


    to (name="part" type="NCName")


    validate


    from (name="expressionLanguage" type="anyURI" — xpath only)


    from (name="property" type="QName")


    from (name="partnerLink" type="NCName")


    from (name="endpointReference" type="bpws:tRoles")


    from (name="opaque" type="bpws:tBoolean")


    to (name="queryLanguage" type="anyURI")


    to (name="property" type="QName")


    to (name="partnerLink" type="NCName")


Extensions

More Information

JavaScript

Acts like an Assign activity that enables you to use JavaScript (E4X), rather than using XPath 1.0.  

Supported Elements

    copy (child elements from and to)


    extensibleAssign


Supported Attributes

    Validate


Extensions

More Information

Validate

Validates the values of variables against their associated XML and WSDL data definition. The element includes a Variables property that lists the variables for the process, and allows you to specify which variables to validate. When one or more variables prove invalid against a corresponding XML definition, a standard fault, bpel:invalidVariables, is thrown.

Supported Elements

Supported Attributes

    variable


Extensions

More Information

Empty

Used as a placeholder within a process to catch and suppress faults or to help synchronize actions within a flow activity that are executed concurrently. 

Supported Elements

Supported Attributes

Extensions

More Information

Wait

Waits for a specified time or until a deadline is reached. 

Supported Elements

    for


    until


Supported Attributes

Extensions

More Information

Throw

Used to signal a specific internal fault, and can provide a QName and information for that fault. 

Supported Elements

Supported Attributes

    faultName


    faultVariable


Extensions

More Information

ReThrow

Used to rethrow a fault. 

Supported Elements

Supported Attributes

Extensions

More Information

Exit

Terminates the execution of a business process instance. 

Supported Elements

Supported Attributes

Extensions

More Information

Compensate

Invokes the compensation handler of a particular scope. 

Supported Elements

Supported Attributes

Extensions

More Information

CompensateScope

Invokes the compensation handler of a particular scope. 

Supported Elements

Supported Attributes

Extensions

More Information

Structured Activities

If

Supports conditional behavior of a business process instance. The If activity consists of conditional branches defined by the If and Else If elements, followed by an optional Else branch. The conditions on If and Else If branches are evaluated in the order they appear. During execution, the first branch whose condition holds true is taken and provides the activity specified for the If activity. In other words, if there are several Else If branches whose conditions hold true, only the first of them will be executed. 

Supported Elements

    elseIf


    condition


Supported Attributes

Extensions

More Information

While

Repeatedly execute one or more activities as long as specific conditions are in place at the beginning of each iteration. 

Supported Elements

    condition


Supported Attributes

Extensions

More Information

RepeatUntil

Repeatedly executes one or more activities as long as specific conditions are in place after the execution of each iteration. This element contains other elements that are repeated until the success criteria you specify are met. If the condition you specify leads to true, the activities listed will be executed once. 

Supported Elements

    condition


Supported Attributes

Extensions

More Information

ForEach

Repeatedly execute its contained scope activity exactly N+1 times where N equals the Final Counter Value minus the Start Counter Value. 

Supported Elements

    startCounterValue


    finalCounterValue


    completionCondition


Supported Attributes

    counterName


Not Supported

    parallel


Extensions

More Information

Pick

Blocks a process and waits until a specified events occurs. After one of the specific event occurs, the activity associated with this event is performed. The possible events are the arrival of a message or a timer-based alarm. The selected activity is dependent upon which event occurs first. 

Supported Elements

    onMessage


    onAlarm


Supported Attributes

    variable


Extensions

More Information

Flow

Defines a set of activities that will execute concurrently (in parallel). This is a structured activity, containing other activities separated into individual control paths or branches. You can embed as many paths in the activity as you want, and they will all be executed simultaneously. 

Supported Elements

Not Supported

    links


Supported Attributes

Extensions

More Information

Sequence

Used to nest a series of activities in a process. Activities within a sequence execute in strict sequential order, completing when the last activity within the nest has finished. 

Supported Elements

Supported Attributes

Extensions

More Information

Scope

Essentially, this activity is a collection of child activities that can have their own Variables, Fault and Event Handlers, and correlation sets. The Scope activity provides the behavior context for the child elements. 

Supported Elements

    variables


    faultHandlers


    eventHandlers


Not Supported

    partnerLinks


    correlationSets


    compensationHandler


    terminationHandler


Supported Attributes

Not Supported

    isolated


    exitOnStandardFault


Extensions

More Information

Other Activities

OnMessage

Supported Elements

Supported Attributes

    variable


Extensions

More Information

OnMsgCommon

Supported Elements

    fromPart


    correlations


Supported Attributes

    partnerLink


    portType


    operation


    messageExchange


Extensions

More Information

OnAlarmPick

Specifies an event that is triggered when a given duration variable is exceeded. 

Supported Elements

Supported Attributes

Extensions

More Information

CompletionCondition

Supported Elements

Supported Attributes

    countCompletedBranchesOnly


Extensions

More Information

Catch

Used to intercept a specifically defined type of fault. 

Supported Elements

    faultName


    faultVariable


    faultMessageType


    faultElement


Supported Attributes

Extensions

More Information

OnEvent

Indicates that a specified event is triggered when a message arrives. 

Supported Elements

    messageType


    variable


Supported Attributes

Extensions

More Information

Activity

Supported Elements

Not Supported

    targets


    sources


Supported Attributes

    name


Not Supported

    suppressJoinFailure


Extensions

More Information

property

Defines a unique name and associates it with an XML Schema simple type. 

Supported Elements

Supported Attributes

    name


    type


    element


Extensions

More Information

propertyAlias

Defines a globally named property as an alias. 

Supported Elements

    query


Supported Attributes

    propertyName


    messageType


    part


Not Supported

    queryLanguage (xpath only)


Extensions

More Information

PartnerLinkType

Expresses the dependences between services by defining each service's role. 

Supported Elements

    role


Supported Attributes

    name


Extensions

More Information

Role

Specifies one WSDL portType. 

Supported Elements

Supported Attributes

    name


    portType


Extensions

More Information

CorrelationWithPattern

Supported Elements

Supported Attributes

Extensions

More Information