This chapter provides an overview of business process design. It provides a basic introduction to Business Process Management Notation (BPMN). This introduction is primarily designed to introduce the BPMN-specific terminology used within this guide.
See Chapter 6, "Modeling Business Processes with Oracle BPM" for more detailed information about Oracle's implementation of BPMN 2.0.
This chapter also describes the Sales Quote example. This project is used throughout the examples within the Oracle BPM documentation set.
This chapter includes the following sections:
This section provides a brief introduction to Business Process Management Notation (BPMN). It is primarily designed to introduce the BPMN terminology used throughout this guide.
Business Process Management Notation (BPMN) is an industry standard notation for defining business processes. Oracle BPM supports BPMN 2.0.
A business process can be generally defined as a sequence of tasks that, after performed, result in a well-defined outcome. As the term business process implies, a business process usually represents work that is performed within the context of a company or organization.
The Sales Quote example project shows an example of a business process. It contains a sequence of tasks that result either in the approval or rejection of a sales quote.
Within the context of Oracle BPM, a business process is also something that can be managed by software. Oracle BPM enables you to model real-world business processes like the Sales Quote example and integrate them within an IT environment.
A process instance refers to the specific instance of a business process. While a business process generally defines how an organization performs its work, a process instance refers to the work of a specific person within that organization. In Oracle BPM, this person is referred to as a process participant.
For example, the Sales Quote example shows the overall definition, or model, of a business process, including the roles of the process participants who are responsible for performing the work. It defines how a sales quote is created and approved and defines the types of people responsible for performing that work.
In contrast, a process instance refers to a specific sales quote and the specific people responsible for approving it.
This distinction between process and process instance is important because Oracle BPM enables you to model business processes, convert them into running business applications, and manage the process instances created within those applications.
Process tokens are an abstract concept in BPMN. They refer to the current point of execution within a process. A business process can have multiple tokens that indicate that the process is running in multiple paths.
For example, gateways are often used to split the path of a process. Splitting a process path creates multiple process tokens.
Flow objects are the BPMN components that represent the work performed within a process. The following sections describe the types of flow objects available in BPMN.
While flow objects are used to define the behavior of a business process, data objects are used to define and store the information used by a business process. Data objects are variables that are defined during the modeling and implementation of a process. A process instance uses these variables to store specific information.
For example, the Sales Quote example defines several data objects used to store information about the sales quote. At run time, the process instance generates and stores specific values for these variables.
The Sales Quote project provides real-world examples of different Oracle BPM features. This project is used within the Oracle BPM documentation set to provide examples of the features being described.
The Sales Quote example is shown in Figure 2-1.
The following sections describe how the Sales Quote example process works. This example can be broken down into the following high-level tasks:
These high-level tasks are described in the following sections. Within each section, the specific flow objects required to perform each task are detailed.
The initial flow objects within the Sales Quote project are used to set the initial values for data objects and initiate the process instance as shown in Figure 2-2.
Define start point (none start event)
Initialize data objects (script task)
Initiate the process instance (user task with initiator pattern)
Set values for the business indicator data objects (script task)
The next set of flow objects in the Sales Quote example determine if a review of corporate business practices is necessary. If a review is required, the process proceeds to a part of the process flow that performs the review. If a review is not required, the process proceeds directly to the approval stage.
Figure 2-3 shows the BPMN flow objects used to perform the business practice review.
The following procedure demonstrates how a process path passes through the business practice review.
Determine Approval Flow (business rules task).
This stage begins with a business rules task which implements an Oracle Business Rule to determine whether a business practice review is required.
Check Approval Flow (exclusive gateway).
If Yes, perform Business Practice Review (user task).
If No, the process flow proceeds directly to the approve quote stage.
Approvals (parallel gateway).
The next set of flow objects in the Sales Quote example defines how the sales quote is approved. After the business practice review is finished, the quote moves to the approval phase as shown in Figure 2-4.
In this example, the approval process is defined by two separate flows that are executed simultaneously. These are:
Approve the sales quote.
This process path is also split into two paths. In this example, it is possible for the quote to be self approved, which means that the quote is approved based on certain criteria, or it may require explicit approval from a process participant.
Approve the terms of the contract related to the sales quote.
This process path requires a process participant to approve the terms of the sales contract.
After these parallel process paths complete, they are merged. The process path then proceeds to the approval outcome stage.
Approvals (parallel gateway - split)
Check for self approval (gateway)
Set Approve Quote Outcome
Merge Approve Quote (parallel gateway - merge)
The approvals outcome stage represents the final stage of the Sales Quote example. It begins with a check to determine if the sales quote has been approved.
If the sales quote is approved, the process proceeds to the final process flow which proceeds to the end event.
If the sales quote is not approved, the process flow returns to the enter quote task where the quote must be reentered and the process repeats.
Approvals outcome (exclusive gateway)
The approvals outcome is implemented using an exclusive gateway. This gateway contains two outgoing sequence flows which determine the path the process takes out of the exclusive gateway.
This is implemented with a default sequence flow.
Rejected: Sends the process flow back to the enter quote.
This is implemented with a conditional sequence flow. The expression used for this conditional sequence flow determines if the process path continues