Designing Business Processes in the Sun Business Process Manager

Business Process Activities

Activities are elements in a BP model that specify the logical flow of information. There are several different types of activities you can use in a BP, and each activity performs a different function within the process. Activities are categorized by the following types:

Activity Elements

Activity elements include those activities that are common to most BPs, such as Start, End, Receive, Reply, and so on. Table 2 lists and describes the activity elements. These activities are all available from the Business Process Designer toolbar except the start and end nodes, which appear automatically on the Business Process Designer canvas when a BP is created.

Table 2 Activity Elements

Name 

Description 

Start

Indicates the start of the process. This element appears in the Business Process Designer by default when you create a new BP model; it does not have a corresponding icon on the Business Process Designer toolbar. A start node can only link to a receive activity, and cannot be deleted. 

End

Indicates the completed state of a BP. This element appears in the Business Process Designer by default when you create a new BP model; it does not have a corresponding icon on the Business Process Designer toolbar. An end node cannot be deleted. 

Receive Activity

Indicates the invocation of a BP, or indicates to wait for the arrival of an inbound message. The receive activity represents the actual method by which a BP is initiated. 

Activity

Invokes a web service or a Java CAPS component. Depending upon the configuration of the component, a response might be required. 

Reply Activity

Allows a BP to respond to the external system or user that originally invoked the BP. The receive activity at the beginning of the BP is paired with the reply activity at the end of the process. In cases where a message must be sent back to the caller of the BP, the reply activity uses information that correlates the message in the calling system. 

A reply activity is the last step in a BP in which the BP acts as a web service or sub-process. It correlates the outbound message back to the calling process; for example, it can reply to an external system as a web service. 

Business Rule Activity

Maps and manipulates data using the Business Rule Designer (see The Business Rule Editor). You can also add a Business Rule to some links for the same purpose.

Compensate

Invokes compensation on an inner scope that has already completed normally. This construct can be invoked only from within a fault handler or another compensation handler.

Empty Activity

Allows data to pass through without any changes. 

Wait Activity

Delays processing for a set period of time. 

User Activity

Represents a step in a BP that requires human intervention. This activity must be configured by adding task assignments to the Worklist Manager.

When a BP instance comes to a user activity, it creates a task and polls a table for the status of the task. In order for the user activity to complete, the user or the external application must update the status of the task. 

User Activity API

Represents and configures a step in a BP that requires human intervention from an external application. This activity must also be configured by adding task assignments to the Worklist Manager. 

Branching Activities

Branching activities are elements in a BP model that specify the logical flow of information when there are two or more possible paths. BPM provides three different kinds of branching activities—decisions, event-based decisions, and flows.

Table 3 Branching Activities

Name 

Description 

Branching Activities

Exposes the commands described below. These commands allow you to define several possible paths to execute based on expression logic. 

Decision

Allows you to define complex expressions that are evaluated to determine the proper BP flow. This element also contains the expression and connection names. Expressions are built using the Business Rule Designer and BP attributes. 

Event Based Decision

Allows multiple inbound messages to be juxtaposed against one or more message or timeout conditions, so the type of message received determines the appropriate BP path. 

Flow

Allows you to specify one or more BP paths to be performed concurrently. 

Intermediate Events

Intermediate events are those activities that can receive a BP. Some intermediate events handle exceptions or compensate for exceptions. The intermediate events are available from the Intermediate Events menu on the Business Process Designer toolbar except Throw and Terminate Process, which are both available directly from the toolbar.

Table 4 Intermediate Events

Name 

Description 

Throw

Allows you to create an error along a specific BP path. 

Terminate Process

Allows you to terminate an entire BP before it reaches an end node. 

Intermediate Events

Provides a dropdown menu that lists the following elements. These elements handle exceptions that might occur during a BP or that compensate for exceptions that do occur. 

Timer Event

Specifies either a duration-based or deadline-based condition that determines which branch a BP takes. A duration-based condition is satisfied after a specified elapsed time. A deadline-based condition is satisfied at a specified time. A timer event is used in conjunction with an event-based decision. 

Message Event

Similar to a receive activity, but occurring only in the middle of a process and only with event-based decisions. Each message event can be a different message. 

Catch Named Exception

Handles named exceptions. Each automated (backend) system or web service can publish their possible error codes (for instance, fault 15 is “bad data”), and those codes can be mapped to exception handlers. Each exception handler is connected to the Scope that surrounds one or more steps in a BP. The components within that Scope throw the exceptions when errors occur. The exception handler automatically initiates the appropriate process to handle the problem. 

Catch All Exceptions

Handles un-named exceptions that occur in a Scope or across a BP.

Compensation Handler

Allows you to design the process and circumstances in which compensation takes place. This used when a part of a BP fails and requires a rollback of upstream activities (such as money has to be returned to the customer account). Automatically, upstream steps in the BP are notified that the failure has occurred and certain transactions need to be reversed, sometimes in a sequential order. 

Scope Element

A Scope element defines the behavior for one or more activities. A scope can provide exception handlers, event handlers, and a compensation handler. The exception handlers for the scope can be used to catch the faults caused by the possible exception responses.

Table 5 Scope Element

Name 

Function 

Scope

Allows you to apply exception handling to a set of sequential or simultaneous steps in a BP. 

While Element

A While element makes it possible to have repeating or looping logic inside a BP.

Table 6 While Element

Command 

Function 

While

Allows you to create a looping process within a BP (for instance, a negotiation process might take several weeks, but the manager wants to review the daily status). The loop continues until the process is complete, and then the BP continues.