Building BPEL Choreography Diagrams

The PowerDesigner BPM provides support for the following elements in a choreography diagram, when modeling a BPEL environment.

Note: You create most BPEL activities by modifying the properties (see Specifying Implementation Types) of processes (see Processes (BPM)), and specifying additional BPEL properties (see WS-BPEL 2.0 Object Properties and BPEL4WS 1.1 Object Properties). WS-BPEL 2.0 provides a Toolbox to guide you through the activities creation.

Composite Activities

Composite activities specify activities modeled as composite processes in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

scope tool scope symbol

Scope activites - provide the context which influences the execution behavior of their nested activities, and allow the definition of variables, partner, message exchanges, correlation sets, event handlers, fault handlers, a compensation handler, and a termination handler.

BPEL4WS 1.1 models scopes as standard composite processes.

sequence activity tool sequence activity symbol

Sequence activities - specify collections of activities that must be executed sequentially in lexical order. Use this tool if you need a "box" to gather your sequence activities.

BPEL4WS 1.1 can gather your sequence activities in a "box" modeled as a standard composite process with <<sequence>> stereotype.

flow activity tool flow activity symbol

Flow activities - specify a set of concurrent activities that must be executed concurrently. A link modeled as a flow with a link stereotype can express synchronization dependencies between activities. Use this tool if you need a "box" to gather your flow activities.

BPEL4WS 1.1 models flow activities as standard synchronizations with <<split>> or <<join>> stereotype. If you need to gather your flow activities in a "box", use a composite process with <<flow>> stereotype and create a nested flow activity.

Loop Activities

Loop activities specify activities modeled as composite processes with Loop implementation type in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

while activity tool while activity symbol

While activities - specify that their nested activities must be repeated until their specified <condition> becomes true.

BPEL4WS 1.1 models while activities as standard composite processes with Loop implementation type and While loop type.

foreach activity tool foreach activity symbol

ForEach activities [WS-BPEL 2.0] - execute their scope for a specified count. The execution iterations can occur in parallel or in sequence.

repeatuntil activity tool repeatuntil activity symbol

RepeatUntil activities [WS-BPEL 2.0] - execute their contained activity at least once until their specified <condition> becomes true.

Generate Event Activities

Generate event activities specify activities modeled as processes with Generate event implementation type in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

wait activity tool wait activity symbol

Wait activities - specify a delay for a certain period of time or until a certain deadline is reached.

BPEL4WS 1.1 models wait activities as standard processes with Generate event implementation type and Timer type event .

compensate all tool compensate all symbol

Compensate activities - cause all immediately enclosed scopes to be compensated in default order.

BPEL4WS 1.1 models compensate activities as standard processes with Generate event implementation type and Compensation type event.

compensate scope tool compensate scope symbol

Compensate scope activities [WS-BPEL 2.0] - cause one specified child scope to be compensated.

Note: To compensate a scope, create a flow from the scope to the compensate activity, and select the generated compensation event in the Events tab of the flow property sheet to use it. When the compensation event is not used by any flow, the scope generating the event is a compensate activity.
throw activity tool throw activity symbol

Throw activities - specify a business process which needs to signal an internal fault explicitly.

BPEL4WS 1.1 models throw activities as standard processes with Generate event implementation type and Fault type event.

rethrow activity tool rethrow activity symbol

Rethrow activities [WS-BPEL 2.0] - rethrow the fault that was originally caught by the immediately enclosing <catch> and <catchAll> elements within a <faultHandlers> element.

Execute Operation Activities

Execute operation activities specify activities modeled as processes with Execute operation implementation type in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

receive activity tool receive activity symbol

Receive activities - specify how the business process waits for a matching message to arrive.

BPEL4WS 1.1 models receive activities as standard processes with Execute operation implementation type and Receive request action type.

reply activity tool reply activity symbol

Reply activities - send responses to requests previously accepted through receive activities.

BPEL4WS 1.1 models reply activities as standard processes with Execute operation implementation type and Reply action type.

reply fault activity tool reply fault activity symbol

Reply fault activities - send faulted responses to requests previously accepted through receive activities.

BPEL4WS 1.1 models reply fault activities as standard processes with Execute operation implementation type and Reply fault action type.

invoke activity tool invoke activity symbol

Invoke activities - call Web Services offered by service providers.

BPEL4WS 1.1 models invoke activities as standard processes with Execute operation implementation type and Invoke operation action type.

Note: WS-BPEL receive, reply (fault), and invoke activities let you directly specify assignments on their Assignments tab to copy the value of exchanged message variables into another or to calculate the value of an expression, and store it in a variable (see Process Properties).

Stereotype Activities

Stereotype activities specify activities modeled as processes with stereotype with no implementation type in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

assign activity tool assign activity symbol

Assign activities - update the values of variables with new data. The assign activity should be composed of at least one atomic assign task (see Process Properties).

BPEL4WS 1.1 models assign activities as standard processes with <<assign>> stereotype.

validate activity tool validate activity symbol

Validate activities [WS-BPEL 2.0] - validate the values of variables against their associated XML and WSDL data definition. Specify variables (see Variables (BPM)) in the ValidatedVariables tab.

extension activity tool extension activity symbol

Extension activities [WS-BPEL 2.0] - create activities, which are not defined by the specification.

empty activity tool empty activity symbol

Empty activities - specify activities that do nothing (for example a fault which needs to be caught and suppressed) or can provide a synchronization point in a flow activity. It is also used to model top-level processes in top-level diagrams (see Building BPEL Top-Level Diagrams

BPEL4WS 1.1 models empty activities as standard processes with no implementation type nor stereotype.

Other Activities

Other activities specify activities modeled as other objects than processes in WS-BPEL 2.0:

WS-BPEL 2.0 Tool

WS-BPEL 2.0 Symbol

Description

if activity tool if activity symbol

If activities - select exactly one activity to execute from a set of activities.

You can also use composite processes with <<if>> stereotype for modeling purposes.

BPEL4WS 1.1 models switch activities as standard decisions (see Decisions (BPM)) with <<switch>> stereotype.

pick activity tool pick activity symbol

Pick activities - wait for the occurrence of exactly one event from a set of events, then execute the activity associated with that event.

BPEL4WS 1.1 models pick activities as standard decisions (see Decisions (BPM)) with <<pick>> stereotype.

exit activity tool exit activity symbol

Exit activities - immediately end the business process instance.

BPEL4WS 1.1 models terminate activities as standard ends (see Ends (BPM)) with <<terminate>> stereotype.