Specifying Implementation Types

You can add additional detail to your processes by specifying the type of implementation required for their execution. Note that only decomposed processes can have their implementation specified with ebXML and BPEL languages.

  1. Open the property sheet of a process and click the Implementation tab.
  2. Select an implementation type. The following list details the available implementation types, and specifies where appropriate, the required implementation object:
    • <None> [no object] - default. No implementation defined, or the implementation consists of a textual description in the implementation box.

    • Loop [expression text] – (available for all languages) Lets you specify a type of composite activity, which iterates over the set of activities inside of it and creates a sub-diagram, which details the actions to perform inside the loop. The following loop-specific properties are displayed:

      Property

      Description

      Loop expression

      Specifies the loop condition.

      Loop type

      Specifies the loop type. Some target languages provide predefined types.

    • Reuse process [process] – (available for Analysis, ebXML, and BPMN) uses another process for its implementation. The following Reuse process-specific property is displayed:

      Property

      Description

      Implemented by

      Specifies the implementation process (see Processes (BPM)).

    • Execute operation [operation] – (available for orchestration languages) implements a process by a service operation to design the reception and emission of messages. The following execute operation-specific properties are displayed:

      Property

      Description

      Implemented by

      Specifies the implementation operation (see Operations (BPM)). When working with orchestration languages, you can drag and drop an operation from the Browser to the diagram to automatically create an activity (that sends/receives messages) implemented by this operation.

      Action description

      Specifies the way the action is executed. Click the Action Description button to open a text editor, in which you can enter any appropriate information, as well as open, insert and save text files.

      Received message

      [when required by the action] Specifies the received message format associated with the selected operation. You can specify a:
      • Correlation key - (see Correlation Keys (BPM)) which allows the process engine to direct a received message to the correct activity instance. Received correlation key are mostly used for receive request activities.
      • Message mapping - (see Variables (BPM)) which retrieves the content of the received message. The variable corresponds to the first message of the operation for receive activities, and to the second message of the operation for activities that send messages.

      Sent message

      [when required by the action] Specifies the sent message format associated with the selected operation. You can additionally specify a:
      • Correlation key - (see Correlation Keys (BPM)) which contains the information that is useful to the partner in the next exchange with the activity.
      • Message mapping - (see Variables (BPM)) which sends information to a partner. The variable corresponds to the second message of the operation for receive activities, and to the first message of the operation for activities that send messages.
    • Generate Event [event] – (available for orchestration languages and BPMN) specifies the generation of events, and can be used to raise an exception. The following generate event-specific properties are displayed:

      Property

      Description

      Event

      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 [data transformation] – (available for orchestration languages) uses data transformations to allow the copy of data from one variable to another. Enables the display of the Assignments tab (see Process Properties)

  3. Complete any additional fields as necessary to specify a process, event, expression, operation, or data transformation upon which the implementation acts. Use the tools to the right of these fields to create a new object, or view the properties of the currently selected object.
  4. 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.