Chapter 4 Building Business Process Diagrams


Process property sheet Implementation tab

The Implementation tab lets you define how the process (activity) is implemented. Depending on the implementation type you specify, the properties available on this tab will change. The following properties are always available. Note that only decomposed processes can be implemented for the ebXML and BPEL languages:

Property Description
Type Specifies the type of process implementation. You can choose between:

  • Loop
  • Reuse process
  • Generate events
  • Assign
  • Execute operation


See Specifying implementation types.
[implementation object] Depending on the implementation type you choose, an additional field or tab may be displayed, allowing you to specify a process, event, expression, operation, or data transformation upon which the implementation acts. You can use the tools to the right of the list to create an object, browse the available objects, or view the properties of the currently selected object.
Action type [None and Reuse process implementations only] Specifies the way the process should be executed. You can choose between:

  • Manual
  • Automated
  • User-defined


[Execute operation implementation only] Specifies the type of message exchange the activity performs. You can choose between:

  • Receive request – receives a message from a partner.
  • Receive request and reply – receives a message from a partner and sends a message in response.
  • Invoke operation – initiates a message sent to a partner, the partner can respond or not.
  • Reply – sends a message to a partner in response to a received message.
  • Reply fault – sends a fault message to a partner in response to a received message.
Implementation (text box) Specifies additional information about the process execution. You can enter any appropriate information in this box, as well as open, insert and save text files. You can open the Implementation tab by right-clicking the process symbol in the diagram, and selecting Implementation in the contextual menu.

Depending on the implementation type you specify, the graphical symbol in within the process symbol will change:

Implemented by Graphical symbol
Loop
Reuse
Generate event
  • Timer event
 
  • Fault event
 
  • Compensation event
Assign
Execute operation
  • Receive: the activity provides services to its partners
 
  • Send: the activity invoke services provided by its partners

See the following tables for lists of properties depending on a particular implementation type.

Loop implementation

This implementation type is available for all target languages, and lets you specify a type of composite activity, which iterates over the set of activities inside of it. You detail in the sub-diagram the actions to perform inside the loop.

The following Loop specific properties are available:

Properties Description
Loop expression Specifies the loop condition.
Loop type Specifies the loop type. You can select from the list a predefined type, when available in the target language.

Reuse process implementation

This implementation type is available for analysis languages (except DFD) and for collaborative languages, and lets you use another existing process to specify your process implementation.

The following Reuse process specific property is available:

Properties Description
Implemented by Specifies the implementation process (see Processes (BPM)).

Generate event implementation

This implementation type is only available for the BPMN and orchestration languages, and lets you specify the generation of events (timer, fault, and compensation).

The following Generate event specific properties are available:

Properties Description
Event Specifies the implementation event (see Events (BPM)).
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.

The Generate event implementation lets you specify events that allow you to model the following specific activities:

Event type Activity...
Timer Wait activity – pauses the process for a specified duration, or until a specified time.
Fault Throw activity – 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.
Compensation Compensate activity – triggers the cancellation of actions performed by an already terminated process using a compensation handler (see Event handlers).

Assign implementation

This implementation type is only available for orchestration languages, and lets you specify a sequence of atomic assign tasks using data transformations (see Data Transformations).

When you select Assign in the Type list, you trigger the display of the Assignments tab (see Process property sheet Assignments tab).

Execute operation implementation

This implementation type is only available for orchestration languages, and lets you model the reception and emission of messages using operations (see Operations (BPM)).

The following Execute operation specific properties are available:

Properties 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 Specifies the received message format associated with the selected operation. Click the Properties tool to display the message format properties. The Received message groupbox is unavailable and empty when the activity sends an operation message that does not require any response message.
Received message Correlation key Specifies a received correlation key (see Correlation Keys (BPM)) that allows the process engine to direct a received message to the correct activity instance. You can use the tools to the right of the list to create an object, or view the properties of the currently selected object. Received correlation key are mostly used for receive request activities.
Received message Message mapping Specifies a variable that retrieves the content of the received message. You can use the tools to the right of the list to create an object, or view the properties of the currently selected object. 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 Specifies the sent message format associated with the selected operation. Click the Properties tool to display the message format properties. The Sent message groupbox is unavailable and empty when the activity receives an operation message that does not expect a response message.
Sent message Correlation key Specifies a sent correlation key (see Correlation Keys (BPM)), which contains the information that is useful to the partner in a next exchange with the activity. You can use the tools to the right of the list to create an object, or view the properties of the currently selected object.
Sent message Message mapping Specifies a variable to use in order to send information to a partner. You can use the tools to the right of the list to create an object, or view the properties of the currently selected object. 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.

Received message

The following table summarizes the relationships between the input/output messages of the operation (see Operation property sheet Input/Output tab) and the received messages of the activity:


Operation\Activity

Receive request
Receive request and reply
Undefined
One-Way Input is received
Request-Response Input is received
Output is ignored
Input is received
Output is sent
Notification Output is received
Solicit-Response Input is ignored
Output is received
Input is sent
Output is received

Sent message

The following table summarizes the relationships between the input/output messages of the operation (see Operation property sheet Input/Output tab) and the sent messages of the activity:

Operation\Activity Reply Reply fault Invoke operation
Undefined
One-Way Input is sent
Request-Response Input is ignored
Output is sent
Input is ignored
Output is ignored
Fault is sent
Input is sent
Output is received
Notification Output is sent
Solicit-Response Input is sent
Output is ignored
Input is ignored
Output is ignored
Fault is sent
Input is received
Output is sent

 


Copyright (C) 2008. Sybase Inc. All rights reserved.