Designing Business Processes in the Sun Business Process Manager

Editing Business Processes

Sun Business Process Manager (BPM) provides several editors that you can use to design and configure your BP. The main editor, the Business Process Designer, is where most of the process is defined. Additional editors allow you to configure and fine-tune the BP.

The Business Process Designer

The Business Process Designer is the area in Enterprise Designer where you view, create, and edit BP models. The Business Process Designer provides the necessary tools for developing BP models such as graphic editing tools for adjusting, sizing, and aligning model components as well as a palette of modeling elements for developing the logical flow of information and tasks of the BP.

The Business Process Designer is very similar to any of the other Java CAPS interfaces. When you create a new BP, the Business Process Designer appears. The toolbar contains additional activity icons, which are described in Business Process Activities.


Note –

You might need to expand the Business Process Designer window to view all toolbar options.


Table 1 Business Process Designer Toolbar

Name 

Description 

Display Business Rule Designer

Reveals the Business Rule Designer in the lower portion of the Business Process Designer. 

Show Business Process Code

Toggles between showing and hiding the corresponding Business Process Execution Language (BPEL) code, allowing you to view and edit the code. 

Synchronize Graphical Model and Business Process Code

Updates the BP code on demand. The BP code is also synchronized when the model is saved. 

Validate Business Process Model

Checks for any errors in the BP model. 

Show/Hide Property Sheet

Shows or hides the Property Sheet for the selected modeling element. 

Print

Prints the BP model. This option also allows you to control the scale of the printed model. 

Do Auto Layout

Automatically lays out the BP model. The Auto Layout feature provides several options for customizing the model layout. 

Align or Distribute

Displays several options for aligning and distributing your BP model elements. 

Zoom

Controls the view size of the BP model. 

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. 

The Business Rule Designer

The Business Rule Designer allows you to configure relationships between input and output attributes using direct links between the input or using methods from the Method Palette. The area where you map attributes in the Business Rule Designer is called the Mapper.

Some attributes are automatically created for each activity when you drag and drop a component on the Business Process Designer. You can also manually create attributes in the Business Process Properties.

The Business Rule Designer has a Method Palette from which you can select methods to manipulate data. Use these methods to configure data passed between input and output nodes.

The Business Rule Designer toolbar is shown in Figure 1; the icons are described in Table 7.

Figure 1 Business Rule Designer Toolbar

Figure shows the Business Rule Designer toolbar.

Table 7 Business Rule Designer Toolbar

Name 

Description 

Auto Layout

Automatically arranges the visible method boxes for clarity. 

Expand All Methods

Expands all method boxes so parameters and return values are all visible. 

Collapse All Methods

Collapses all method boxes so parameters and return values are not visible. 

Delete Selection

Deletes the selected method boxes. 

The Business Rule Editor

The Business Rule Editor is linked to the Business Rule Designer, and provides an advanced view of the business rules where you can further edit defined rules. You can delete a rule or set of rules, reset the destination for a rule, and change the order of rules. In the Business Rule Editor, you see the business rules in a tree-view in the order in which they are carried out, allowing you to see how data will be processed by the displayed rule set from start to finish, as shown in Figure 2.

Figure 2 Business Rule Editor

Figure shows the Business Rule Editor.

Reset Destination

The Reset Destination feature can be applied to business rules, and resets a BP attribute to an empty state before performing a mapping. The purpose of the Reset Destination option is to create an output container. Since this can create performance overhead, the default setting is off.

The Reset Destination option is useful when creating a BP that includes a user activity inside a while loop. When a BP attribute with repeating nodes is continually reused, such as in a loop activity, it might be necessary to reset the attribute value to an empty state. When BPM populates these nodes during the looping process, it overwrites the data in the BP attribute. If the attribute contains more information than will be overwritten, there is leftover data in the node. In this case, extraneous information appears that does not reflect the current intended value of the attribute. The Reset Destination feature prevents this.

It is important to activate the Reset Destination option on the first rule to ensure that the first action in the mapping process resets the attribute to an empty state. The Reset Destination feature is set in the Business Rules Editor (for more information, see Editing Business Rules).