Next, on the Arguments Definition tab,
you can specify what information to make
available when the process starts. In this
case, specify two data elements: the employee’s ID and the proposed new salary. On the
Inputs tab, click + to add a new argument,
called employeeIdentifier, of type Int.
Click + again to add another Int argument
named proposedSalary. On the Outputs
tab, create a new Boolean argument named
salaryRaiseAwarded and a String argument named comment. Click Finish to create
the BPMN process.
Next, double-click the newly created
to open it in a new tab. Click the blue
activity icon in the top left corner to create
your first business activity. This activity
gathers information about the employee
in question. Click the flow connecting the
Start and End activities. The activity editor
appears. Set the name of the new activity to
GatherEmployeeFile. Click OK.
The second activity in the process is
a human task in which a person decides
whether to accept the proposed salary raise.
This activity would correspond, for example,
to an HR manager’s deciding to approve or
reject the requested pay raise. To model it,
click the green human task icon. Then click
the flow from GatherEmployeeFile to End.
The User Task dialog box appears. Specify
the name as Decide on Salary Raise,
and click OK.
The Role Properties dialog box automatically appears, prompting you to specify the
name of the role that should execute the
task. Click New. Enter HRManager as the
name of the new role associated with this
task. Click OK twice.
CONDI TIONAL EXECU TION WI TH AN
The next step adds some conditional logic to
the process. In a later step, you will add an
activity to actually trigger a salary increase,
but the execution of this activity depends on
the outcome of the Decide on Salary Raise
task. This conditional execution of activities
can be modeled with an exclusive gateway.
Click the conditional execution icon (which
looks like an x), and then click the flow from
the human task to the End activity. Set the
name of the gateway to Approval granted
switch in the gateway editor. Click OK.
Next, create a new activity called Apply
Salary Raise. This activity will execute
only when certain conditions are met. After
you create the activity, the last step is to
model its flows. Click the flow icon. Next
click the gateway (the starting point for the
flow) and then the Apply Salary Raise activity
(the endpoint). After that, create another
flow connecting the Apply Salary Raise
activity to End.
The logical definition of the complete
process is shown in Figure 1. This diagram
clearly shows what the steps are, the order
in which they will be executed, and the
conditional execution of the Apply Salary
Raise activity. Note that real-world process
models are typically much larger and more
complicated—with subprocesses, loops,
parallel flows, timers, events, and signals.
However, the steps for analyzing, designing,
and implementing processes are largely the
same, regardless of size and complexity.
Note that you can use Oracle BPM Studio
to perform simulations on the business
process. By defining average execution times
and statistical distributions for each process
activity, the number of resources available
to execute activities, and the percentages
for each conditional flow, you can perform
process simulations and analyze their
results. The analysis can help you identify
bottlenecks and explore ways to optimize
processes. These topics are outside the scope
of this article.
SPECIFYING THE BUSINESS OBJEC T AND
PROCESS DATA OBJECTS
The next step is to specify the information
that is manipulated and produced by the
various process activities. Remember that
the focus at this stage is still largely nontechnical. The task is simply to define the
pieces of information relevant to the business process and not to go into detail about
underlying information systems or technical
details about how the data is stored.
First, navigate to the BPM Project
Navigator (as shown in Figure 2). Right-click Business Catalog, select New, and
then select Module to create a new module.
Specify Data as the name of the module.
Figure 2: Adding a module in the BPM Project
Next, right-click the newly created module,
select New, and then select Business
Object to create a business object called
SalaryRaiseRequest. This new business
object will describe the pieces of information required in the process. On the
SalaryRaiseRequest tab that appears, create
the following attributes and specify the types
as shown below:
employeeIdentifier (Int) •
proposedNewSalary (Int) •
employeeName (String) •
hiredateOfEmployee (Time) •
currentSalaryForEmployee (Int) •
jobForEmployee (String) •
comment (String) •
The next step is to create process data
objects, the variables of the business
process. These objects can be based on standard types or custom business objects such
as the just-created SalaryRaiseRequest.
In the BPM Project Navigator, navigate to
and select SalaryRaiseApprovalProcess. Go
down to the Structure window, right-click
Process Data Objects, and select New.
In the dialog box that appears, enter
salaryRaiseRequest for the name and
click the Browse Types button to select the
object type. Select <Component> from the
menu, and select the SalaryRaiseRequest
object as the object type. Click OK twice to
create the object.
Next create a second process data object,
called approvalOutcome, of type String. It
will hold the outcome from the human task.
At this point, select Save All from the File
menu to save your work.