Implementing Processes

You can add additional detail to your processes by specifying the type of implementation required for their execution. Depending on the implementation type, additional fields or tabs may be displayed, allowing you to specify a process, event, expression, operation, or data transformation upon which the implementation acts.

Note: In BPEL (see BPEL4WS 1.1 and WS-BPEL 2.0), decomposed processes cannot have their implementation specified.
  1. Open the property sheet of the process and click the Implementation tab.
    Note: You can open the Implementation tab directly by right-clicking the process symbol in the diagram, and selecting Implementation.
  2. Select an implementation type. The following list details the available implementation types, and specifies where appropriate, the required implementation object:
    Type Description/Properties
    None [default] No implementation is defined, or the implementation consists of an informational description in the text box.
    Loop Transforms the process into a composite process (see Decomposing Processes), which will iterate over the set of sub-processes that it contains. The following properties are displayed:
    • Loop expression - Specifies the loop condition.
    • Loop type - Specifies the loop type. Some languages provide predefined types.
    Reuse process [Analysis and BPMN] Uses another process to implement the process, which you specify in the Implemented by field.
    Execute operation [BPMN, SOA, and BPEL] Implements the process through a service operation to design the reception and emission of messages (see Linking an Operation to a Process).
    Generate Event [BPMN, SOA, and BPEL] Specifies the generation of events, and can be used to raise an exception. The following properties are displayed:
    • Implemented by - Specifies the implementation event (see Events (BPM)). You can specify events to model the following specific activities:
      • Wait activity – (timer event) pauses the process for a specified duration, or until a specified time.
      • Throw activity – (fault event) causes a specific fault to occur to abort a transaction, activity or process and triggers the fault handler (see Event Handlers) for the given process.
      • Compensate activity – (compensation event) triggers the cancellation of actions performed by an already terminated process using a compensation handler.
    • Event mapping - [Only available for fault events] Lets you associate a data with the fault by selecting a local variable from the list. This variable stores the fault data.
    Assign [SOA and BPEL] – Uses a data transformation to copy a variable value to another variable value, or to calculate the value of an expression and store it in a variable via an Xpath or XSLT expression. Enables the display of the Assignments tab (see Process Properties)
  3. [None or Reuse process implementations] Specify the way the process should be executed. You can choose between:
    • Manual
    • Automated
    • User-defined
  4. [optional, except Execute Operation] Specify any additional information about the process execution in the text box. You can enter any appropriate information in this box, as well as open, insert and save text files.
  5. Click OK to save your changes and return to the diagram.

    When a process is implemented, its symbol or the graphical symbol in within it changes to correspond to the implementation type you selected.