You are on page 1of 270

Oracle BPM 12c: Essentials

Activity Guide
D84807GC10
Edition 1.0 | February 2015 | D89958

Learn more from Oracle University at oracle.com/education/

Author

Copyright 2015, Oracle and/or its affiliates. All rights


reserved.

Rosie Piller

Disclaimer

Technical Contributors
and Reviewers
Sreejith Achazhiyathkalathil Arif Iqbal
Srinivas Balantrapu
Mary Keane
Tom Barrett

Istvan Kiss

Eric W. Bell

David Lam

This document contains proprietary information and is protected


by copyright and other intellectual property laws. You may copy
and print this document solely for your own use in an Oracle
training course. The document may not be modified or altered in
any way. Except where your use constitutes "fair use" under
copyright law, you may not use, share, download, upload, copy,
print, display, perform, reproduce, publish, license, post,
transmit, or distribute this document in whole or in part without
the express authorization of Oracle.

Varsha Bhatia

Michelle Lapid

Graciela Bodnar

Steven Leslie

Heidi Buelow

Jonathan Lopez

Carlos Casares

David Mills

The information contained in this document is subject to change


without notice. If you find any problems in the document, please
report them in writing to: Oracle University, 500 Oracle Parkway,
Redwood Shores, California 94065 USA. This document is not
warranted to be error-free.

Ariel Cohen

Jill Moritz

Niall Commiskey

Ajay Nair

Restricted Rights Notice

Avinash Dabholkar

Vinod Nimmagadda

Nicolas Damonte

Prasen Palvankar

Deirdre Duffy

Rebecca Parks

Jerry Elliott

Mary Peek

If this documentation is delivered to the United States


Government or anyone using the documentation on behalf of the
United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS
The U.S. Governments rights to use, modify, reproduce,
release, perform, display, or disclose these training materials are
restricted by the terms of the applicable Oracle license
agreement and/or the applicable U.S. Government contract.

Javier Augusto Espeche

Soleiman Pello

Augusto Gonzalez

Ron Pinkerton

Joe Greenwald

Mona Rakibe

Trademark Notice

Subramanian Hariharan

David Read

Phoebe He

Eduardo Rubio

Eric Hsiao

Purnima Sahoo

Oracle and Java are registered trademarks of Oracle and/or its


affiliates. Other names may be trademarks of their respective
owners.

Arif Iqbal

Pablo Schmid

Mary Keane

Eugene Simos

Istvan Kiss

Kenny Somerville

David Lam

Kavitha Srinivasan

Michelle Lapid

Meera Srinivasan

Steven Leslie

Howard Su

Jonathan Lopez

Mariana Tom

David Mills

Sandra Untersander

Jill Moritz

Valeria Untersander

Ajay Nair

Atilio Vivern

Vinod Nimmagadda

Lloyd Williams

Prasen Palvanka

Mark Wilkins

Phoebe He

Carlos Zarate

Eric Hsiao

Editors
Aju Kumar
Malavika Jinka

Graphic Designers
Maheshwari Krishnamurthy
James Hans

Publishers
Michael Sebastian
Srividya Rameshkumar
Sumesh Koshy

Table of Contents
Course Practice Environment: Security Credentials ....................................................................................i-1
Practices for Lesson 1: Course Overview .....................................................................................................1-1
Practices for Lesson 1: Overview ...................................................................................................................1-2
Practices for Lesson 2: The BPM Life Cycle and the Oracle BPM Suite .....................................................2-1
Practices for Lesson 2: Overview ...................................................................................................................2-2
Practices for Lesson 3: Modifying Business Architecture Projects ............................................................3-1
Practices for Lesson 3: Overview ...................................................................................................................3-2
Practice 3-1: Creating a Space and Adding Participants................................................................................3-3
Practice 3-2: Importing and Modifying a Business Architecture Project .........................................................3-6
Practice 3-3: Displaying and Analyzing an Impact Analysis Report ...............................................................3-18
Practices for Lesson 4: Modeling a Process .................................................................................................4-1
Practices for Lesson 4: Overview ...................................................................................................................4-2
Practice 4-1: Creating a Simple Process ........................................................................................................4-3
Practice 4-2: Adding Gateways and Other Types of Tasks ............................................................................4-7
Practices for Lesson 5: Documenting Business Processes ........................................................................5-1
Practices for Lesson 5: Overview ...................................................................................................................5-2
Practice 5-1: Adding Documentation by Using the Graphical View ................................................................5-3
Practice 5-2: Using the Narrative View...........................................................................................................5-6
Practice 5-3: Running Process Reports .........................................................................................................5-11
Practices for Lesson 6: Collaborating on BPM Projects ..............................................................................6-1
Practices for Lesson 6: Overview ...................................................................................................................6-2
Practice 6-1: Collaborating with Other Business Process Composer Users ..................................................6-3
Practice 6-2: Collaborating with BPM Studio Users .......................................................................................6-9
Practices for Lesson 7: Creating and Using Data Objects ...........................................................................7-1
Practices for Lesson 7: Overview ...................................................................................................................7-2
Practice 7-1: Creating and Using Data Objects ..............................................................................................7-3
Practices for Lesson 8: Implementing User Tasks .......................................................................................8-1
Practices for Lesson 8: Overview ...................................................................................................................8-2
Practice 8-1: Creating Human Tasks .............................................................................................................8-3
Practice 8-2: Creating Task Forms.................................................................................................................8-9
Practice 8-3: Mapping Data ............................................................................................................................8-16
Practices for Lesson 9: Implementing Business Rule Tasks .......................................................................9-1
Practices for Lesson 9: Overview ...................................................................................................................9-2
Practice 9-1: Implementing Business Rule Tasks ..........................................................................................9-3
Practices for Lesson 10: Implementing Service Tasks .................................................................................10-1
Practices for Lesson 10: Overview .................................................................................................................10-2
Practice 10-1: Implementing Service Tasks ...................................................................................................10-3
Practices for Lesson 11: Playing the Process ...............................................................................................11-1
Practices for Lesson 11: Overview .................................................................................................................11-2
Practice 11-1: Playing the Process ................................................................................................................11-3
Practices for Lesson 12: Deploying the Process ..........................................................................................12-1
Practices for Lesson 12: Overview .................................................................................................................12-2
Practice 12-1: Deploying a BPM Project ........................................................................................................12-3

Copyright 2015. Oracle and/or its affiliates. All rights reserved.

Oracle BPM 12c: Essentials Table of Contents


iii

Practices for Lesson 13: Participating in a Running Process......................................................................13-1


Practices for Lesson 13: Overview .................................................................................................................13-2
Practice 13-1: Participating in a Running Process .........................................................................................13-3
Practices for Lesson 14: Using Additional BPMN Flow Objects..................................................................14-1
Practices for Lesson 14: Overview .................................................................................................................14-2
Practice 14-1: Using Additional BPMN Flow Objects .....................................................................................14-3
Practice 14-2: Solutions .................................................................................................................................14-5
Practices for Lesson 15: Communicating with Other Processes ................................................................15-1
Practices for Lesson 15: Overview .................................................................................................................15-2
Practice 15-1: Communicating with Peer Processes......................................................................................15-3
Practice 15-2: Communicating with Subprocesses ........................................................................................15-16
Practices for Lesson 16: Handling Exceptions .............................................................................................16-1
Practices for Lesson 16: Overview .................................................................................................................16-2
Practice 16-1: Using a Boundary Event to Catch Errors ................................................................................16-3
Practice 16-2 (Optional Practice): Using an Event Subprocess to Catch Timer Errors ..................................16-9
Practice 16-3 (Optional Practice): Using an Event Subprocess to Catch All Errors .......................................16-13
Practices for Lesson 17: Monitoring Business Processes...........................................................................17-1
Practices for Lesson 17: Overview .................................................................................................................17-2
Practice 17-1: Using Process Monitor ............................................................................................................17-3
Practice 17-2: Configuring Custom Metrics ....................................................................................................17-7
Practices for Lesson 18: Creating Real-Time Dashboards Using BAM ......................................................18-1
Practices for Lesson 18: Overview .................................................................................................................18-2
Practice 18-1: Building a Simple BAM Dashboard .........................................................................................18-3
Practices for Lesson 19: Surfacing KPIs in BA Reports ..............................................................................19-1
Practices for Lesson 19: Overview .................................................................................................................19-2
Practice 19-1: Surfacing KPIs in BA Reports .................................................................................................19-3
Appendix A: Users and Roles .........................................................................................................................20-1
Appendix: Overview .......................................................................................................................................20-2
Users and Roles.............................................................................................................................................20-3
Appendix B: Credit Rating Web Service Algorithm ......................................................................................21-1
Appendix: Overview .......................................................................................................................................21-2
Credit Rating Web Service .............................................................................................................................21-3
Appendix C: CreditRules Decision Table .......................................................................................................22-1
Appendix: Overview .......................................................................................................................................22-2
Credit Rules Decision Table ...........................................................................................................................22-3
Appendix D: Troubleshooting .........................................................................................................................23-1
Appendix: Overview .......................................................................................................................................23-2
General Troubleshooting Tips ........................................................................................................................23-3

Copyright 2015. Oracle and/or its affiliates. All rights reserved.

Oracle BPM 12c: Essentials Table of Contents


iv

Course Practice Environment: Security Credentials


For OS usernames and passwords, see the following:
If you are attending a classroom-based or live virtual class, ask your instructor or LVC
producer for OS credential information.
If you are using a self-study format, refer to the communication that you received from
Oracle University for this course.
For product-specific credentials used in this course, see the following table:
Product-Specific Credentials
Product/Application

Username

Password

mtwain
jausten
Business Process Composer

mmitch
weblogic
weblogic
mmitch
jverne
welcome1
jlondon

Business Process Workspace

mtwain
eheming
fkafka
wfaulk
wshake

BAM Composer

weblogic

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Course Practice Environment: Security Credentials


Chapter i - Page 1

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Course Practice Environment: Security Credentials


Chapter i - Page 2

Practices for Lesson 1:


Course Overview
Chapter 1

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 1: Course Overview


Chapter 1 - Page 1

Practices for Lesson 1: Overview


Practices Overview
There are no practices for this lesson.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 1: Course Overview


Chapter 1 - Page 2

Practices for Lesson 2: The


BPM Life Cycle and the
Oracle BPM Suite
Chapter 2

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 2: The BPM Life Cycle and the Oracle BPM Suite
Chapter 2 - Page 1

Practices for Lesson 2: Overview


Practices Overview
There are no practices for this lesson.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 2: The BPM Life Cycle and the Oracle BPM Suite
Chapter 2 - Page 2

Practices for Lesson 3:


Modifying Business
Architecture Projects
Chapter 3

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 1

Practices for Lesson 3: Overview


Practices Overview
In these practices, you perform the following tasks:

Start WebLogic Server.

Log in to Business Process Composer, create a space, and add participants.

Import three BPM projects and a business architecture (BA) project.

Examine the BA project and answer questions about its contents.

Modify the enterprise map, value chain models, and strategy model to add components
and links.

Demonstrate that you can drill down from the enterprise map to the BPM projects.

Associate the goal in the strategy model with an organization unit.

Generate report data and display an Impact Analysis report.


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 2

Practice 3-1: Creating a Space and Adding Participants


Overview
In this practice, you start WebLogic Server, log in to Business Process Composer, create a
space, and add participants.
Follow either the high-level or detailed instructions, not both.

Assumptions
There are no assumptions for this practice, other than a successful class setup.

Tasks
1.

Start WebLogic Server for the domain called domain1. Ensure that it is running before you
proceed.
Here are detailed instructions, if you need them:
a. Double-click the Start AdminServer icon on the desktop.
b. Wait until you see the message SOA Platform is running and accepting requests, as
highlighted in the following screenshot:

2.

Log in to Business Process Composer as mtwain.


Here are detailed instructions, if you need them:
a. Start a Firefox browser, and click the Business Process Composer bookmark or
navigate to http://yourhostname.us.oracle.com:7001/bpm/composer.
b. Enter mtwain for Username, and enter the password that is specified on the Security
Credentials page at the beginning of this Activity Guide.
c. Click the Login button.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 3

The Welcome page for the mtwain user appears:

3.

Create a space named AcmeUniversity.


Here are detailed instructions, if you need them:
a. To the right of the All icon (top left), click the New Space icon:

b.

4.

Enter AcmeUniversity and click Save:

The new space is displayed in the left column.


Add participants to the AcmeUniversity space as follows:

mmitch: Editor

jausten: Viewer
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 4

Here are detailed instructions, if you need them:


a. Place the cursor over the space, click the Edit Space icon, and select Participants:

b.

In the Share window, enter mmitch, select Editor, and click Share:

The mmitch user is added to the table at the bottom of the window.
c.

Enter jausten, select Viewer, and click Share.


The jausten user is added to the table as well:

d.

Click the Close button to close the Share window.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 5

Practice 3-2: Importing and Modifying a Business Architecture Project


Overview
In this practice, you import three BPM projects and a business architecture (BA) project into the
AcmeUniversity space. You examine the BA project and answer questions about its contents.
Then you modify the enterprise map, value chain models, and strategy model to add
components and links. After demonstrating that you can drill down from the enterprise map to
the BPM projects, you publish the project, releasing the lock.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that the mtwain user has created the AcmeUniversity space in Business
Process Composer and added participants mmitch and jausten, granting them Editor and
Viewer role, respectively.

Tasks
1.

Import the CarLoans, JumboLoans, and StudentLoans BPM projects into the
AcmeUniversity space.
Note: Use the Car Loans.exp, Jumbo Loans.exp, and Student Loans.exp files in
the /home/oracle/labs/lab3 folder.
Here are detailed instructions, if you need them:
a. If you are not logged in to Business Process Composer as the mtwain user, log in.
b. From the main menu in the upper-left corner, select Import > Import Project:

c.

In the Import from file window, select the AcmeUniversity space, and browse to find
the Car Loans.exp file in the /home/oracle/labs/lab3 folder:

d.

Click OK.
An Information page should indicate that the project was successfully imported.
Click OK to close the Information page.

e.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 6

The Car Loans BPM project appears on the Welcome page:

f.

2.

3.

Follow similar steps to import the Student Loans and Jumbo Loans BPM projects.
When you have finished, your space will have three BPM projects in it.
Import the Business Architecture for Acme BA project into the AcmeUniversity space.
Note: Use the Business Architecture for Acme_START.barch file in the
/home/oracle/labs/lab3 folder.
Examine the BA project and answer the following questions:

Is the project shared? By whom?

How many enterprise maps does the project have? How many value chain models?
How many strategy models?

In the enterprise map, are any process areas linked to value chain models?

Between the two value chain models, which one is the parent, and which one is the
child? Explain.

Are there links in the two value chain models to other value chain models or to BPM
processes?

In the strategy model, how many objectives make up the goal of achieving financial
viability?

What strategies fulfill the Revenue base objective?

Are any strategies mapped to value chain models?


Here are detailed instructions, if you need them:
a. Click the BA project name to open the project.
The Project Home page appears:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 7

b.

Notice that the project is shared. Click the 3 users link to look at the project team:

The Team window displays the team:

c.
d.

e.
f.

Question: Is the project shared? By whom?


Answer: Yes, the project is shared by mtwain (Owner), jausten (Viewer), and
mmitch (Editor).
Close the Team window.
Notice the menu on the left:

Question: How many enterprise maps does the project have? How many value chain
models? How many strategy models?
Answer: The project has one enterprise map, two value chain models, and one
strategy model.
The Enterprise Map view should be displayed. If it is not, click Enterprise Map in the
left menu.
To open the enterprise map, click it:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 8

The enterprise map appears:

g.
h.

i.

Question: In the enterprise map, are any process areas linked to value chain models?
Answer: No, there are no links to value chain models.
Click the Project Home tab.
On the Project Home page, in the left menu, click Value Chain Model.
The two value chain models are shown:

Click the two value chain models to display them in separate tabs.
The value chain models look like the following screenshots:
Loan Application value chain model:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 9

Manage Financial Resources value chain model:

j.

k.

Question: Between the two value chain models, which one is the parent, and which
one is the child? Explain?
Answer: You cannot tell for sure; however, because Manage Financial Resources has
a value chain step named Loan Application, it's likely that Manage Financial Resources
is the parent, and Loan Application is the child.
Question: Are there links in the two value chain models to other value chain models or
to BPM processes?
Answer: No
On the Project Home page, in the left menu, click Strategy Model.
The strategy model is listed:

Click the strategy model to open it.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 10

The strategy model appears:

4.

Question: In the strategy model, how many objectives make up the goal of achieving
financial viability?
Answer: Five
Question: What strategies fulfill the Revenue base objective?
Answer: Alternate flow of income and Projects audit
Question: Are any strategies mapped to value chain models?
Answer: No
Add a process area named Manage Financial Resources to the Management lane of
the enterprise map, and link it to the Manage Financial Resources value chain model.
Ensure that you can drill down from the Manage Financial Resources process area to the
value chain model to which it is linked. Save your changes.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 11

Here are detailed instructions, if you need them:


a. Click Edit to open the project for editing:

b.
c.

Click the Acme Enterprise Map tab.


Drag a process area from the right column to the Management lane:

d.

Right-click the process area and select Properties.


The Properties tab appears.
In the Basic pane, click the Edit icon, enter Manage Financial Resources in the
name field, and click OK.
In the Links pane, click the browse icon:

e.
f.

g.
h.

Select the Business Architecture for Acme project, and click Next.
Select the Manage Financial Resources value chain, and click Finish.
The Links pane now indicates that the process area is linked to the selected value
chain model:

i.

Close the Properties pane by clicking the Collapse Pane icon:

Notice that the new process area now has a link.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 12

5.

j.

Click the link:

k.

The Manage Financial Resources value chain model opens.


Click Save:

Add and link a strategy and value chain to the strategy model, as follows:

Add a strategy named Equal access for students with financial constraints to the
Student fee objective.

Add a value chain named Manage Financial Resources to the Equal access for
students with financial constraints strategy.

Link the Manage Financial Resources value chain in the strategy model to the Manage
Financial Resources value chain model in the BA project.
Ensure that you can drill down from the value chain in the strategy model to the Manage
Financial Resources value chain model in the BA project. Save your changes.
Here are detailed instructions, if you need them:
a. Click the Achieve Financial Viability tab to display the strategy model.
b. Drag a strategy to the canvas and name it Equal access for students with financial
constraints.
c. Draw a link to the new strategy from the Student fee objective.
d. Drag a value chain to the canvas and name it Manage Financial Resources.
e. Draw a link to the new value chain from the Equal access for students with financial
constraints strategy.
f. Edit the properties of the value chain in the strategy model to link to the value chain
model of the same name (Manage Financial Resources).
g. Close the Properties pane.
The value chain now has a link:

h.
i.

Click the link.


The Manage Financial Resources value chain model appears.
Click Save.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 13

6.

Link from the Loan Application step in the Manage Financial Resources value chain model
to the Loan Application value chain model, and test the link. Save your changes.
Here are detailed instructions, if you need them:
a. Ensure that you are viewing the Manage Financial Resources value chain model.
b. Right-click the Loan Application value chain step and select Properties:

c.

The Properties pane opens.


In the Links pane, click the browse icon:

d.

In the Link window, select the Business Architecture for Acme project and click Next.

e.

Select the Loan Application value chain, and click Finish.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 14

The Loan Application value chain step in the Manage Financial Resources value chain
model is now linked to the Loan Application value chain model. You can see this link in
the Links pane:

A link icon now appears in the Loan Application value chain step:

f.
g.

7.

Close the Properties pane.


Click the link in the Loan Application value chain step.
The Loan Application value chain model appears.
h. Click Save to save your changes.
Create and test the following links in the Loan Application value chain model:

Link from the Car Loans step to CarLoansProcess in the Car Loans BPM project.

Link from the Student Loans step to StudentLoansProcess in the Student Loans BPM
project.

Link from the Jumbo Loans step to JumboLoansProcess in the Jumbo Loans BPM
project.
Save your changes.
Here are detailed instructions, if you need them:
a. Ensure that you are viewing the Loan Application value chain model.
b. Right-click Car Loans and select Properties.
The Properties pane displays at the bottom of the window.
c. In the Links pane, click the Browse button.
d. In the Link window, select the Car Loans project and click Next.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 15

e.

Select CarLoansProcess and click Finish.

The Links pane now shows the link to CarLoansProcess:

The Car Loans value chain step now has a link:

f.

g.

8.

Follow similar steps to create links from the Student Loans value chain step in the Loan
Application value chain model to StudentLoansProcess in the Student Loans BPM
project, and from the Jumbo Loans value chain step to JumboLoansProcess in the
Jumbo Loans BPM project.
Test the links to ensure that you can navigate from each of the three value chain steps
to the appropriate BPM process.
To navigate back to the BA project from the BPM projects, click the BA project name at
the top:

h. Save the BA project.


Retest all of the links, demonstrating that you can drill down from the enterprise map to
three BPM projects, as follows:

In the enterprise map, drill down from the Manage Financial Resources process area to
the Manage Financial Resources value chain model.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 16

9.

In the strategy model, drill down from the Manage Financial Resources value chain
model to the Manage Financial Resources value chain model in the BA project.

In the Manage Financial Resources value chain model, drill down from the Loan
Application value chain step to the Loan Application value chain model (which is a child
of the Manage Financial Resources value chain model).

In the Loan Application value chain model, drill down from the Car Loans, Student
Loans, and Jumbo Loans value chain steps to corresponding BPM processes.
Publish the project, providing comments in the Publish dialog box to describe what you
have done. Ensure that the lock is released. Do not create a snapshot and do not publish a
project report.
a. Click the Publish button:

b.

c.

The Publish Project window appears, listing the unpublished changes and the number
of artifacts that have been modified.
You are prompted to provide a comment and to decide whether to release the lock,
make a snapshot, and publish a project report.
Enter a comment to describe the changes you have made. Ensure that the Release
lock check box is selected. Do not select the Make snapshot or Publish Project
Report check boxes.
When you have finished, click Publish.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 17

Practice 3-3: Displaying and Analyzing an Impact Analysis Report


Overview
In this practice, you associate the goal in the strategy model with an organization unit. Then you
generate report data to display an Impact Analysis report.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that the mtwain user has created the AcmeUniversity space in Business
Process Composer, imported the Business Architecture project named "Business Architecture
for Acme," and modified it according to instructions in the previous practice.

Tasks
1.

Define an organization unit named Acme Finance Unit.


Here are detailed instructions, if you need them:
a. Open the Business Architecture for Acme BA project for editing.
b. On the Project Home page, in the lower-right menu, click Organization Unit:

The Organization Units window appears:

c.

Click the plus sign, enter a name and description for the new organization unit, and
click Create:

The new organization unit is listed:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 18

2.

d. Click OK to close the Organization Units window.


Link the Achieve Financial Viability goal in the strategy model to the Acme Finance Unit
organization unit.
Here are detailed instructions, if you need them:
a. Open the Achieve Financial Viability strategy model.
b. Right-click the Achieve Financial Viability goal and select Properties:

c.
d.

In the Links pane, click the browse button.


In the Select Organization window, select the Acme Finance Unit organization unit and
click OK:

The Achieve Financial Viability goal is now linked to the Acme Finance Unit
organization unit:

3.

4.

Publish the BA project without releasing the lock.


Hint: Click the Publish button, enter a comment, and deselect the Release lock check box
before clicking Publish.
Publish report data without creating a snapshot.
Here are detailed instructions, if you need them:
a. From the main menu, select Reports > Publish reports data:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 19

b.

5.

In the Publish reports data window, ensure that Current version is selected and that
Snapshot is not selected. Then click OK:

c. When you get confirmation that the report data was successfully published, click OK.
Display the Impact Analysis report by value chain. Browse the model by goal and then by
organization unit, expanding the objective and strategy that is linked to the Manage
Financial Resources value chain model.
Hint: Examine the Achieve Financial Viability strategy model to determine which objective
and strategy to use.
Answer the following questions:

What objective and strategy do you need to expand in order to find the Manage
Financial Resources value chain model?

When you select the Manage Financial Resources value chain model in the left pane,
what associations are displayed in the right pane?

What is the difference between displaying the Impact Analysis report by goal compared
to displaying it by organization unit?

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 20

Here are detailed instructions, if you need them:


a. From the main menu, select Reports > Business Architecture > Impact Analysis Report
> Value Chain:

The report appears on a new browser tab. The BA project has only one goal, Achieve
Financial Viability; therefore, that is the only goal that is listed:

b.

c.

Expand the goal and the objectives under the goal. Find the strategy that links to the
Manage Financial Resources value chain model.
Hint: Examine the Achieve Financial Viability strategy model to determine which
objective and strategy to use.
Question: What objective and strategy do you need to expand in order to find the
Manage Financial Resources value chain model?
Answer: You need to expand the Student fee objective and the Equal access for
students with financial constraints strategy.
In the left pane, select the Manage Financial Resources value chain model.
Your window should look similar to the following screenshot:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 21

d.

Question: When you select the Manage Financial Resources value chain model in the
left pane, what associations are displayed in the right pane?
Answer: The first pane on the Associations tab indicates the child value chain models
for Manage Financial Resources, and the second pane lists the steps in the Manage
Financial Resources value chain model.
Select By Organization Unit from the Viewpoint menu:

The page refreshes. The BA project has only one organization unit, Acme Finance
Unit; therefore, that is the only organization unit that is listed:

e.

6.

Expand the organization unit and the Achieve Financial Viability goal, the Student fee
objective, and the Equal access for students with financial constraints strategy. Then
select the Manage Financial Resources value chain model.
Your window should look similar to the following screenshot:

Question: What is the difference between displaying the Impact Analysis report by
goal compared to displaying it by organization unit?
Answer: When you display the Impact Analysis report by organization unit, the goal
and all of its objectives, strategies, and so on are listed by organization unit. In all other
respects, the reports are identical.
Close the Impact Analysis Report.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 22

7.

Close the AcmeUniversity project, releasing the lock:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 23

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 3: Modifying Business Architecture Projects


Chapter 3 - Page 24

Practices for Lesson 4:


Modeling a Process
Chapter 4

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 1

Practices for Lesson 4: Overview


Practices Overview
In these practices, you perform the following tasks:

Creating a BPM project

Creating the LoanApplication process

Adding user tasks to your process model

Building swimlanes and assigning roles to the swimlanes

Adding gateways to the process

Adding a business rule and two service tasks

Publishing the project


At the end of this practice, you will have a BPM project in your space, and that project will have
one process: LoanProcess. LoanProcess will look similar to the following process model:

Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 2

Practice 4-1: Creating a Simple Process


Overview
In this practice, you create and save a BPM project and a simple process.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have created a space named AcmeUniversity.

Tasks
1.

Create a BPM project named LoanApplication in the AcmeUniversity space.


Here are detailed instructions, if you need them:
a. If you are not logged in to Business Process Composer as the mtwain user, log in.
b. On the Welcome page, click the New BPM Project button:

c.

Enter the project name and description. Ensure that the AcmeUniversity space is
selected, and click Save:

The project is created:

2.

Create a process named LoanProcess in the LoanApplication BPM project. Open the
process, but do not add any components to your process yet. Answer the following
question:

What components does the newly created process contain?


Here are detailed instructions, if you need them:
a. Click the LoanApplication BPM project to open it.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 3

b.
c.
d.

3.

Click the Edit icon to unlock the project for editing.


Ensure that the Processes view is displayed, and click New to create a new process.
Name the process LoanProcess, provide a description, and click Create.
Click the process to open it.
The process opens.

Question: What components does the newly created process contain?


Answer: A Start event and an End event
Add two tasks to LoanProcess:

An Initiator task named Capture Loan Request

A User Task named Review Loan Application


Here are detailed instructions, if you need them:
a. In the BPMN component palette, double-click Interactive to expand the palette for
interactive tasks.
b. Drag an Initiator task to the process model, and place it on the sequence flow after the
Start event.
Note: The sequence flow will turn blue when the task is positioned on the flow.
c. Select the label and name the task Capture Loan Request.
d.

Similarly, add a User Task named Review Loan Application between Capture
Loan Request and the End event.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 4

When you have finished, your process model will look like the following:

e.

4.

Ensure that the first interactive task has the Initiator icon (as shown in the screenshot)
and the second interactive task has the User Task icon.
Drag the Review Loan Application task and the End event to a second swimlane. Associate
the first swimlane with a new role named LoanOfficer, and associate the second
swimlane with a new role named LoanProcessor.
Here are detailed instructions, if you need them:
a. Drag the Review Loan Application task and the End event to a second swimlane below
the first.
b. Select the first swimlane label and enter LoanOfficer.
c.

Select the second swimlane label and enter LoanProcessor.


When you have finished, your process model will look like the following:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 5

5.

Save the project, leaving it open for further editing.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 6

Practice 4-2: Adding Gateways and Other Types of Tasks


Overview
In this practice, you add gateways as well as a business rule task and two service tasks to the
process.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have created the LoanApplication BPM project and the
LoanProcess process. The process contains a start and end event, two user tasks, and two
swimlanes (which are named LoanOfficer and LoanProcessor, respectively).

Tasks
1.

Add an exclusive gateway named Review Outcome between Review Loan Application
and the End event. Create a conditional flow path named Need More Details from the
gateway to Capture Loan Request. The default flow path should proceed to the End event.
At the end of this task, the first part of your process model will look like the following:

Here are detailed instructions, if you need them:


a. Position the Review Loan Application task under Capture Loan Request.
Note: Review Loan Application should remain in the LoanProcessor swimlane.
b. In the BPMN component palette, click Gateway and drag an Exclusive Gateway
between Review Loan Application and the End event.
c. Select the gateway label and name the gateway Review Outcome.
d. Place the cursor over the gateway until you see a sequence flow (arrow), and drag that
arrow to the Capture Loan Request task.
e. Place the cursor over the sequence below that you just added, click the pencil icon,
and enter Need More Details in the Name field.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 7

2.

3.

Add a business rule task named Credit Rules between the Review Outcome gateway and
the End event.
Here are detailed instructions, if you need them:
a. Move the End event farther to the right to allow space for three additional activities.
b. In the BPMN component palette, click the Activity icon, and drag a business rule task
about half way between Review Outcome and the End event.
Note: In the expanded component palette, you may need to scroll down to find
Business Rule.
c. Select the business rule task label and name the task Credit Rules.
Similarly, add two service tasks:

After the Review Outcome gateway, add a service task named Credit Rating.

After the Credit Rules business rule task, add a service task named Disburse Loan.
When you have finished, your process model should look similar to the following process
model:

4.

Publish the project, providing comments in the Publish dialog box to describe what you
have done. Ensure that the lock is released. Do not create a snapshot.
Here are detailed instructions, if you need them:
a. Click the Publish button:

b.

The Publish Project window appears, listing the unpublished changes and the number
of artifacts that have been modified.
You are prompted to provide a comment and decide whether to create a snapshot.
Enter a comment to describe the changes so far. Do not select the Make snapshot
check box.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 8

c.

When you have finished, click Publish.

The project is published.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 9

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 4: Modeling a Process


Chapter 4 - Page 10

Practices for Lesson 5:


Documenting Business
Processes
Chapter 5

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 1

Practices for Lesson 5: Overview


Practices Overview
In these practices, you perform the following tasks:

Using the Graphical view:


Adding end-user documentation
Adding business properties for a task
Renaming process flow components
Adding process flow components

Using the Narrative view:


Adding role descriptions
Adding process flow components
Adding roles

Running process reports


At the end of this practice, LoanProcess will look similar to the following process model:

Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 2

Practice 5-1: Adding Documentation by Using the Graphical View


Overview
In this practice, you use the Graphical view to add documentation and edit business properties.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have created a BPM project named LoanApplication in the
AcmeUniversity space. It also assumes that you have modeled a process named LoanProcess
as described in Practice 4-2.

Tasks
1.

Using the Graphical view, add documentation to help those who will perform the Review
Loan Application task.
Here are detailed instructions, if you need them:
a. Open LoanProcess and ensure that it is open for editing.
b. Click the pencil icon next to Review Loan Application, and select Documentation.
c. In the Documentation Type menu, ensure that End User is selected.
Hint: You may need to click the double-right arrows on the toolbar to see the
Documentation Type menu.

d.

e.

Add instructions that would be useful to those who will perform this task, as in the
following example: Please ensure the loan application is completely
filled out.
Click Apply Changes.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 3

2.

Configure RACI settings and at least one issue for the Review Loan Application task.
Here are some examples:

Here are detailed instructions, if you need them:


a. From the left menu, select Business Properties.
Note: The view switches automatically to LoanProcess Business Properties so you
need to click the Review Loan Application task again to display Business Properties for
Review Loan Application.

b.

In the left navigation menu, click RACI to display the RACI view.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 4

c.

3.

Select LoanProcessor from the Responsible menu, and select other roles for one or
more of the other fields.
d. In the left navigation menu, click Issues to display the Issues view.
e. Click the Add icon, enter an issue, select Severity, Priority, and Status, and click OK.
The issue appears in the Issues view.
Save your changes, keeping the project open for further editing.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 5

Practice 5-2: Using the Narrative View


Overview
In this practice, you use the Narrative view to add documentation and modify the process.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have added documentation to LoanProcess by using the
Graphical view.

Tasks
1.

2.

While still in the Graphical view, rename the existing End event Loan Fulfilled, and
add a freestanding End event to your process named Loan Rejected. When you have
finished, the end of your process should be similar to the following screenshot:

Here are detailed instructions, if you need them:


a. Click the End event label and rename the event Loan Fulfilled.
b. In the BPMN component palette, double-click Throw Event to display the options.
c. Drag an End event to the process model, and name it Loan Rejected.
Display the Narrative view and answer the following questions:

How does the Narrative view indicate branching for the Review Outcome gateway?

Does the Narrative view display the end-user documentation that you entered for the
Review Loan Application task in the previous practice? Is it editable?

For the Review Loan Application task in Narrative view, what is the difference between
Description and Documentation?
Here are detailed instructions, if you need them:
a. Click the Narrative tab.

The Narrative view of LoanProcess opens.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 6

b.

c.

3.

Scroll down and examine the Review Outcome gateway.


Here is an example:

Question: How does the Narrative view indicate branching for the Review Outcome
gateway?
Answer: It uses an If-Otherwise format.
Click Review Loan Application to display details for that task.
Here is an example:

Question: Does the Narrative view display the end-user documentation that you
entered for the Review Loan Application task in the previous practice? Is it editable?
Answer: Yes, the Narrative view displays the end-user documentation, and yes, it is
editable.
Question: For the Review Loan Application task in Narrative view, what is the
difference between Description and Documentation?
Answer: In the Narrative view, the Description field contains information for an internal
audiencefor your collaborators. The Documentation field contains help for end users
who are participating in the process.
Using the Narrative view, add role descriptions for the LoanProcessor and LoanOfficer
roles. Here are some suggestions:

LoanProcessor: The Loan Processor reviews the loan application to


ensure that all fields have been completed.

LoanOfficer: The Loan Officer completes and submits the


application.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 7

Here are detailed instructions, if you need them:


a. While Review Loan Application details are displayed, enter details in the Role
Description section.
Here is an example:

b.
c.

4.

Scroll up and click the LoanOfficer role.


Enter details in the Role Description section.
Here is an example:

Still in the Narrative view, add a new user task named Underwriter Review between
Credit Rules and Disburse Loan, and assign the new task to a new role named
Underwriter.
Here are detailed instructions, if you need them:
a. Click the Credit Rules business rule task to expand it.
b. Click Add > Activity.

A new abstract activity is added:

c.
d.

Click the activity to expand it.


Change the activity type to User Task:

e.

Name the task Underwriter Review.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 8

f.

Click Add Role:

g.

5.

In the Add Role window, enter Underwriter and click OK.


The revised task appears.
Still in the Narrative view, add an exclusive gateway named Underwriter Outcome after
the Underwriter Review user task. Add a conditional flow named Rejected by
Underwriter that proceeds to the Loan Rejected event. The default flow should proceed
to the Disburse Loan service activity. Answer the following questions:
When you first add the gateway, what branching is indicated in the Narrative view
for that gateway?
In the Narrative view, can you add more than one conditional flow to the gateway?
In the Narrative view, can you name conditional flows? Can you name default flows?
Here are detailed instructions, if you need them:
a. In the expanded Underwriter Review task, click Add > Exclusive Gateway:

The new gateway is created:

b.
c.
d.
e.

Question: When you first add the gateway, what branching is indicated in the Narrative
view for that gateway?
Answer: The gateway has just one outgoing sequence flow: To the Disburse Loan
task.
Click the gateway to expand it.
Name it Underwriter Outcome.
Click the Add condition down arrow and select the Loan Rejected event.
Enter Rejected by Underwriter in the blank field:

Question: In the Narrative view, can you add more than one conditional flow to the
gateway?
Answer: Yes
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 9

6.

Question: In the Narrative view, can you name conditional flows? Can you name
default flows?
Answer: In the Narrative view, you can name conditional flows, but you cannot name
default flows. The key word Otherwise is used for default flows.
In the Graphical view, examine your process, name the default flow from the Underwriter
Outcome Approved by Underwriter, and fix the formatting if necessary.
Here is a sample:

Answer the following questions:

Does the Graphical view show a new swimlane for the Underwriter?

Which process components were added to that swimlane?


Here are detailed instructions, if you need them:
a. Click the Graphical tab:

b.

7.

Place the cursor over the sequence flow between Underwriter Outcome and Disburse
Loan, and click the pencil icon.
c. Enter Approved by Underwriter in the Name field.
d. If necessary, move flow components into place to match the process model that is
shown in the task instructions.
Question: Does the Graphical view show a new swimlane for the Underwriter?
Answer: Yes
Question: Which process components were added to that swimlane?
Answer: Underwriter Review, Underwriter Outcome, Loan Rejected, Disburse Loan, and
Loan Fulfilled
Publish the project, releasing the lock.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 10

Practice 5-3: Running Process Reports


Overview
In this practice, you run process reports. Follow either the high-level or detailed instructions, not
both.

Assumptions
This practice assumes that you have made changes to LoanProcess as described in Practices
5-1 and 5-2.

Tasks
1.

Display a Detailed Business Process report for the Loan Application BPM project in HTML
format, ensuring that both documentation and business properties are included. Answer the
following questions:

In the Project Details section of the Detailed Business Process report, how many
processes are listed?

Which participants are listed?

Does the report display the end-user documentation and issues that you defined for the
Review Loan Application user task?

What does Appendix E contain?


Here are detailed instructions, if you need them:
a. In the main menu, select Process Report.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 11

b.

In the Process Report window, ensure that Detailed Business Process is selected,
select the Show Documentation and Show Business Properties check boxes, and
ensure that HTML is selected as the output type:

c.

2.

3.
4.

Click OK.
The Detailed Business Process report opens in a new browser window.
d. Scroll down to examine the various sections of the report and to answer the questions
that were posed in the task description.
Question: In the Project Details section of the Detailed Business Process report, how many
processes are listed?
Answer: One: LoanProcess
Question: Which participants are listed?
Answer: LoanOfficer, LoanProcessor, Process Owner, Process Reviewer, Unassigned
Role, and Underwriter
Question: Does the report display the end-user documentation and issues that you defined
for the Review Loan Application user task?
Answer: Yes
Question: What does Appendix E contain?
Answer: Validation errors
Display and examine the RACI Report.
Question: Does the report display the RACI information that you defined for the Review
Loan Application user task?
Answer: Yes
Display one or two other process reports and examine their contents.
Close the reports, close the LoanApplication project, and log out of Business Process
Composer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 12

Because the class environment is not resourced the way a production environment
would be, it is a good idea to restart AdminServer periodically.
5. Restart AdminServer as follows:
a. On the desktop, double-click Stop AdminServer.
After a short time, the terminal windows for both the stop and start processes will close
automatically.
b. On the desktop, double-click Start AdminServer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 13

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 5: Documenting Business Processes


Chapter 5 - Page 14

Practices for Lesson 6:


Collaborating on BPM
Projects
Chapter 6

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 1

Practices for Lesson 6: Overview


Practices Overview
In these practices, you perform the following tasks:

Collaborating with other Business Process Composer users

Collaborating with BPM Studio users

Creating snapshots
At the end of this practice, as a result of process updates, LoanProcess will look similar to the
following process model:

Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 2

Practice 6-1: Collaborating with Other Business Process Composer


Users
Overview
In this practice, you examine share settings at the space level, change share settings at the
project level, see who else is viewing or editing a project, view latest changes, and create a
project snapshot.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have created LoanProcess and updated it as described in
Practices 5-1 and 5-2.

Tasks
1.

While logged in to Business Process Composer as the mtwain user, examine participant
privileges for the AcmeUniversity space and answer the following questions:

Who is the Owner of the space?

Which users have viewing or editing privileges?


Here are detailed instructions, if you need them:
a. Place the cursor over the AcmeUniversity space, and click the Edit Space icon:

b.

Click Participants:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 3

The Share window opens:

2.

Question: Who is the Owner of the space?


Answer: The mtwain user
Question: Which users have viewing or editing privileges?
Answer: The jausten user has viewing privileges, and the mmitch user has editing
privileges.
c. Click Close to close the Share window.
Examine team member privileges for the LoanApplication BPM project, and answer the
following questions:

Who is the Owner of the project?

Which users have viewing or editing privileges?


Here are detailed instructions, if you need them:
a. Click LoanApplication to open the application.
b. On the Project Home page, click the link next to Shared Project:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 4

The Team window opens:

3.

Question: Who is the Owner of the project?


Answer: The mtwain user
Question: Which users have viewing or editing privileges?
Answer: The jausten user has viewing privileges, and the mmitch user has editing
privileges. By default, the privileges for this project match the privileges for the space.
Change privileges for the LoanApplication BPM project to grant editing privileges to the
jausten user. Answer the following questions:

Do you need to be editing a project to change privileges?


When you edit privileges for a project, can you add or delete team members?
Are changes made at the project level reflected in the participant privileges for the
space containing the project?
Here are detailed instructions, if you need them:
a. Select the JAUSTEN row.
The Change Role button is enabled.
b. Click the Change Role button.
The Change Role window opens.
c. Select Editor from the menu, and click OK.
The Team window reflects the new privilege for the jausten user:

d.

Question: Do you need to be editing a project to change privileges?


Answer: No
Question: When you edit privileges for a project, can you add or delete team
members?
Answer: No
Question: Are changes made at the project level reflected in the participant privileges
for the space containing the project?
Answer: No
Close the Team window.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 5

4.

As the mtwain user, ensure that LoanApplication is open for viewing, but not open for
editing. Open a separate private Firefox browser window, log in to Business Process
Composer as the jausten user, and open LoanApplication for editing. Answer the
following questions:

Can the jausten user open LoanApplication for editing? Explain.

Can the jausten user see who else is currently viewing or editing the project?

While the jausten user has the project open for editing, can the mtwain user (the
Owner of the project) view it, edit it, and see who is currently editing the project?
Explain.
Here are detailed instructions, if you need them:
a. In the Firefox browser window, select File > New Private Window.
b. Log in as the jausten user.
c. Click Loan Application and open it for editing.
Question: Can the jausten user open LoanApplication for editing? Explain.
Answer: Yes. She was granted editing privileges in a previous step and no other user
has a lock on the project. (The mtwain user released the lock.)
d. Click the Currently watching Users icon:

The Team window opens:

5.

Question: Can the jausten user see who else is currently viewing or editing the
project?
Answer: Yes
Question: While the jausten user has the project open for editing, can the mtwain
user (the Owner of the project) view it, edit it, and see who is currently editing the
project? Explain.
Answer: The mtwain user can view the project and see who is currently editing the
project, but he cannot edit the project because the jausten user has locked it by
opening it for editing.
e. Click OK to close the Team window.
As the jausten user, close LoanApplication without making any changes, and release the
lock. Answer the following questions:

After the jausten user closes the application and releases the lock, can the
mtwain user open the project for editing? Explain.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 6

Would your answer to the first question change if the jausten user had not
released the lock?
Here are detailed instructions, if you need them:
a. Click Close Project, and ensure that the Release Lock check box is selected.

Question: After the jausten user closes the application and releases the lock, can
the mtwain user open the project for editing? Explain.
Answer: Yes, because the jausten user released the lock on the project.

6.
7.

Question: Would your answer to the first question change if the jausten user had not
released the lock?
Answer: Yes. If the jausten user does not release the lock, then the mtwain user
cannot acquire it, even if he is the Owner.
As the jausten user, log out of Business Process Composer and close that browser
window.
As the mtwain user, view the latest changes to the project. Answer the following questions:

Has anyone other than the mtwain user published changes to the project?

Are there any unpublished changes?


Here are detailed instructions, if you need them:
a. On the Project Home page, examine the Recent activity pane.
Here is an example:

Question: Has anyone other than the mtwain user published changes to the project?
Answer: No

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 7

8.

9.

Question: Are there any unpublished changes?


Answer: No
Using the latest published version of LoanApplication, create a snapshot named
LoanApp_v1. In the snapshot description, explain that the project contains one process
and no other artifacts.
Note: You may need to maximize the browser window to see the Snapshot icon at the far
right of the screen.
Here are detailed instructions, if you need them:
a. Open the project for editing.
b. In the Recent activity pane, click Snapshots.

c.

The Snapshots window opens.


Click the plus sign.

d.

Enter LoanApp_v1, provide a description, and click Save:

The snapshot is listed in the Snapshots window.


e. Close the Snapshots window.
Click Close Project to close the project, and release the lock.
Note: If you are not able to release the lock by clicking Close Project, release the lock on
the Home page:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 8

Practice 6-2: Collaborating with BPM Studio Users


Overview
In this practice, you launch BPM Studio, examine the interface, and create a new BPM
application. After creating a connection to the Process Asset Manager (PAM), you check out
and lock the project that was created in Business Process Composer. You make edits and save
it back to PAM. Then you view the revised project in Business Process Composer.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have updated and published LoanProcess as described in
Practice 6-1.

Tasks
1.

Launch BPM Studio, selecting the Studio Developer role.


Here are detailed instructions, if you need them:
a. Double-click the JDeveloper shortcut on the desktop.
b. In the Select Role window, ensure that Studio Developer is selected, and click OK.
c. In the Confirm Import Preferences window, click No.
d. In the Oracle Usage Tracking window, deselect the "Allow automated usage reporting
to Oracle" check box, and click OK.
The Oracle JDeveloper Start Page appears. Here is an example:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 9

2.

Create an IDE connection named MyAppServerConnection to the WebLogic Server that


is running on the local host. The domain name is domain1.
Answer the following questions:

Is it possible to create an IDE connection to the server if the server is not running?

What is the name of the SOA application server?


Here are detailed instructions, if you need them:
a. In the top menu, select Window > Resources.
The Resources tab opens on the right.
b.

Click the New icon

c.

In the "Name and Type" window, enter MyAppServerConnection in the Connection


Name field, and click Next.
In the Authentication window, enter the weblogic user's password.

d.
e.
f.
g.
h.
i.

and select IDE Connections > Application Server:

In the Configuration window, change the domain name to domain1, and click Next.
In the Test window, click the Test Connection button.
The Status table should indicate that all of the tests were successful.
Click Next.
In the Finish window, click Finish.
In the Resources pane, in the IDE Connections folder, expand the Application Server
folder.
MyAppServerConnection is listed:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 10

j.

3.

Expand MyAppServerConnection, and expand the SOA folder beneath


MyAppServerConnection.

Question: Is it possible to create an IDE connection to the server if the server is not
running?
Answer: No. The connection tests will fail, and the connection will not be created.
Question: What is the name of the SOA application server?
Answer: AdminServer
Create a BPM application named LoanApplicationBPMApp with an empty composite
named BpmProject.
Here are detailed instructions, if you need them:
a. In the Applications Navigator, click New Application.
The New Gallery Wizard opens.
b. In the Items pane on the right, select BPM Application and click OK.
The Application Name page of the Create BPM Application Wizard opens.
c. In the Application Name field, enter LoanApplicationBPMApp and click Next.
The Project Name page opens.
d. Accept the default project name, and click Next.
The Project SOA Settings page opens.
e. Select Empty Composite and click Finish.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 11

The application is created, and the Applications Navigator now displays assets for the
new application:

4.

Create a Process Asset Manager (PAM) connection named MMitchPAMConnection


using the mmitch users credentials. When you go through the wizard, test the connection
to ensure that it is working.
Here are detailed instructions, if you need them:
a. From the Window menu, select Process Asset Manager Navigator:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 12

The Process Asset Manager Navigator window opens:

b.

Right-click PAM and select Create Connection:

c.
d.

The Welcome page of the Create Process Asset Manager Connection Wizard opens.
Click Next.
Enter MMitchPAMConnection in the Connection Name field, enter the mmitch users
credentials, and click Next:

e.
f.

5.

The Application Server page opens.


Leave the default values for host name and ports, and click Test Connection.
In the Status window, you should see Success!
Click Finish.
The MMitchPAMConnection is created:

Expand MMitchPAMConnection and answer the following questions:

What assets are listed?

What role does the mmitch user have for the assets that are visible in
MMitchPAMConnection?
Are any of these assets locked?

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 13

Here are detailed instructions, if you need them:


a. Expand the MMitchPAMConnection and AcmeUniversity under it.
b. Select LoanApplication.
Here is an example:

6.

Question: What assets are listed?


Answer: All assets to which the mmitch user has access are listed. In this case, the
assets are the five projects in the AcmeUniversity space.
Question: What role does the mmitch user have for the assets that are visible in
MMitchPAMConnection?
Answer: Editor
Question: Are any of these assets locked?
Answer: No
Check out the LoanApplication project, accepting the default destination.
Here are detailed instructions, if you need them:
a. Right-click LoanApplication and select Check Out:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 14

b.

7.

In the Check Out project from PAM window, accept the default destination and click
OK:

After a short time, the project is checked out and appears in the Applications Navigator.
In Business Process Composer, as the mtwain user, try to open LoanApplication for
editing and answer the following question:

Can you open the project for editing? Explain.


Here are detailed instructions, if you need them:
a. In Business Process Composer, as the mtwain user, open the LoanApplication project
and click the Edit button:

The project is open for editing.

8.

Question: Can you open the project for editing? Explain.


Answer: Yes. The BPM Studio user is not holding a lock on the project. Only Business
Process Composer users can hold locks on BPM projects.
Keep the project open for editing in Business Process Composer. Meanwhile, in BPM
Studio, open LoanProcess and make the following changes:

Add a gateway named Routing and two conditional branches. The Automatically
Rejected conditional branch should flow to Loan Rejected, and the Automatically
Approved conditional branch should flow to Disburse Loan.

For readability, move Credit Rules to the Underwriter swimlane. (It does not matter
what swimlane business rule tasks are in.)

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 15

When you have finished, your process should look like this process model:

Here are detailed instructions, if you need them:


a. In the Applications Navigator, collapse the BpmProject folder, expand the
LoanApplication folder, and expand BPM > BPMN Processes.
b. Right-click LoanProcess and select Open.
LoanProcess opens in the main canvas.
c. In the top menu, select Window > Components.
The BPM Analytic component palette opens on the right:

d.
e.
f.
g.
h.
i.

Expand the Gateways folder.


Click and drag an Exclusive gateway between Credit Rules and Underwriter Review,
and name it Routing.
Right-click the Routing gateway and select Add conditional sequence flow.
Attach the sequence flow to the Loan Rejected event.
Right-click the sequence flow, select Properties, name it Automatically Rejected,
and click OK.
Similarly, add a conditional sequence flow named Automatically Approved that
leads to the Disburse Loan task.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 16

j.

9.

Move the Credit Rules business rule task and the Routing gateway to the Underwriter
swimlane (to the left of the Underwriter Review user task) and make other adjustments
as necessary to make the process model more readable.
Click Save All to save your changes.

10. In BPM Studio, try to publish the project by saving it to PAM by using the
MMitchPAMConnection and answer the following question:

Are you able to publish the project? Explain.


Here are detailed instructions, if you need them:
a. In the Applications Navigator, right-click LoanApplication and select Save to PAM.
A warning message appears, indicating that you are not able to publish the project:

Question: Are you able to publish the project? Explain.


Answer: No, because the mtwain user has a lock on the project in Business Process
Composer.
b. Click OK to close the Warning window.
11. In Business Process Composer, as the mtwain user, close the project, releasing the lock.
12. In BPM Studio, try again to publish the project by saving it to MMitchPAMConnection and
answer the following question:

Are you able to publish the project now? Explain.


Here are detailed instructions, if you need them:
a. In the Applications Navigator, right-click LoanApplication and select Save to PAM.
The Save Project to PAM window opens displaying the PAM connection that will be
used for this operation.
b. Enter a comment and click OK:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 17

Question: Are you able to publish the project now? Explain.


Answer: Yes, because there are no Business Process Composer users that are
holding a lock on this project.
13. Still in BPM Studio, create a snapshot named LoanApp_v2.
Here are detailed instructions, if you need them:
a. Click the Process Asset Manager Navigator tab.
b. Right-click LoanApplication and select Snapshots:

c.

In the Snapshots window, click the Add icon, enter LoanApp_v2 in the Name field,
enter a description, and click OK.
The new snapshot is listed in the Snapshots window:

d. Click Close to close the Snapshots window.


14. In Business Process Composer, as the mtwain user, open the LoanApplication project and
answer the following questions:

Does the current version of LoanProcess reflect the changes that were made in BPM
Studio?

Does the Recent activity pane have a record of the changes that were made in BPM
Studio? Were these changes published? By which user?

Is the LoanApp_v2 snapshot visible to the mtwain user in Business Process


Composer?

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 18

When you open LoanProcess, you should see a process model that is similar to this:

Question: Does the current version of LoanProcess reflect the changes that were made in
BPM Studio?
Answer: Yes
The Recent activity pane should show the most recent change by the BPM Studio user
(who connected to the mmitch users space):

Question: Does the Recent activity pane have a record of the changes that were made in
BPM Studio? Were these changes published? By which user?
Answer: Yes, the Recent activity pane has an entry for the changes made in BPM Studio
and these changes were published by the mmitch user.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 19

15. Click Snapshots.


The Snapshots window should reflect the snapshot that was created in BPM Studio:

Question: Is the LoanApp_v2 snapshot visible to the mtwain user in Business Process
Composer?
Answer: Yes
16. Close the Snapshots window.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 6: Collaborating on BPM Projects


Chapter 6 - Page 20

Practices for Lesson 7:


Creating and Using Data
Objects
Chapter 7

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 1

Practices for Lesson 7: Overview


Practices Overview
In these practices, you perform the following tasks:

Validating a process

Creating data objects

Configuring branching for two exclusive gateways

Validating the process again, comparing results with the validation you performed
earlier
Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 2

Practice 7-1: Creating and Using Data Objects


Overview
In this practice, you validate the LoanApplication project to identify errors. (In BPM Studio, these
are called live issues.) Then you create several data objects that the process requires. You
configure branching for two exclusive gateways in the process, and then you validate the project
again to determine if some of the validation errors have been resolved.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have modeled LoanProcess as described in Practice 6.

Tasks
Important note: The tasks in this practice can be performed by using either BPM Studio or
Business Process Composer. Select one of these tools. Then, use the same tool in all practices
in which you are given the choice, namely 8-1, 8-3, 15-1, and 15-2. Do not perform the tasks in
both tools.
1. Using the tool that you have selected, display the validation errors (live issues) for the
project and answer the following questions:

How many validation errors (live issues) are there?

What validation error (live issue) appears for the Review Loan Application activity?

What errors (live issues) are reported for the three gateways in LoanProcess? Explain.
Here are detailed instructions for Business Process Composer, if you need them:
a. Click Validate on the Project toolbar:

In a few seconds, the Validation results appear at the bottom of the window:

Question: How many validation errors are there?


Answer: 10
Question: What validation error appears for the Review Loan Application activity?
Answer: That activity has no implementation defined.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 3

Question: What errors are reported for the three gateways in LoanProcess? Explain.
Answer: For all three exclusive gateways, the validation process reports errors for
conditional branches that have not been configured.
b. Close the Validation pane.
c. Proceed to task 2.
Here are detailed instructions for BPM Studio, if you need them:
d. Click Save All or open the Live Issues tab manually (Window > Issues).
e. Configure the Live Issues tab to display current issues at the Project level:

Here are sample results:

Note: If you see more than this, check for duplication. Sometimes issues are listed
twice.
Question: How many live issues are there?
Answer: 10
Question: What live issue appears for the Review Loan Application activity?
Answer: That activity has no implementation defined.
Question: What live issues are reported for the three gateways in LoanProcess?
Explain.
Answer: For all three exclusive gateways, the validation process reports errors for
conditional branches that have not been configured.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 4

2.

Create the following four basic data objects (that is, data objects based on simple data
types):

reviewOutcome (STRING): This data object will be used by the Review Outcome
gateway.

creditRating (STRING): This data object will be used by the Credit Rules business
rule activity.

routing (STRING): This data object will be used by the Routing gateway.

underwriterReview (STRING): This data object will be used by the Underwriter


Outcome gateway.
Here are detailed instructions for Business Process Composer, if you need them:
a. Display LoanProcess, ensure that the project is open for editing, and click the Data
Objects button:

b.

In the Data objects window, click Add and select Process data object:

c.
d.

Provide a name for the data object, select the appropriate type, and click OK.
Create the other three data objects similarly.
When you have finished creating all four data objects, an expanded LoanProcess
folder in the Data Objects window will look like the following:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 5

e. Click Close to close the Data Objects window.


f. Proceed to task 3.
Here are detailed instructions for BPM Studio, if you need them:
g. In the Applications Navigator, select LoanProcess.
The LoanProcess Structure pane appears below:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 6

h.

In the Structure pane at the bottom of the window, right-click Process Data Objects and
select New:

i.

Provide a name for the data object, select the appropriate type, leave Auto initialize
selected, and click OK.
j. Create the other three data objects similarly.
When you have finished creating all four data objects, an expanded Process Data Objects
folder in the Structure pane will look like the following:

3.

Configure the conditional branch of the Review Outcome gateway so that process
instances are routed back to Capture Loan Application if reviewOutcome has a value of
REJECT. (Hint: The data type of reviewOutcome is STRING; therefore, when comparing
the data object to a value, use quotation marks around the value.)
Here are detailed instructions in Business Process Composer, if you need them:
a. Place the cursor over Need More Details and click the pencil icon:

b.

Click Implementation.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 7

c. In the Implementation pane, click the Edit button to open the Expression Editor.
d. Select reviewOutcome in the table, and click Insert Into Expression.
e. Complete the expression as follows: reviewOutcome=="REJECT"
f. Click OK to close the Expression Editor.
g. Click Apply Changes and collapse the Implementation pane.
h. Proceed to task 4.
Here are detailed instructions in BPM Studio, if you need them:
i. Right-click Need More Details and select Properties.

4.

5.

j. Click the Properties tab.


k. Enter the following simple expression: reviewOutcome=="REJECT"
l. Click OK.
Similarly, configure the conditional branch of the Underwriter Outcome gateway so that
process instances are routed to Loan Rejected if underwriterReview equals the following
value: "REJECTED"
Save your changes, and display the validation errors (live issues) again. Answer the
following questions:

How many validation errors (live issues) are there now?

What validation errors (live issues) have been resolved?


Here are detailed instructions for Business Process Composer, if you need them:
a. Click Validate on the Project toolbar.
Here are sample results:

Question: How many validation errors are there now?


Answer: 8
Question: What validation errors have been resolved?
Answer: The conditional branches of two of the three gateways have been resolved.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 8

b. Proceed to task 6.
Here are detailed instructions for BPM Studio, if you need them:
c. Click Save All or display the Live Issues tab manually (Window > Issues).
Here are sample results:

6.

Question: How many live issues are there now?


Answer: 8
Question: What live issues have been resolved?
Answer: The conditional branches of two of the three gateways have been resolved.
Publish the revised project:

If you are using Business Process Composer, click the Publish icon, enter a comment
to describe your changes, ensure that the Release lock check box is selected, and
click the Publish button.

If you are using BPM Studio, right-click the project, select Save to PAM, enter a
comment to describe your changes, and click OK.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 9

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 7: Creating and Using Data Objects


Chapter 7 - Page 10

Practices for Lesson 8:


Implementing User Tasks
Chapter 8

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 1

Practices for Lesson 8: Overview


Practices Overview
In these practices, you perform the following tasks:

Creating and editing human tasks for each of the user tasks in LoanProcess

Creating a web form that the human tasks will use

Mapping data from the process to the human tasks and back again

Validating the process to ensure that there are no validation errors (live issues) for the
user tasks
Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 2

Practice 8-1: Creating Human Tasks


Overview
In this practice, you create and edit human tasks for each of the user tasks in LoanProcess.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have modeled LoanProcess as described in Practice 6. It also
assumes that you have created data objects and configured branching for the Review Outcome
and Underwriter Outcome gateways as described in Practice 7-1.

Tasks
Note: The tasks in this practice can be performed by using either BPM Studio or Business
Process Composer. Use the same tool that you used in Practice 7-1.
1. If you are using BPM Studio, ensure that you have the latest version of the project.
Here are detailed instructions, if you need them:
a. In the Applications Navigator, right-click LoanApplication and select Update.
b. In the Update Status window, click OK.
2. Using the tool that you have selected, display the validation errors (live issues) for the
project and answer the following questions:

How many validation errors (live issues) are listed?

What validation errors (live issues) appear for the three user tasks in the process?
Here are detailed instructions for Business Process Composer, if you need them:
a. Click Validate on the Project toolbar.
In a few seconds, the Validation results appear at the bottom of the window:

b.

Question: How many validation errors are listed?


Answer: 8
Question: What validation errors appear for the three user tasks in the process?
Answer: The three user tasks (Capture Loan Request, Review Loan Application, and
Underwriter Review) have no implementation defined.
Proceed to task 3.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 3

Here are detailed instructions for BPM Studio, if you need them:
c. Click Save All or display the Live Issues tab manually (Window > Issues).
Here are sample results:

3.

Question: How many live issues are listed?


Answer: 8
Question: What live issues appear for the three user tasks in the process?
Answer: The three user tasks (Capture Loan Request, Review Loan Application, and
Underwriter Review) have no implementation defined.
Using the Implementation view of the Capture Loan Request user task, create a human
task and configure properties as follows:

Name: CaptureLoanTask

Title: Capture Loan Request

Outcome: SUBMIT
Examine all views in the human task editor but leave all other values at their defaults.
Answer the following questions:

What human workflow pattern does Capture Loan Request use? (Hint: In Business
Process Composer, this is displayed in the Implementation view. In BPM Studio, this is
displayed in the Create Human Task dialog box.)

What outcomes are defined? Explain.

By default, are any deadlines set?

Has any task data been defined?


Here are detailed instructions for Business Process Composer, if you need them:
a. If the Validation view is open, close it.
b. Open LoanApplication for editing.
c. Open LoanProcess, right-click Capture Loan Request, and select Implement.
d. The Implementation view appears.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 4

e.

To the right of the Human Task field, click Add:

f.

Enter CaptureLoanTask, and click Create.


The human task is created.
Click Apply Changes.
Click the Edit icon.

g.
h.

The Basic tab of the CaptureLoanTask human task editor appears.


i. In the Task Title field, enter Capture Loan Details.
j. Display the Routing Slip and Data views.
Question: What human workflow pattern does Capture Loan Request use?
Answer: Initiator
Question: What outcomes are defined?
Answer: The only outcome is SUBMIT. This is appropriate for an Initiator task.
Question: By default, are any deadlines set?
Answer: No
Question: Has any task data been defined?
Answer: No
k. Proceed to task 4.
Here are detailed instructions for BPM Studio, if you need them:
l. Right-click Capture Loan Request and select Properties.
m. Click the Implementation tab.
n. To the right of the Human Task field, click Add:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 5

4.

o.

In the Name field, enter CaptureLoanTask.

p.
q.

In the Title field, enter Capture Loan Request.


Click OK.
The Implementation tab now displays the name of the human task that you have
created and associated with this user task.

r.
s.

Click OK to close the Properties window.


To examine the human task that you created, right-click it in the Applications Navigator
and select Open:

The Assignment view human task opens in the main canvas.


t. Display the Data view and any other views that you are interested in.
u. Close the human task.
Question: What human workflow pattern does Capture Loan Request use?
Answer: Initiator
Question: What outcomes are defined?
Answer: The only outcome is SUBMIT. This is appropriate for an Initiator task.
Question: By default, are any deadlines set?
Answer: No
Question: Has any task data been defined?
Answer: No
Similarly, create a human task for the Review Loan Application user task, and configure
human task properties as follows:
Name: ReviewLoanTask
Title: Review Loan Details
Outcomes: APPROVE, REJECT

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 6

5.

Examine all views but leave all other values at their defaults. Answer the following
questions:

What human workflow pattern does Review Loan Application use?

What outcomes are defined by default?


Question: What human workflow pattern does Review Loan Application use?
Answer: Simple
Question: What outcomes are defined by default?
Answer: APPROVE, REJECT
Similarly, create and edit a human task for the Underwriter Review user task:
Name: UnderwriterTask
Title: Underwriter Review

6.
7.

Outcomes: APPROVE, REJECT


Save your changes.
Display validation errors (live issues) for the project again, and compare the results with
those that you obtained earlier in this practice. Answer the following question:

Are there still validation errors (live issues) for the user tasks? Explain.
Here are sample validation results from Business Process Composer:

Question: Are there still validation errors for the user tasks? Explain.
Answer: No, there are no longer any validation errors for the user tasks because they have
now been at least partially implemented. (Data has not yet been mapped for these user
tasks, but this does not show up in validation results.)
Here are sample results from BPM Studio:

Question: Are there still live issues for the user tasks? Explain.
Answer: No, there are no longer any live issues for the user tasks because they have now
been at least partially implemented. (Data has not yet been mapped for these user tasks,
but this does not show up as a live issue.)
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 7

8.

Publish the project:

If you are using Business Process Composer, click Publish, enter a comment to
describe your changes, ensure that the Release lock check box is selected, and click
Publish.

If you are using BPM Studio, right-click the project, select Save to PAM, enter a
comment to describe your changes, and click OK.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 8

Practice 8-2: Creating Task Forms


Overview
In this practice, you create a web form and associate it with the three human tasks in the
LoanApplication project. You must use Business Process Composer for this practice.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have created and edited three human tasks as described in
Practice 8-1.

Tasks
1.
2.

Using Business Process Composer, open the LoanApplication project for editing.
Open the Basic view of the CaptureLoanTask human task and create a web form named
LoanForm.
Here are detailed instructions, if you need them:
a. On the Project Home page, click Human Tasks and click CaptureLoanTask.
The Basic tab appears.
b. In the Presentation section, select Web Form.
c. Click Create New Web Form:

d.

Enter the name LoanForm and click Create:

The new web form is created.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 9

3.

Edit LoanForm and create a form that contains two tabs like the following:

The State drop-down menu should offer three options. Here is an example:

California

Colorado

New York
Hint: Add the tabs first. Then create the fields from the bottom up.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 10

Here are detailed instructions, if you need them:


a. In the human task editor, click the Edit Web Form button.

b.

The web form opens.


Drag and drop the Tabs icon from the Palette onto the form canvas.
Three tabs are created:

c.

Double-click Tab 0 and rename the tab Borrower Details.

d.
e.

Double-click Tab 1 and rename the tab Loan Details.


Click Tab 2 and click the Delete icon to delete that tab:

f.

You now have a two-tabbed form.


Click the Borrower Details tab and drag components from the Palette onto the form
canvas, building the form from the bottom up. Specifically, drag, drop, and rename the
following components:
Zip Code (Text type)
State (Dropdown type)
Social Security Number (Text type)
Phone (Phone type)
Date of Birth (Date type)
Marital Status (Radio type)
Borrower Name (Text type)

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 11

When you have finished, the Borrower Details tab will look like the following:

g.

Edit the properties of Marital Status by selecting the component and expanding the
PROPERTIES pane. Specify two options:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 12

h.

Edit the properties of State to specify three options:

i.

Edit the properties of Date of Birth, Phone, Social Security Number, State, and Zip
Code to have a width of four grid columns. (Hint: You can set width on the Style tab of
the PROPERTIES pane for an individual component.)

When you have finished, the Borrower Details tab should look like the following:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 13

j.

Similarly, compose the Loan Details tab, building the form from the bottom up using the
following components:
Number of Months (Quantity type)
Interest Rate (Number type)
Loan Amount (Money type)
When you have finished, the Loan Details tab should look like the following:

4.
5.

6.

Click the Borrower Details tab, and then save your changes. (This ensures that the
Borrower Details tab displays first when the form opens at run time.)
Examine the Data view of CaptureLoanTask, and answer the following question:
Question: Does the CaptureLoanTask human task now have task data? Explain.
Answer: Yes. Creating a form within a human task automatically adds task data to the
human task.

Associate LoanForm with ReviewLoanTask and UnderwriterTask.


Here are detailed instructions, if you need them:
a. On the Project Home page, click Human Tasks.
b. Click ReviewLoanTask.
The Basic tab of the human task editor appears.
c. In the Presentation section, select Web Form.
d. Click the Browse icon:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 14

e.

7.

Select LoanForm.
The web form is associated with the human task.
f. In the same way, associate LoanForm with UnderwriterTask.
Publish the project, releasing the lock.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 15

Practice 8-3: Mapping Data


Overview
In this practice, you map data from LoanProcess to the human tasks and back again. Then you
validate the LoanApplication project to ensure that there are no validation errors for the user
tasks. You can use either Business Process Composer or BPM Studio for this practice.
Follow either the high-level or detailed instructions, not both

Assumptions
This practice assumes that you have created human tasks and a web form as described in
Practices 8-1 and 8-2.

Tasks
Note: The tasks in this practice can be performed by using either BPM Studio or Business
Process Composer. Use the same tool that you used in Practice 7-1.
1. If you are using BPM Studio, ensure that you have the latest version of the project.
Here are detailed instructions, if you need them:
a. In the main canvas, close any project-related tabs that are open.
b. In the Applications Navigator, right-click LoanApplication and select Update.
c. If the Update Status window appears, click ok.
2. Using the tool that you have selected, map data for the Capture Loan Request user task.
Hint

In LoanProcess, you need to create a process data object that is based on the
LoanForm data type (business object). Name the data object loanDO, and use that
data object when mapping data (a) from the process to the human task, and (b) back to
the process.

Keep in mind that the Loan Processor can send the loan application back to the Loan
Officer if it is incomplete.

As the process is currently modeled, no outcome is required.


Here are detailed instructions for Business Process Composer, if you need them:
a. Open LoanApplication for editing, and open LoanProcess.
b. On the toolbar, click Data Objects:

c.

In the Data Objects window, click Add and select Process data object.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 16

d.

In the New Process Data Object dialog box, enter the name of the data object
(loanDO), select object, ensure that LoanForm is selected in the Business Object
menu, and click OK:

e.
f.
g.

Click Close to close the Data Objects window.


Right-click Capture Loan Request and select Data Association.
In the Data Association window, map loanDO as both input and output:

Note: If the data object that you are mapping disappears from the Data Objects list in
the Data Association window, click Apply and reopen the Data Association window.
h. Click Apply.
i. Proceed to task 3.
Here are detailed instructions for BPM Studio, if you need them:
j. In the Applications Navigator, select LoanProcess.
k. In the Structure pane, right-click Process Data Objects and select New.
l. In the Create Data Object window, enter a name for the data object (loanDO), select
Browse from the Type menu, select LoanForm in the Browse Types window, and click
OK.
m. Click OK to close the Create Data Object window.
n. Right-click Capture Loan Request and select Properties.
o. In the Properties window, click the Implementation tab.
p. On the Implementation tab, click Data Associations.
q. On the Input tab of the Data Associations window, map loanDO to loanForm.
r. On the Output tab, map loanForm to loanDO.
s. Click OK to close the Data Associations window.
t. Click OK to close the Properties window.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 17

3.

4.

5.

Map data for the Review Loan Application user task.


Hint: Assume that the Loan Processor can modify the loan application, and keep in mind
that the conditional branch of the Review Outcome gateway checks the value of the
reviewOutcome data object.
Here is sample mapping in Business Process Composer:

BPM Studio mapping is similar.


Map data for the Underwriter Review user task. Answer the following question:

Do you need to map loanDO both into and out of the user task? Explain.

What outcome does this user task have?


Here is sample mapping in Business Process Composer:

BPM Studio mapping is similar.


Question: Do you need to map loanDO both into and out of the user task? Explain.
Answer: This is up to you. As currently configured, LoanForm is editable by this user task
(as shown on the Data tab of the human task), so it is appropriate to map loanDO both into
and out of the user task.
Question: What outcome does this user task have?
Answer: underwriterReview (APPROVE or REJECT)
Display validation errors (live issues) for the project again. If there are any validation errors
(live issues) for the three user tasks and two gateways that you have configured, fix the
problems and check again.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 18

Here are sample validation results from Business Process Composer:

There are no longer any validation errors related to the three user tasks.
Here are sample live issues from BPM Studio:

6.
7.

8.
9.

There are no longer any live issues related to the three user tasks.
Save your changes.
Publish the revised project:

If you are using Business Process Composer, click Publish, enter a comment to
describe your changes, ensure that the Release lock check box is selected, and click
Publish.

If you are using BPM Studio, right-click the project, select Save to PAM, enter a
comment to describe your changes, and click OK.
If you are using Business Process Composer, close the project and log out.
Restart AdminServer as follows:
a. On the desktop, double-click Stop AdminServer.
After a short time, the terminal windows for both the stop and start processes will close
automatically.
b. On the desktop, double-click Start AdminServer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 19

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 8: Implementing User Tasks


Chapter 8 - Page 20

Practices for Lesson 9:


Implementing Business Rule
Tasks
Chapter 9

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 1

Practices for Lesson 9: Overview


Practices Overview
In these practices, you perform the following tasks:

Designing, creating, and configuring a business rule

Mapping data between the process and the business rule

Configuring the conditional branches of the Routing gateway

Validating the process to ensure that there are no validation errors for the business rule
task or the Routing gateway
Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 2

Practice 9-1: Implementing Business Rule Tasks


Overview
In this practice, you design, create, and edit a business rule associated with the Credit Rules
business rule task in LoanProcess. Then you map data between the process and the business
rule, and you configure the conditional branches of the Routing gateway. Finally, you validate
the process to ensure that there are no errors related to the business rule task or the Routing
gateway.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have modeled LoanProcess as described in Practice 6,
configured branching for the Review Outcome and Underwriter Outcome gateways as described
in Practice 7, and implemented the user tasks as described in Practice 8.

Tasks
1.

2.

If (and only if) you performed the tasks in the previous practice by using Business Process
Composer, then update the project in BPM Studio.
a. Close all project-specific tabs in the main canvas, including LoanProcess.
b. In the Applications Navigator, right-click LoanApplication and select Update.
c. If the Update Status window opens, click OK.
Using BPM Studio, open LoanProcess, examine the issues that are listed on the Live
Issues tab, and answer the following question:

What issues are listed?


Here are detailed instructions, if you need them:
a. Right-click LoanProcess and select Open.
b. Click Save All to initiate a build of the project, and examine the build issues on the Live
Issues tab.
Note: If the Live Issues tab does not appear automatically, select Issues from the
Window menu.
Here are sample results:

Question: What issues are listed?


Answer: There are five issues. One of these issues is for Credit Rules. The other four
are for Disburse Loan, Credit Rating, and the conditional outgoing sequence flows from
the Routing gateway.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 3

3.

4.

Create a business catalog module named BusinessData.


Here are detailed instructions, if you need them:
a. In the Applications Navigator, ensure that the BPM folder of the LoanApplication
project is expanded.
b. Right-click Business Components and select New > Business Catalog Module.
c. In the Create Module window, enter BusinessData in the Module field, and click OK.
The new module is listed in the Business Components folder.
Create a business object named RuleInput that resides in the BusinessData module and
contains two attributes:

loanAmount (DOUBLE)

creditRating (STRING)
Here are detailed instructions, if you need them:
a. Right-click Business Components and select New > Business Object.
b. In the Create Business Object window, enter RuleInput in the Name field, click the
Browse button in the Destination Module field, select BusinessData in the Browse
Modules window, click OK to close the Browse Modules window, and click OK in the
Create Business Object window.

c.

The RuleInput tab opens.


Click Add Attribute and add the loanAmount attribute (Type: DOUBLE).

d.
e.

Click OK to close the Create Attribute window.


Similarly, create the creditRating attribute (Type: STRING).

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 4

When you have finished, the RuleInput tab will display both attributes:

5.

6.

Similarly, create a business object named RuleOutput that resides in the BusinessData
module and contains a single attribute:

loanApprovalStatus (STRING)
Create two process data objects for LoanProcess:

7.

ruleInputDO (based on RuleInput business object)

ruleOutputDO (based on the RuleOutput business object)


Here are detailed instructions, if you need them:
a. In the Applications Navigator, select LoanProcess.
The LoanProcess Structure pane is displayed below.
b. Right-click Process Data Objects and select New.
c. In the Create Data Object window, enter ruleInputDO in the Name field.
d. In the Type menu, scroll to the bottom and select Browse.
e. In the Browse Types window, select the RuleInput business object that you created
in the previous task, and click OK.
f. In the Create Data Object window, click OK.
The process data object is listed in the Process Data Objects folder.
g. Similarly, create a process data object named ruleOutputDO that is based on the
RuleOutput business object.
Save your changes.

After the two data objects are created, you can create the business rule.
8. Using the Implementation view of the Credit Rules business rule task, create a business
rule named CreditRules that is associated with the Credit Rules task. Base the rules
input and output data objects (ruleInputDO and ruleOutputDO) on the RuleInput and
RuleOutput business objects that you just created.
Here are detailed instructions, if you need them:
a. In the LoanProcess model, right-click the Credit Rules business rule task and select
Properties.
The Basic tab of the Properties window opens.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 5

b.
c.
d.
e.

f.
g.
h.

i.

Click the Implementation tab.


In the Business Rule row, click the Add icon.
In the Create Business Rule window, enter CreditRules in the Name field.
Click the down arrow next to the green plus sign and select Add Input Data Object.
The Browse Data Objects window appears. The two data objects that you created
should appear in the list.
Drag ruleInputDO from the Browse Data Objects window to the Input and Output Data
Objects table in the Create Business Rule window.
In the Create Business Rule window, click the down arrow next to the green plus sign
and select Add Output Data Object.
Drag ruleOutputDO to the Input and Output Data Objects table in the Create
Business Rule window.
Both the input and output data objects should now be listed.
Close the Browse Data Objects window, and click OK to close the Create Business
Rule window.
The Implementation tab now displays the business rule:

j. Click OK to close the Properties window.


9. Save your changes.
10. In the CreditRules business rule, create a range value set named Loan Amount (Type:
DOUBLE) that reflects the following ranges:

Update the aliases as shown.


Here are detailed instructions, if you need them:
a. In the Applications Navigator, under LoanApplication, expand the Business Rules
folder, and then double-click CreditRules.rules to open the business rule.
b. Double-click the CreditRules.rules tab to maximize the view of the rule.
c. In the left menu, click Value Sets.
d. On the toolbar at the right, click the down arrow next to the green plus sign and select
Range Value Set.
A new value set is listed.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 6

e.
f.
g.
h.

Select the new value set, and click the Edit icon.
The Edit Range Value Set window opens.
Enter Loan Amount in the Name field, and select double from the Data Type menu.
Click the Add Value With Lower Endpoint Included icon.
A new row appears in the Range Values table.
Change the endpoint to 10000.

i.

Add two more rows, with endpoints of 100000 and 500000, respectively.
Note: If there is no reaction when you click the Add Value With Lower Endpoint
Included icon, select the Infinity row and try again.
The Range Values table should now look like this:

j.

Double-click the aliases and update them as follows:

k.

Click OK.
The new value set is listed in the Value Sets table.
11. Create a list value set named Credit Rating (Type: STRING) and add the following
possible values:

"POOR"

"GOOD"

"EXCELLENT"
Accept the default aliases.
Note

Perform steps that are similar to the ones you performed in the previous step.
However, select Value Set instead of Range Value Set, and ensure that the data type
of the value set is string. It is not necessary to update the aliases.

Values must match the requirements exactly in order for the rule to fire when you
invoke an external web service in a later practice. Note the spelling, quotation marks,
and uppercase letters that are used for all three values.
12. Save your changes.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 7

13. Using the rule input and output data objects as well as the value sets that you created in the
previous tasks, create a decision table named CreditRules that reflects the rules that are
shown in the following table:
If loan amount is

and credit rating is

then loan approval status is

< 10,000

"POOR"

"MANUAL_APPROVAL"

>= 10,000

"POOR"

"AUTO_REJECTED"

< 10,000

"GOOD"

"AUTO_APPROVED"

>= 10,000

"GOOD"

"MANUAL_APPROVAL"

< 100,000

"EXCELLENT"

"AUTO_APPROVED"

>= 100,000

"EXCELLENT"

"MANUAL_APPROVAL"

Here are detailed instructions, if you need them:


a. With the rule open, select Ruleset1 from the left menu.
The Overview tab of Ruleset1 opens.
b. In the Decision Tables box, click the green plus sign.
c. To rename the decision table, click the name, type CreditRules, and press Enter.
d. Click the down arrow next to the green plus sign and select Condition.
"C1 RuleInputType" appears in the left column as the first condition.
e. Double-click "C1 RuleInputType", expand RuleInputType, and select loanAmount.
f. With RuleInputType.loanAmount selected, select Loan Amount from the Local Range
Value Set menu to associate the condition with the value set that you created in a
previous step:

Note: If you do not see the Local Range Value Set menu, click the question mark in
Rule 1 (in the same row as the loanAmount condition), and then click Cancel.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 8

g.

Similarly, add a condition for the creditRating attribute, and associate it with the Credit
Rating value set:

h.

Click the down arrow next to the green icon, and select Action > assert new:

i.

Double-click the "A1 assert new" action.


The Action Editor opens.
In the Facts table, select RuleOutputType.
The loanApprovalStatus attribute appears in the Properties table.

j.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 9

k.

Select the Parameterized check box, and ensure that the Always Selected check box is
selected:

l.

Click OK.
The action is added to the decision table.
Now you are ready to define rules and actions.
m. Configure Rule 1:
1) Click the field next to RuleInputType.loanAmount, select the Less than 10,000
check box from the menu, and click OK:

Note: If you do not see the values, go back to a previous step to associate the
Loan Amount value set with the loanAmount condition.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 10

n.

o.

p.

q.

2)

Click the field next to RuleIntputType.creditRating, select the "POOR" check box,
and click OK:

3)

Click the field next to loanApprovalStatus and enter the following value (including
the quotation marks and in uppercase): "MANUAL_APPROVAL"
When you have finished, Rule 1 should look like the following:

Click the down arrow next to the Add icon (green plus sign) and select Rule to add a
new rule to the decision table. Then configure the rule to meet the following
requirements:
If the loan amount is greater than or equal to 10,000 and the applicants credit rating is
"POOR", then set loanApprovalStatus to "AUTO_REJECTED".
Add a third rule to meet the following requirements:
If the loan amount is less than 10,000 and the applicants credit rating is "GOOD", then
set loanApprovalStatus to "AUTO_APPROVED".
Add a fourth rule to meet the following requirements:
If the loan amount is greater than or equal to 10,000 and the applicant's credit rating is
"GOOD", then set loanApprovalStatus to "MANUAL_APPROVAL".
Add a fifth rule to meet the following requirements:
If the loan amount is less than 100,000 and the applicant's credit rating is
"EXCELLENT", then set loanApprovalStatus to "AUTO_APPROVED".

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 11

r.

Add a sixth rule to meet the following requirements:


If the loan amount is greater than or equal to 100,000 and the applicant's credit rating
is "EXCELLENT," set loanApprovalStatus to "MANUAL_APPROVAL."
Here is an example of a completed set of rules:

14. Save your changes.


15. Map data between the process and the CreditRules business rule as follows:

Input:
Map loanDO.loanAmount to ruleInputDO.loanAmount
Map creditRating to ruleInputDO.creditRating

Output: Map ruleOutputDO.loanApprovalStatus to routing


Here are detailed instructions, if you need them:
a. Click the LoanProcess tab.
b. Right-click the Credit Rules business rule task and select Properties.
The Basic tab of the Properties window opens.
c. Click the Implementation tab.
d. Click Data Associations.
The Input tab of the Data Associations window opens. ruleInputDO in LoanProcess has
been mapped to ruleInputDO in Credit Rules.
e. In the lower section, delete the ruleInputDO-to-ruleInputDO data mapping.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 12

f.

Map loanDO.loanAmount to ruleInputDO.loanAmount, and map


creditRating to ruleInputDO.creditRating, as shown in the following
screenshot:

g.
h.

Click the Output tab.


In the lower section, delete the ruleOutputDO-to-ruleOutputDO rule.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 13

i.

Map ruleOutputDO.loanApprovalstatus to routing, as shown in the following


screenshot:

j. Click OK to close the Data Associations window.


k. Click OK to close the Properties window.
16. Configure the conditional branches of the Routing gateway by using the value of the routing
data object, which is set by the CreditRules business rule.
Answer the following questions:

How many of the branches do you need to configure? Explain.

Is it necessary to configure the order in which conditions are evaluated?


Here are detailed instructions, if you need them:
a. Select the Automatically Rejected sequence flow, right-click the selected flow, and
select Properties.
b. In the Transition from Activity window, click the Properties tab.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 14

c.

Enter the expression in the following screenshot:

d.
e.

Click OK to close the Transition from Activity window.


Similarly, configure the Automatically Approved sequence flow by using the following
condition: routing == "AUTO_APPROVED".
Question: How many of the branches do you need to configure? Explain.
Answer: You need to configure the two conditional branches. You do not need to
configure the default branch, which will be taken if the conditions in the conditional
branches are not met.
Question: Is it necessary to configure the order in which conditions are evaluated?
Answer: No, because the conditions are mutually exclusive.
17. Double-click the LoanProcess tab to restore it to its normal size, and save your changes.
18. Examine the issues that are listed on the Live Issues tab again, and compare the results
with those that you obtained at the beginning of this practice. Answer the following
question:

How has the list changed?


Here are sample issues:

Note: There may be additional namespace issues. For the sake of these practices, you can
ignore those.
Question: How has the list changed?
Answer: The issues related to CreditRules and the conditional branches of the Routing
gateway no longer appear.
19. Publish the project by right-clicking the project, selecting Save to PAM, entering a
comment to describe your changes, and clicking OK.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 15

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 9: Implementing Business Rule Tasks


Chapter 9 - Page 16

Practices for Lesson 10:


Implementing Service Tasks
Chapter 10

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 1

Practices for Lesson 10: Overview


Practices Overview
In these practices, you perform the following tasks:

Creating a file adapter that writes a file to the local file system

Implementing the Disburse Loan service task by binding it to the file adapter and
mapping data appropriately

Comparing the composite view before and after creating an adapter, and before and
after implementing a service task

Creating a web service adapter

Implementing the Credit Rating service task by binding it to the web service adapter
and mapping data appropriately

Validating the project


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 2

Practice 10-1: Implementing Service Tasks


Overview
In this practice, you create a file adapter that writes to the local file system, and you implement
the Disburse Loan service task by using this file adapter and then mapping data. You compare
the components in the composite view of the project before and after creating the adapter, and
before and after implementing the Disburse Loan service task. You create a web service
adapter based on an existing web service, and you implement the Credit Rating service task by
using this web service adapter and then mapping data. Finally, you validate the process to
ensure that there are no errors related to the two service tasks.
This practice must be performed in BPM Studio because you cannot create file and web service
adapters in Business Process Composer.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed Practices 7, 8, and 9.

Tasks
1.

2.

Using BPM Studio, open LoanProcess and examine the issues that are listed on the Live
Issues tab.
Note: If the Live Issues tab does not appear automatically, select Issues from the Window
menu.
Answer the following question:

What issues are listed?


Here are sample results:

Note: There can be additional namespace issues. For the sake of these practices, you can
ignore those.
Question: What issues are listed?
Answer: Just two, one for each of the service tasks.
Examine the composite for the LoanApplication project and answer the following questions:

What components are displayed in the Components column?

What services are displayed in the Exposed Services column on the left? Explain.

What references are displayed in the External References column on the right?
Here are detailed instructions, if you need them:
a. If the LoanProcess model is not currently maximized, double-click the tab to maximize
it.
b. In the upper-right corner, click the Goto Composite Editor icon:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 3

The composite opens:

3.

Note: Your composite may have the components in a different order, but it should
contain the same components.
Question: What components are displayed in the Components column?
Answer: LoanProcess, the three user tasks, and the CreditRules business rule.
Question: What services are displayed in the Exposed Services column on the left?
Explain.
Answer: There are no services in the Exposed Services column.
Question: What references are displayed in the External References column on the right?
Answer: There are no references in the External References column.
Create a file adapter named DisburseLoan that writes to the
/home/oracle/labs/loans folder.
Here are detailed instructions, if you need them:
a. If the LoanApplication composite window is maximized, double-click the tab to restore
the window to its original (smaller) size.
b. If the Components palette is not visible on the right side of the JDeveloper window,
click Window > Components to display it.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 4

c.

Click and drag a File adapter to the External References column:

d.

The FILE Adapter Configuration Wizard opens.


Complete the wizard as indicated in the following table:
File Adapter Reference

Enter DisburseLoan in the Name field, and click


Next.

Adapter Interface

Accept the default selection, and click Next.

File Server Connection

Accept the default JNDI name, and click Next.

Operation

Select Write File, and click Next.

File Configuration

In the Directory for Outgoing Files field, browse


for the /home/oracle/labs/loans folder.

In the File Naming Convention field, enter


loanApp_%SEQ%.xml.

Click Next.

Browse for the LoanForm Type (under Project


Schema Files > LoanForm.xsd), and click OK.
Click Next.

Click Finish.

Messages

Finish

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 5

The DisburseLoan file adapter appears in the composite:

4.

5.

Compare the updated composite with the one that you displayed before creating the file
adapter, and answer the following questions:

What changes are there in the composite view?

Is the new element linked to any components in the Components column?


Question: What changes are there in the composite view?
Answer: The DisburseLoan file adapter now appears in the External References column.
Question: Is the new element linked to any elements in the Components column?
Answer: No, not yet
Implement the Disburse Loan service task by using the file adapter that you created in the
previous task.
Hint: After binding the service task, you need to map data appropriately.
Here are detailed instructions, if you need them:
a. In the LoanProcess model, right-click the Disburse Loan service task and select
Properties.
The Basic tab of the Properties window opens.
b. Click the Implementation tab.
c. From the Type menu, select Service Call.
d. In the Service Call section, browse for the DisburseLoan service.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 6

The Implementation tab now displays the binding between the Disburse Loan service
task and the DisburseLoan service:

e.
f.

6.

Click Data Associations.


The Input tab of the Data Associations window opens.
On the Input tab, map loanDO to loanForm.

No output mapping is necessary.


g. Click OK to close the Data Associations window.
h. Click OK to close the Properties window.
Display the composite again, compare it with the composite that you displayed before
implementing the Disburse Loan service task, and answer the following question:

What changes are there in the composite view?

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 7

Here is a sample screenshot of the composite:

7.

Question: What changes are there in the composite view?


Answer: The LoanProcess component has a new connection, and it is linked to the
DisburseLoan file adapter.
Using a SOAP adapter, create a web service adapter named CreditRatingWebService
that uses the existing deployed web service named CreditRatingWS to retrieve a credit
rating based on the loan applicants Social Security number. Both the input and output
arguments of the web service are string based.
Here are detailed instructions, if you need them:
a. With the composite open, click and drag a SOAP adapter from the Component palette
to the External References column.
The Create Web Service window opens.
b. Enter CreditRatingWebService in the Name field.
c. In the WSDL URL field, click the Find existing WSDLs icon.
The WSDL Chooser window opens.
d. In the top banner, ensure that Application Server is selected:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 8

8.

e.

Select MyAppServerConnection:

f.

Expand folders until you can see RatingService.service, and then select it:

g. Click OK to close the WSDL Chooser window.


h. Click OK to close the Create Web Service window.
i. If you are prompted to localize files, accept the default settings and click OK.
Implement the Credit Rating service task by using the web service adapter that you created
in the previous task.
Note: The service task returns a credit rating based on the applicants Social Security
number.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 9

Here is a sample screenshot of the Credit Rating Implementation tab after you have bound
the CreditRatingWebService to the service task:

Here is a screenshot of the Input tab of the Data Associations window:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 10

Here is a screenshot of the Output tab of the Data Associations window:

9.

Note: If a JDeveloper error appears in a pop-up window when you complete this task, click
Cancel.
Display the composite again, compare it to the composite that you displayed before you
implemented the Credit Rating service task, and answer the following question:

What changes are there in the composite view?


Here is a sample screenshot of the composite:

Question: What changes are there in the composite view?


Answer: The LoanProcess component now has two connections: one to the DisburseLoan
file adapter, and the other to the CreditRatingWebService external reference.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 11

10. Click Save All, and examine the issues on the Live Issues tab.
Note: If the Live Issues tab does not appear automatically, select Issues from the Window
menu. Compare the results with those that you obtained in Task 1 of this practice.
Answer the following question:

What has changed?


Here are sample results on the Live Issues tab:

Alternatively, you may see some warnings about namespace definitions:

Question: What has changed?


Answer: There can be some namespace definition errors on the Live Issues tab, but you
can ignore these. There are no longer any issues that would preclude you from deploying
the project.
11. Publish the project by saving it to PAM.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 10: Implementing Service Tasks


Chapter 10 - Page 12

Practices for Lesson 11:


Playing the Process
Chapter 11

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 1

Practices for Lesson 11: Overview


Practices Overview
In these practices, you perform the following tasks:

Enabling Process Player

Mapping users to roles

Playing the process


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 2

Practice 11-1: Playing the Process


Overview
In this practice, you enable Process Player, map users to roles, and play the process, testing
two use cases. If the process does not work as expected, you identify and resolve the problem.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed the implementation of LoanProcess as
described in Practice 10.

Tasks
1.

In Business Process Composer, enable Process Player as the weblogic user. Verify that
the mtwain user can now use the Process Player.
Here are detailed instructions, if you need them:
a. Log in to Business Process Composer as the weblogic user.
b. Click Administrator view.

c.
d.
e.

f.
g.
h.

In the Administrator window, click Player.


In the Player window, enter SOA Administrator credentials (weblogic as the
username, followed by the weblogic user's password).
Click Save.
An Information window indicates that the SOA Administrator credentials have been
successfully configured.
Click OK to close the Information window.
Log out of Business Process Composer as weblogic, and log in as the mtwain user.
Open the LoanApplication project for editing.
You should see the Play button on the Project toolbar.

This indicates that Process Player has been enabled.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 3

2.

Initiate Process Player and map the following users to the LoanOfficer, LoanProcessor, and
Underwriter roles:
Role

Users

LoanOfficer

jverne, mmitch

LoanProcessor

jlondon, mtwain

Underwriter

eheming, fkafka

Here are detailed instructions, if you need them:


a. On the Project toolbar, click the Play button.
Process Player initiates the player environment, and the Process Player user interface
appears.
b. Ensure that the Project Player tab is displayed.
c. In the Organization section, from the Select Role drop-down list of the Add Mappings
section, select LoanApplication.LoanOfficer.
d. In the Specify Users or Groups field, enter jverne, and click Add Mapping.

e.

The role and user that you have mapped are listed in the table in the Manage
Mappings section.
Similarly, map the other users to the roles that are specified in the task instructions.
Hint: The Select Role field reverts to the original value after each mapping. Therefore,
ensure that the role that you want to map is selected before you click Add Mapping.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 4

When you have finished, the Manage Mappings table on the Project Player tab should
look like the following screenshot:

3.

Play the process, testing the following use case:

Submit and (as a Loan Processor) approve a fully completed loan application that
should be disbursed without requiring manual approval by the Underwriter. An example
would be a loan amount of less than $10,000 and a credit rating of "GOOD," which you
get in our application if you enter a Social Security number starting with 4, 5, or 6 (for
example, 555-11-2222). (This is how the Credit Rating Web Service has been
designed.)
Hint: After submitting the form, close the Instance Execution window that appears.
Answer the following question:

Does the process instance take the expected path?


Here are detailed instructions, if you need them:
a. On the Project Player tab, in the Processes section, click LoanProcess.

The LoanProcess tab opens. Notice that there is a blue Play button on the Start event.
This Play button indicates where the process instance currently is.

b.

Click the Play button.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 5

c.

In the Play window, select one of the users and click the Run button:

The instance proceeds to the Capture Loan Request task:

d.

e.

f.

g.

Click the Play button in the Capture Loan Request task.


The Play window opens, and the user you selected to initiate this process instance is
listed.
Click the Run button and select Launch Form:

The form that you created for this task opens.


Enter the required information on both the Borrower Details tab and the Loan Details
tab. For this use case, ensure that the loan amount is less than $10,000 and the Social
Security number starts with 4, 5, or 6 (for example, 555-11-2222).
Click Submit, and close the blank Instance Execution window.
Note: You may need to click Submit more than once.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 6

In a few seconds, the process instance goes to the Review Loan Application task:

h.

Notice that the path of the process instance has been marked in red.
Continue playing the process, approving the application. Note that you can approve the
application directly from the Play window:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 7

The process instance completes as shown here:

i.

4.

Click the up arrow in the Loan Fulfilled event:

The process tab closes, and you are back on the Process Player tab.
Question: Does the process instance take the expected path?
Answer: Yes
Play the process, testing a second use case:

Submit and (as a Loan Processor) approve a loan application that requires manual
approval. As the Underwriter, reject the application. An example of a loan that requires
manual approval would be a loan amount of less than $10,000 and a credit rating of
"POOR," which you get in our application if you enter a Social Security number starting
with 1, 2, or 3 (for example, 111-44-1234). To save time, you do not need to enter data
for all fields. At a minimum, in this and future practices, enter data for the following
fields:
Borrower Name
Social Security Number
Loan Amount
Answer the following questions:

Does the process instance take the expected path?

If the instance does not take the expected path, what change must you make so that
the process works properly? Explain why this is necessary even though the process
did not have any validation errors.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 8

If you followed instructions in Practice 7 exactly as they were described, then the process
flow will look like the following:

5.

Question: Does the process instance take the expected path?


Answer: This depends on how you have configured the "Rejected by Underwriter"
sequence flow in Practice 7. If you configured the sequence flow to check for
underwriterReview equal to REJECTED (as was specified in the instructions), then the
condition will not be met and the process instance will take the default sequence flow
instead. If you configured the conditional sequence flow to check for underwriterReview
equal to REJECT, then the instance should take that conditional sequence flow.
Question: If the instance does not take the expected path, what change must you make so
that the process works properly? Explain why this is necessary even though the process did
not have any validation errors.
Answer: If the process instance did not take the expected path, you need to correct the
configuration of the Rejected by Underwriter conditional sequence flow. This type of error
is not caught by the validation process but can be caught by using the Process Player.
Close Process Player, make the necessary changes, and open Process Player again. Play
the process with the second use case to ensure that it works properly.
Note: To close Process Player, click the LoanApplication breadcrumb:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 9

Here is a sample screenshot showing the correct process flow:

6.
7.

Close Process Player by clicking the LoanApplication breadcrumb.


Publish the revised project, releasing the lock.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 11: Playing the Process


Chapter 11 - Page 10

Practices for Lesson 12:


Deploying the Process
Chapter 12

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 1

Practices for Lesson 12: Overview


Practices Overview
In this practice, you deploy a BPM project by using either Business Process Composer or BPM
Studio.
Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 2

Practice 12-1: Deploying a BPM Project


Overview
In this practice, you use either Business Process Composer or BPM Studio to deploy the
LoanApplication BPM project to run time. Follow either the high-level or detailed instructions, not
both.

Assumptions
This practice assumes that you have completed the implementation of LoanProcess as
described in Practices 7, 8, 9, and 10 and corrected any errors that were discovered in
Practice 11.

Tasks
Note: The tasks in this practice can be performed by using either BPM Studio or Business
Process Composer. Use the same tool that you used in Practice 7-1.
1. Using the tool that you have selected, ensure that you are using the latest version of
LoanApplication and deploy it to run time as version 1.0.
Hint

If you use Business Process Composer, you need to be the project Owner to have
access to the Deploy Project option. Then, in the Deploy Project window, use the
weblogic user's credentials.

If you use BPM Studio, you need to update your version of the project before
deploying.
Here are detailed instructions for deploying by using Business Process Composer, if
you need them:
a. While logged in as the mtwain user, with LoanApplication open (but not necessarily
open for editing), from the main menu, select Deployment > Deploy Project.

The Deploy Project window opens.


Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 3

b.

Complete the form as described in the following table:


Version

Current project

New Revision ID

1.0

Override default deployment version

Selected

Deployer Username

weblogic

Deployer Password

Refer to the list of passwords at the


beginning of the Activity Guide.

Mark composite revision as default

Selected

c.

When you have finished, click the Deploy button.


The project is validated, and an Information window appears indicating that the project
was successfully deployed.
d. Click OK.
e. Proceed to task 2.
Here are detailed instructions for deploying by using BPM Studio, if you need them:
a. In the Applications Navigator, right-click LoanApplication and select Update.
b. If an Update Status window appears, click OK.
c. Right-click LoanApplication and select Deploy > LoanApplication.
The Deploy LoanApplication Wizard opens.
d. Proceed through the wizard, making the selections that are listed in the following table.
For all options that are not listed, accept the default values.

e.

Window

Actions

Deployment Action

Deploy to Application Server

Deploy Configuration

New Revision ID: 1.0


Overwrite any existing composites with the same
revision ID: Selected
Keep running instances after redeployment: Selected

Select Server

MyAppServerConnection

SOA Servers

Click Next

Summary

Click Finish

Look at the contents of the Deployment tab to verify that the deployment was
successful.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 4

2.

Close BPM Studio or Business Process Composer:

If you are using BPM Studio, click File > Exit, and save changes (if any).

If you are using Business Process Composer, close the project, release the lock (if you
are holding a lock), and log out.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 5

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 12: Deploying the Process


Chapter 12 - Page 6

Practices for Lesson 13:


Participating in a Running
Process
Chapter 13

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 1

Practices for Lesson 13: Overview


Practices Overview
In this practice, you perform the following tasks:

Using Oracle Business Process Workspace to determine whether users have been
mapped to swimlane roles in the deployed project

Submitting loan applications

Logging in as various participants to move instances through the process


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 2

Practice 13-1: Participating in a Running Process


Overview
In this practice, you use Oracle Business Process Workspace to determine whether users have
been mapped to roles in the deployed LoanApplication project. Then you log in as a user with
the LoanOfficer role and submit several loan applications. You log in as other participants and
move instances through the process.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have tested LoanProcess by using Process Player as described
in Practice 11 and deployed the LoanApplication project successfully to BPM Run Time as
described in Practice 12.

Tasks
1.

Open a browser window, log in to Oracle Business Process Workspace as an administrator


(username: weblogic), and answer the following questions:

How many projects are represented in the Roles table?

How many roles are associated with the LoanApplication project?

Do any roles have users mapped to them? Explain.


Here are detailed instructions, if you need them:
a. Open a browser window, click Business Process Workspace on the Favorites bar or
navigate to http://hostname.us.oracle.com:7001/bpm/workspace.
b. Log in using the administrators credentials.
c. On the toolbar at the top, click Administration.
The Roles page opens. Here is a sample screenshot:

Question: How many projects are represented in the Roles table?


Answer: Two: LoanApplication and the CreditRatingWS web service
Question: How many roles are associated with the LoanApplication project?
Answer: Five. In addition to the three swimlane roles, there are Process Owner and
Process Reviewer roles.
Question: Do any roles have users mapped to them? Explain.
Answer: Yes. The LoanOfficer, LoanProcessor, and Underwriter roles have users mapped
to them. You mapped these users to roles before playing the process in Practice 11. If you
did not map users to these roles, add them now as the administrator in Business Process
Workspace.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 3

2.

3.
4.

Note down which users are associated with each role so that you can refer to them later in
this practice, and log out of Business Process Workspace.
The rest of this practice assumes that the following users have been mapped to the three
roles that are listed in the previous task:
Role

Users

LoanOfficer

mmitch, jverne

LoanProcessor

mtwain, jlondon

Underwriter

eheming, fkafka

Note: This mapping is also available in Appendix A.


Your mapping may be different. It is not necessary to match the mapping that is shown in
this table.
Log out of Business Process Workspace as the weblogic user.
Log in to Business Process Workspace as a user with the LoanOfficer role, and submit the
following loan applications:
Name

Social Security Number

Loan Amount

Rest of the Fields

Anna Miller

888-11-2222

$125,000

Your choice

Ben Wilson

555-11-2222

$50,000

Your choice

Charles Brown

222-11-2222

$5,000

Your choice

David Johnson

012-34-5678

$15,000

Your choice

Evelyn Smith

987-65-4321

$50,000

Your choice

Answer the following question:

If the loan applications are approved by the Loan Processor, how do you expect each
of them to be routed by the Routing gateway? Explain.
Here are detailed instructions, if you need them:
a. Click Business Process Workspace on the Favorites bar or navigate to
http://hostname.us.oracle.com:7001/bpm/workspace.
b. Log in using the credentials of one of the Loan Officers. For example, log in as the
jverne user.
c. On the toolbar on the left, click Applications.
d. In the Applications view, click LoanProcess:

The loan form opens.


Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 4

e.

Complete both the Borrower Details tab and the Loan Details tab with the following
data:

Name

Social Security Number

Loan Amount

Rest of the Fields

Anna Miller

888-11-2222

$125,000

Your choice

f.
g.

When you have finished, click Submit.


The Tasks page for the Loan Officer reappears, and there are no tasks listed.
Similarly, submit loan applications that match the requirements that are described in
this table:

Name

Social Security Number

Loan Amount

Rest of the Fields

Ben Wilson

555-11-2222

$50,000

Your choice

Charles Brown

222-11-2222

$5,000

Your choice

David Johnson

012-34-5678

$15,000

Your choice

Evelyn Smith

987-65-4321

$50,000

Your choice

Question: If the loan applications are approved by the Loan Processor, how do you expect
them to be routed by the Routing gateway? Explain.

5.

6.

Name

Routing

Explanation

Anna

MANUAL_APPROVAL

Excellent credit; matches R6 in decision table

Ben

MANUAL_APPROVAL

Good credit; matches R4 in decision table

Charles

MANUAL_APPROVAL

Poor credit; matches R1 in decision table

David

AUTO_REJECTED

Poor credit; matches R2 in decision table

Evelyn

AUTO_APPROVED

Excellent credit; matches R5 in decision table

Note: Appendix B describes the algorithm that is used by the Credit Rating web service.
Appendix C describes the rules in the CreditRules decision table.
Log out of Business Process Workspace as a Loan Officer, log in as a Loan Processor (for
example, as the jlondon user), determine how many tasks are in the Loan Processors
queue, and explain your results.
Question: How many tasks are in the Loan Processors queue? Explain.
Answer: Fiveone for each of the loans that the Loan Officer submitted. (All loan
applications are routed to the Loan Officer for approval.)
As the Loan Processor, approve all five quotes and verify that Evelyns quote has been
disbursed. Answer the following questions:

Was Evelyns quote disbursed?

Are there other loan application files in the folder? Explain.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 5

7.

8.
9.

Here are detailed instructions, if you need them:


a. One by one, select the items in the task list and click Approve to approve them.
b. To verify that Evelyns loan was disbursed, navigate to the
/home/oracle/labs/loans folder and determine if there is a file containing her
loan information. To examine a file, right-click it and open it.
There should be a file with her data. Notice that it is not the only loan file in that folder.
Question: Was Evelyns quote disbursed?
Answer: Yes
Question: Are there other loan application files in the folder? Explain.
Answer: Yes. Process Player also wrote files to that folder.
Log out of Business Process Workspace as a Loan Processor, and log in as an Underwriter
(for example, as the fkafka user). Answer the following question:

How many tasks are in the Underwriters queue? Explain.


Here are detailed instructions, if you need them:
a. Log out of Business Process Workspace as the Loan Processor and log in as an
Underwriter. For example, log in as the fkafka user.
The Underwriters task list appears
Question: How many tasks are in the Underwriters queue? Explain.
Answer: Three, because Davids application was automatically rejected and Evelyns
application was automatically approved.
As the Underwriter, approve Annas loan application and verify that the loan was disbursed.
Leave the other two tasks open, and log out of Business Process Workspace.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 13: Participating in a Running Process


Chapter 13 - Page 6

Practices for Lesson 14:


Using Additional BPMN Flow
Objects
Chapter 14

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 1

Practices for Lesson 14: Overview


Practices Overview
In these practices, you answer questions about a simple business process.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 2

Practice 14-1: Using Additional BPMN Flow Objects


Overview
In this practice, you answer questions about a simple business process.

Assumptions
This practice is not dependent on previous practices.

Tasks
Consider the following process model:

Answer the following questions:


1. What kind of event triggers this business process?
2. If the happy path is followed (namely, the path in which the customer is valid and has a
good credit rating, and the product is in stock), how does the process end?
3. What kind of activity would you use for Validate Customer if validation involves the
following?
a. Querying a database for customer information
b. Applying a standard set of criteria to the incoming customer information
c. Accepting this customer after someone reviews the customer information
4. Regarding the Valid Customer? flow object:
a. What kind of flow object is this?
b. Which is the default path?
c. What kind of flow object is End1?
d. What happens if the path to End1 is taken?
5. Regarding the Process Order flow object:
a. What kind of flow object is this?
b. Are both Check Credit and Check Inventory performed? Are they performed in
sequence or in parallel?
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 3

c.

6.

7.

What is the advantage of performing Check Credit and Check Inventory in parallel?
What is the disadvantage?
d. If inventory can be checked in an Enterprise Resource Planning (ERP) system, what
kind of activity would you use for Check Inventory?
Regarding the Good Credit? flow object:
a. What kind of flow object is this?
b. What kind of flow object would you use for Notify Customer1?
c. If the path to End2 is taken, does the rest of the process (checking inventory, possibly
manufacturing if necessary, and shipping) proceed?
Regarding the Manufacture Product flow object:
a. Under what circumstances does the process token reach this task? (List all of the
conditions.)
b. Name at least two different types of tasks or activities that you might use here.
Describe when each would apply, and why.
c. If you choose to use a user task here, who would be assigned to the task in the
workflow application?
d. What kind of event is attached to Manufacture Product?
e. If the boundary event is triggered, does the rest of the process (checking credit,
shipping the product, and notifying the customer) proceed?

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 4

Practice 14-2: Solutions


Here are answers to the questions in Practice 14-1:
1. What kind of event triggers this business process?
A message start event
2. If the happy path is followed (namely, the path in which the customer is valid and has a
good credit rating, and the product is in stock), how does the process end?
The product is shipped, the customer is notified, the current token is consumed, a message
is sent, and the process is terminated.
3. What kind of activity would you use for Validate Customer if validation involves the
following?
a. Querying a database for customer information
A service task
b. Applying a standard set of criteria to the incoming customer information
A business rule task
c. Accepting this customer after someone reviews the customer information
A user task
4. Regarding the Valid Customer? flow object:
a. What kind of flow object is this?
An exclusive gateway
b. Which is the default path?
The path to the Process Order gateway is the default path (denoted by the slash).
c. What kind of flow object is End1?
A terminate end event
d. What happens if the path to End1 is taken?
As modeled, execution of the process stops abruptly, with no error handling.
5. Regarding the Process Order flow object:
a. What kind of flow object is this?
A parallel gateway
b. Are both Check Credit and Check Inventory performed? Are they performed in
sequence or in parallel?
Yes, they are both performed in parallel.
c. What is the advantage of performing Check Credit and Check Inventory in parallel?
What is the disadvantage?
The advantage is that you can process the order more quickly. The disadvantage is
that you may have to check inventory and manufacture the product unnecessarily if the
customers credit is not good and that branch takes a long time.
d. If inventory can be checked in an Enterprise Resource Planning (ERP) system, what
kind of activity would you use for Check Inventory?
A service task

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 5

6.

7.

Regarding the Good Credit? flow object:


a. What kind of flow object is this?
An exclusive gateway
b. What kind of flow object would you use for Notify Customer1?
A notification task
c. If the path to End2 is taken, does the rest of the process (checking inventory, possibly
manufacturing if necessary, and shipping) proceed?
Noexecution of the process stops abruptly, with no error handling
Regarding the Manufacture Product flow object:
a. Under what circumstances does the process token reach this task? (List all of the
conditions.)
The customer is a valid customer and the products are not in stock.
b. Name at least two different types of tasks or activities that you might use here.
Describe when each would apply, and why.
Based on the limited information that has been provided, several kinds of tasks might
be appropriate, including a service task (to invoke a remote service), a user task (to
involve a human being), or something more complex, such as send and receive tasks
(or throw and catch events) that perform an asynchronous call to a remote process.
c. If you choose to use a user task here, who would be assigned to the task in the
workflow application?
Someone with the Manufacturing role (based on the swimlane that the user task is in).
d. What kind of event is attached to Manufacture Product?
A non-interrupting timer boundary event
e. If the boundary event is triggered, does the rest of the process (checking credit,
shipping the product, notifying the customer) proceed?
Yes, it does, because the boundary event is non-interrupting

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 14: Using Additional BPMN Flow Objects


Chapter 14 - Page 6

Practices for Lesson 15:


Communicating with Other
Processes
Chapter 15

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 1

Practices for Lesson 15: Overview


Practices Overview
In these practices, you perform the following tasks:

Creating and implementing an asynchronous process and a reusable process

Replacing the service tasks in LoanProcess with activities that call the new processes

Validating, deploying, and testing the revised project


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.
As a result of this practice, the Credit Rating service task in LoanProcess will be replaced by
send and receive tasks that call an asynchronous process named CreditRatingProcess:

The Disburse Loan service task in Loan Process will be replaced by a call activity that calls a
reusable process named DisburseLoanProcess:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 2

Practice 15-1: Communicating with Peer Processes


Overview
Assume that you want the Credit Rating service task to be in a separate process so that it can
be made available to other processes. In the future, you may make this process more complex,
adding user tasks and so on, and you do not want to see this complexity in the LoanProcess
model.
In this practice, you replace the Credit Rating service task with send and receive tasks that
communicate with a new peer process that returns a credit rating based on a loan applicants
Social Security number. After validating the revised project, you deploy it and ensure that the
credit rating function works properly.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed the implementation of LoanProcess as
described in Practice 10 and have corrected any errors that were discovered in Practice 11.

Tasks
Note: The tasks in this practice can be performed by using either BPM Studio or Business
Process Composer. Use the same tool that you used in Practice 7-1.
1. Using the tool that you have selected, create a new process in LoanApplication named
CreditRatingProcess that contains a single service task named Credit Rating.
When you create CreditRatingProcess, consider the fact that you want this process to be
asynchronous, and callable by a send task (which you will create in LoanProcess as part of
a later task). Create the necessary input and output arguments, create the necessary
process data objects, implement the service task by using the CreditRatingWebService
adapter that you created in Practice 10, and map data as needed.
When you have finished, CreditRatingProcess will look like the following:

Answer the following questions:

Will CreditRatingProcess be called synchronously or asynchronously? Explain.

With what kind of event does CreditRatingProcess need to start and end?

What data input and output is required for the process?

What data input and output is required for the service task?
Here are detailed instructions in Business Process Composer, if you need them:
a. Log in to Business Process Composer as the mtwain user, and open LoanApplication
for editing.
b. In the Processes view, click New process, name the process
CreditRatingProcess, and click Create.
The new process is created.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 3

c.
d.

Click the new process to open it.


Rename the Start event Credit Rating Request, and change its type to Message.

e.

Rename the End event Credit Rating Response, and change its type to
Message.
To implement the Credit Rating Request event, start by placing the cursor over the
event, clicking the pencil icon, and clicking Implementation:

f.

g.
h.

In the Implementation pane, select Define Interface from the Type menu.
Add an input argument named ssNo of type STRING.

i.

Click the Apply Changes button, and close the Implementation pane.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 4

j.

k.

Similarly, define the interface for the Credit Rating Response event, creating an output
argument named cRating of type STRING, and leaving other settings at their default
values.

Remember to click the Apply Changes button, and close the Implementation pane.
Add two data objects to CreditRatingProcess:
cRating (STRING)
ssNo (STRING)

l.

Add a service task named Credit Rating.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 5

m. Implement the service task to call CreditRatingWebService, which you defined in


Practice 10.

n.
o.

Click Apply Changes and close the Implementation pane.


Map data for the Credit Rating Request event.

p.

Map data for the Credit Rating Response event.

q.

Map data for the Credit Rating service task.

Question: Will CreditRatingProcess be called synchronously or asynchronously?


Explain.
Answer: CreditRatingProcess will be called asynchronously because send and receive
tasks invoke processes asynchronously.
Question: With what kind of event does CreditRatingProcess need to start and end?
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 6

Answer: Message start event and message end event


Question: What data input and output is required for the process?
Answer: Social Security number and credit rating
Question: What data input and output is required for the service task?
Answer: Social Security number and credit rating
r. Proceed to task 2.
Here are detailed instructions in BPM Studio, if you need them:
s. Ensure that you are using the latest published version of the project. If you are not
sure, right-click LoanApplication in the Applications Navigator and select Update.
t. In the Applications Navigator, right-click BPMN Processes and click New > BPMN 2.0
Process.
The BPMN 2.0 Process Wizard opens.
u. Complete the wizard as indicated in the following table:

Enter CreditRatingProcess in the Name field.

Ensure that Asynchronous Service is selected in the


Type section.
Click Next.

Add an input argument named ssNo of type STRING.

Add an output argument named cRating of type


STRING.

Click Next.

Initial Implementation

Click Next. (Do not add an activity. If you cannot


proceed past this window without selecting an
activity, add an abstract activity. You can change this
activity to a service task later in the practice.)

Advanced

Leave the default settings, and click Finish.

Definition

Arguments

The new process opens:

v.

It contains just start and end message events.


Rename the Start event Credit Rating Request.

w. Rename the End even Credit Rating Response.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 7

x.

Add a service task named Credit Rating, and implement it to call


CreditRatingWebService, which you defined in Practice 10.

y.

Add two data objects to CreditRatingProcess:


cRating (STRING)
ssNo (STRING)
Hint: Select CreditRatingProcess in the Applications Navigator to display the Structure
pane, which contains the Process Data Objects folder.

z.

Map data for the Credit Rating Request event. Hint: Start by right-clicking the event,
selecting Properties, and clicking the Implementation tab.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 8

aa. Map data for the Credit Rating Response event.

bb. Map data for the Credit Rating service task.


Input:

Output:

2.
3.

Question: Will CreditRatingProcess be called synchronously or asynchronously?


Explain.
Answer: CreditRatingProcess will be called asynchronously because send and receive
tasks invoke processes asynchronously.
Question: With what kind of event does CreditRatingProcess need to start and end?
Answer: Message start event and message end event
Question: What data input and output is required for the process?
Answer: Social Security number and credit rating
Question: What data input and output is required for the service task?
Answer: Social Security number and credit rating
Save your changes.
Replace the Credit Rating service task in LoanProcess with two tasks:

A send task named Credit Check Request that invokes CreditRatingProcess

A receive task named Credit Check Response that receives the output of that
process
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 9

Implement both tasks. Answer the following questions:

What data do you need to map from LoanProcess to CreditRatingProcess?

What data do you need to map from CreditRatingProcess to LoanProcess?


When you have finished, the middle of LoanProcess will look like this:

Here are detailed instructions in Business Process Composer, if you need them:
a. Click the Project Home tab, and from there, click LoanProcess to open the process.
b. Add a Send task named Credit Check Request between the Credit Rating service
task and the Credit Rules business rule task.
c. Add a Receive task named Credit Check Response between the Credit Check
Request task and the Credit Rules business rule task.
d. Delete the Credit Rating service task and reposition the Credit Check Request, Credit
Check Response, and Credit Rules activities to match the model in the task description
above.
e. Implement the Credit Check Request activity to call CreditRatingProcess.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 10

f.

Implement the Credit Check Response activity to wait for a response from
CreditRatingProcess.

g.

Map data for the Credit Check Request activity.

h.

Map data for the Credit Check Response activity.

Question: What data do you need to map from LoanProcess to CreditRatingProcess?


Answer: You need to map loanDO.socialSecurityNumber to the equivalent data object
in CreditRatingProcess (in our example, ssNo).
Question: What data do you need to map from CreditRatingProcess to LoanProcess?
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 11

Answer: You need to map the credit rating data object in CreditRatingProcess (in our
example, cRating) to creditRating.
i. Proceed to task 4.
Here are detailed instructions in BPM Studio, if you need them:
j. Open LoanProcess.
k. Add a Send task named Credit Check Request between the Credit Rating service
task and the Credit Rules business rule task.
l. Add a Receive task named Credit Check Response between the Credit Check
Request task and the Credit Rules business rule task.
m. Delete the Credit Rating service task and reposition the Credit Check Request and
Credit Check Response activities to match the model shown here:

n.

Implement the Credit Check Request activity to call CreditRatingProcess.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 12

o.

Map data for the Credit Check Request activity.

p.

Implement the Credit Check Response activity to wait for a response from
CreditRatingProcess.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 13

q.

4.
5.

6.

7.

8.

Map data for the Credit Check Response activity.

Question: What data do you need to map from LoanProcess to CreditRatingProcess?


Answer: You need to map loanDO.socialSecurityNumber to the equivalent data object
in CreditRatingProcess (in our example, ssNo).
Question: What data do you need to map from CreditRatingProcess to LoanProcess?
Answer: You need to map the credit rating data object in CreditRatingProcess (in our
example, cRating) to creditRating.
Save your changes.
Display validation errors (live issues) for the project and correct any errors.

If you are using Business Process Composer, click Validate.

If you are using BPM Studio, click Save All and examine the issues on the Live Issues
tab.
Note: If the Live Issues tab does not appear automatically, select Issues from the
Window menu.
Publish the revised project.

If you are using Business Process Composer, click Publish, enter a comment, ensure
that you are releasing the lock, and click Publish.

If you are using BPM Studio, right-click LoanApplication in the Applications Navigator
and select Save to PAM.
Deploy the project, changing the revision number to 1.1.

In Business Process Composer, change the revision number to 1.1, override the
default deployment version and mark this composite revision as the default.

In BPM Studio, change the revision number to 1.1, mark the composite revision as
default, overwrite any existing composites with the same revision ID, keep running
instances after redeployment, and deploy to the MyAppServerConnection web server.
Test the application to ensure that the credit rating function works.
Here are detailed instructions, if you need them:
a. Log in to Business Process Workspace as a Loan Officer (for example, as the mmitch
user) and submit a loan application that should be disbursed automatically after it is
approved. (For example, the Social Security number starts with a 9 and the loan
amount is under $100,000.) At a minimum, enter data for the Borrower Name, Social
Security Number, and Loan Amount fields.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 14

b.
c.

Log out as the Loan Officer, log in as a Loan Processor (for example, as the mtwain
user), and approve the loan.
Verify that the loan is disbursed by looking in the /home/oracle/labs/loans folder
for the file containing loan information.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 15

Practice 15-2: Communicating with Subprocesses


Overview
Assume that you want the Disburse Loan service task to be in a separate, reusable process so
that it can be called by other processes. In this practice, you replace the Disburse Loan service
task with a call activity that communicates with the new reusable process. The reusable process
contains a service task that calls the Disburse Loan service that you configured in Practice 10.
After validating the revised project, you deploy it and ensure that the credit rating function works
properly.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed the implementation of LoanProcess as
described in Practice 10 and have corrected any errors that were discovered in Practice 11.

Tasks
Note: The tasks in this practice can be performed by using either BPM Studio or Business
Process Composer. Use the same tool that you used in Practice 7-1.
1. Using the tool that you have selected, create a new process in LoanApplication named
DisburseLoanProcess that contains a single service task named Disburse Loan. When you
create DisburseLoanProcess, consider the fact that you want this process to be callable by
a call activity that you will create in LoanProcess as part of a later task. Create the
necessary input and output arguments, create the necessary process data objects,
implement the service task by using the DisburseLoan web service adapter that you
created in Practice 10, and map data as needed.
Answer the following questions:

With what kind of event does DisburseLoanProcess need to start and end?

What data input and output is required for the process?

What data input and output is required for the service task?
When you have finished, the new process will look like this:

Here are detailed instructions in Business Process Composer, if you need them:
a. In Business Process Composer, ensure that LoanApplication is open for editing.
b. Create a new process named DisburseLoanProcess.
c.

Open the new process, and add an input argument named loanInArg that is based
on the LoanForm business object.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 16

Hint
To open the Implementation pane for the process, right-click on the process editor
canvas and select Implement.
To find the LoanForm business object, you need to search for the type under the
Components folder.
Remember to click the Apply Changes button.

d.

Create a process data object named loanDO that is based on the LoanForm business
object.
Hint: With DisburseLoanProcess open for editing, click Data Objects and add the
loanDO process data object:

e.
f.

Add a service task named Disburse Loan.


Implement the Disburse Loan service task to call the DisburseLoan service, which you
defined in Practice 10.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 17

g.

Map data for the Disburse Loan service task.

h.

Map data for the Start event.

Question: With what kind of event does DisburseLoanProcess need to start and end?
Answer: A none start event and a none end event, because it is a reusable process
that will be called by a call activity
Question: What data input and output is required for the process?
Answer: The Disburse Loan service task will require loan information which needs to
be passed from the main process to the reusable process by using an input argument
based on the LoanForm business object. As currently configured, the process does not
need to have any output.
Question: What data input and output is required for the service task?
Answer: The service task writes loan information to a file, so you need to map that
information from the Disburse Loan process (via a data object) to the service. The
service does not need to return information.
i. Proceed to task 2.
Here are detailed instructions in BPM Studio, if you need them:
j. Create a new process named DisburseLoanProcess, completing the wizard as
indicated in the following table:
Definition

Enter DisburseLoanProcess in the Name field.

Ensure that Reusable Process is selected in the Type


section.
Click Next.

Add an input argument named loanInArg of type


LoanForm. Hint: You need to browse for the
LoanForm type.

Click Next.

Initial Implementation

Click Next. (Do not add an activity.)

Advanced

Leave the default settings, and click Finish.

Arguments

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 18

The new reusable process is created:

k.

Create a process data object named loanDO that is based on the LoanForm business
object.
Hint: Use the Structure pane.

l.

Add a service task named Disburse Loan, and implement the service task to call the
DisburseLoan service, which you defined in Practice 10.

m. Map data for the Disburse Loan service task.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 19

n.

2.
3.

Map data for the Start event.

Question: With what kind of event does DisburseLoanProcess need to start and end?
Answer: A none start event and a none end event, because it is a reusable process
that will be called by a call activity
Question: What data input and output is required for the process?
Answer: The Disburse Loan service task will require loan information which needs to
be passed from the main process to the reusable process by using an input argument
based on the LoanForm business object. As currently configured, the process does not
need to have any output.
Question: What data input and output is required for the service task?
Answer: The service task writes loan information to a file, so you need to map that
information from the Disburse Loan process (via a data object) to the service. The
service does not need to return information.
Save your changes.
Replace the Disburse Loan service task in LoanProcess with a call activity by the same
name, and implement the call activity by linking it to DisburseLoanProcess.
Answer the following question:

Is DisburseLoanProcess called synchronously or asynchronously? Explain.


When you have finished, the end of LoanProcess will look like this:

Here are detailed instructions in Business Process Composer, if you need them:
a. In LoanProcess, add a call activity named Disburse Loan between the Underwriter
Outcome gateway and the Disburse Loan service task.
b. Reroute the Automatically Approved sequence flow to end at the Disburse Loan call
activity.
c. Delete the Disburse Loan service task, and move the Disburse Loan call activity where
the service task had been.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 20

d.

Implement the Disburse Loan call activity to call DisburseLoanProcess.

e.

Map data for the Disburse Loan call activity.

Question: Is DisburseLoanProcess called synchronously or asynchronously? Explain.


Answer: Synchronouslythe main process waits until the subprocess completes
before proceeding
f. Proceed to task 4.
Here are detailed instructions in BPM Studio, if you need them:
g. In LoanProcess, add a call activity named Disburse Loan between the Underwriter
Outcome gateway and the Disburse Loan service task.
h. Reroute the Automatically Approved sequence flow to end at the Disburse Loan call
activity.
i. Delete the Disburse Loan service task, and move the Disburse Loan call activity where
the service task had been.
j. Implement the Disburse Loan call activity to call DisburseLoanProcess.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 21

k.

4.
5.

6.

7.

8.

Map data for the Disburse Loan call activity.

Question: Is DisburseLoanProcess called synchronously or asynchronously? Explain.


Answer: Synchronouslythe main process waits until the subprocess completes
before proceeding
Save your changes.
Display validation errors (live issues) and fix any issues.
Note: You can ignore warnings regarding namespace definitions.

If you are using Business Process Composer, click Validate.

If you are using BPM Studio, examine the issues on the Live Issues tab.
Note: If the Live Issues tab does not appear automatically, select Issues from the
Window menu.
Publish the revised project.

If you are using Business Process Composer, click Publish, enter a comment, ensure
that you are releasing the lock, and click Publish.

If you are using BPM Studio, right-click LoanApplication in the Applications Navigator
and select Save to PAM.
Deploy the project as revision 1.2.

In Business Process Composer, override the default deployment version and mark this
composite revision as the default.

In BPM Studio, mark the composite revision as default, overwrite any existing
composites with the same revision ID, keep running instances after redeployment, and
deploy to the MyAppServerConnection web server.
Test the application to ensure that both the credit rating and disburse loan functions work.
For example, submit and approve an application for $7,000 with a Social Security number
starting with 6. At a minimum, enter data for the Borrower Name, Social Security Number,
and Loan Amount fields.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 15: Communicating with Other Processes


Chapter 15 - Page 22

Practices for Lesson 16:


Handling Exceptions
Chapter 16

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 1

Practices for Lesson 16: Overview


Practices Overview
In these practices, you perform the following tasks:

Using a boundary event to catch errors

Using an event subprocess to catch timer errors (Optional Practice)

Using an event subprocess to catch all errors (Optional Practice)


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.
At the end of this practice, the end of LoanProcess will have a boundary event and an exception
flow to catch all errors that occur in DisburseLoanProcess:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 2

Practice 16-1: Using a Boundary Event to Catch Errors


Overview
In this practice, you create a process data object to store error data, add a boundary event to
the Disburse Loan call activity, and add an exception flow that includes an FYI task and a user
task in a new swimlane labeled LoanAdministrator. You implement both user tasks and map
data as needed for the exception flow. After validating the project, you deploy it and associate
one or more users to the LoanAdministrator role. You create an error condition that causes
DisburseLoanProcess to fail, and you submit an application to test the exception flow.
You use Business Process Composer for this practice because the practice includes creating a
web form.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed and tested LoanApplication as described in
Practice 15.

Tasks
1.

Using Business Process Composer, in LoanProcess, create a STRING data object named
errorInfoDO to store error data. Hint: Start by opening LoanProcess for editing and
clicking the Data Objects button on the toolbar at the top.

2.

In a new swimlane for users with the LoanAdministrator role, create two tasks:

An FYI task named FYI Loan Not Disbursed

A user task named Disburse Loan Manually

Remember to rename the swimlane.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 3

3.

4.

5.

Add a boundary event to the Disburse Loan call activity to catch errors that occur in
DisburseLoanProcess. The exception flow should go to the FYI Loan Not Disbursed task,
then to the Disburse Loan Manually user task, and finally to Loan Fulfilled.

Answer the following questions:

What type of boundary event do you need to add to the Disburse Loan call activity?

Is this an interrupting or a non-interrupting event? Explain.


Question: What type of boundary event do you need to add to the Disburse Loan call
activity?
Answer: An error boundary event
Question: Is this an interrupting or a non-interrupting event? Explain.
Answer: It is an interrupting event. All error boundary events are interrupting.
Implement the boundary event to catch all business and system errors that occur in
DisburseLoanProcess.

Implement the FYI Loan Not Disbursed task by creating a human task named FYITask
with the following attributes:

Task Title: FYI Loan Not Disbursed

Outcome: OK
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 4

Presentation: New web form named FYIErrorForm containing a Text field named
Borrower Name and a Text Area field named Error Information
Hint: When you create the form, add the controls from the bottom up.
Here are detailed instructions, if you need them:
a. Right-click FYI Loan Not Disbursed and select Implement.
b. In the Implementation view, click Add, enter FYITask, and click Create.
c. Click Apply Changes.
d. Click Edit to open the Basic tab of the Human Task Editor.
e. In the Task Title field, enter FYI Loan Not Disbursed.
f. In the Outcomes field, browse for OK and deselect APPROVE and REJECT.
g. In the Presentation section, select Web Form.
h. Click Create New Web Form, enter FYIErrorForm, and click Create.
i. Click Edit Web Form.
j. Drag a TextArea control to the form, and name it Error Information.
k. Drag a Text control to the form, place it above Error Information, and name it
Borrower Name.

6.
7.

Close the Form Editor and the FYITask window, and save your work.
Similarly, implement the Disburse Loan Manually user task by creating a human task
named DisburseLoanTask with the following attributes:

8.

Task Title: Disburse Loan Manually

Outcome: OK

Presentation: LoanForm web form


Perform the necessary data associations for the boundary error event and the exception
flow:

Map error information from the boundary event to the errorInfoDO data object that you
created earlier in this practice.

Map data for the FYI Loan Not Disbursed user task.
Note: It is not necessary to map output for that task.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 5

Map loan information for the Disburse Loan Manually task.


Note: It is not necessary to map output for that task.
Here are detailed instructions, if you need them:
a. Right-click the boundary event and select Data Association.
b. Map errorInfo to errorInfoDO.

c.
d.
e.

Click Apply.
Right-click FYI Loan Not Disbursed and select Data Association.
Map the borrower name and error information data objects to the corresponding fields
in the FYI Loan Not Disbursed task.

f.

Click Apply.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 6

g.

9.
10.
11.
12.
13.
14.

15.

Map loan information to the Disburse Loan Manually task.

h. Click Apply.
Save your changes.
Validate the revised project, and correct any errors.
Publish the project, and release the lock.
Deploy the project with revision number 1.3. Override the default deployment version and
mark this composite revision as the default.
Log out of Business Process Workspace.
In Business Process Workspace, as an administrative user, associate one or more users to
the LoanAdministrator role. Then log out of Business Process Workspace.
Answer the following question:

Is there a new role on the list for LoanApplication? Explain.


Here are detailed instructions, if you need them:
a. Open a browser window and click the Business Process Workspace bookmark or
navigate to http://hostname.us.oracle.com:7001/bpm/workspace.
b. Log in using the administrators credentials (username: weblogic).
c. On the toolbar at the top, click Administration.
Question: Is there a new role on the list for LoanApplication? Explain.
Answer: Yes. The LoanAdministrator role was added when you deployed the project.
d. In the Roles view, click the LoanAdministrator row.
e. In the Details pane, in the Members section, click Grant the role to user, group or
role.
f. Search for and add two users, for example, wfaulk and wshake.
g. In the Details section, click Save.
h. Log out of Business Process Workspace.
Currently the file adapter is configured to write loan information to the
/home/oracle/labs/loans folder. To create an error condition in
DisburseLoanProcess, change the permissions for that folder so that it is not writable:
a. Double-click the Terminal icon on the Desktop to open a terminal window.
b. Navigate to the /home/oracle/labs folder by entering the following command:
cd /home/oracle/labs
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 7

c.

Change the permissions of the loans folder by entering the following command:
chmod 555 loans
16. Test the application by submitting and approving a loan that should be disbursed, for
example, a loan in which the loan amount is under $100,000 and the loan applicant has
excellent credit (the Social Security number starts with 7, 8, or 9). At a minimum, enter data
for the Borrower Name, Social Security Number, and Loan Amount fields.
Answer the following questions:

How can you know if the error was caught by the boundary event?

What information is displayed in the FYI Loan Not Disbursed task?


Question: How can you know if the error was caught by the boundary event?
Answer: No file was written to the /home/oracle/labs/loans folder and users with the
Loan Administrator role see both an FYI Loan Not Disbursed task and a Disburse Loan
Manually task on their task list.
Question: What information is displayed in the FYI Loan Not Disbursed task?
Answer: Borrower name and error text. Here is an example:

Your next step depends on whether you want to do the optional practices for Lesson 16
now. If so, leave the permissions for the /home/oracle/labs/loans folder as they are.
However, before proceeding to Practice 17, make the /home/oracle/labs/loans folder
writable again by opening a terminal window, navigating to the /home/oracle/labs
folder, and entering the following command: chmod 755 loans

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 8

Practice 16-2 (Optional Practice): Using an Event Subprocess to


Catch Timer Errors
Overview
In this practice, you add an event subprocess to catch timer errors. You implement the
components of the event subprocess and map data as needed. After validating the project, you
deploy it. You submit an application to trigger the timeout event, and you test that the
application works as expected.
When you have finished, you will have a timer event subprocess that looks like the following:

Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed and tested LoanApplication as described in
Practice 16-1.

Tasks
1.

Using Business Process Composer, add an event subprocess named Timeout that is
triggered if a process instance takes longer than five minutes to complete. (Hint: Use the
expression 'now'+'5m' in the Expression Editor.) If the event subprocess is triggered, the
main process is not interrupted, but an FYI task named FYI Timeout notifies those with the
LoanAdministrator role that the process is taking longer than it should.
Here are detailed instructions, if you need them:
a. Open LoanProcess for editing.
b. Drag an Event Subprocess activity to the LoanAdministrator swimlane and name it
Timeout.
Note: If you do not see the Event Subprocess activity in the expanded list of activities,
place the cursor over the down arrow at the bottom of the expanded list.
c. Click the plus sign to expand the event subprocess.
d. Change the trigger type of the Start event to Timer.
e. Implement the Start event:
Set Due Type to Date.
Select the Expression Mode check box.
Click the Edit button.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 9

In the Expression Editor, enter 'now'+'5m' and click OK.


Click Apply Changes, and close the Implementation pane.

f.

2.

Add an FYI task named FYI Timeout to the Timeout event subprocess.

The FYI task should present LoanForm to the Loan Administrator. Implement the FYI
Timeout user task by creating a human task named FYITimeoutTask with the following
attributes:

Task Title: FYI Timeout

Outcome: OK

Presentation: LoanForm web form

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 10

3.
4.

5.
6.
7.

Save your changes.


Perform any necessary data associations in the event subprocess, and answer the
following question:

What data do you need to map into and out of the event subprocess, and into and out
of the user task?

Question: What data do you need to map into and out of the event subprocess, and into
and out of the user task?
Answer: You do not need to map data into and out of the event subprocess nor into and
out of the start and end events because the event subprocess shares the context of the
parent process (LoanProcess). The only data that you need to map is for the FYI Timeout
user task.
Validate the revised project, and correct any errors.
Publish the revised project, and release the lock.
Deploy the project with a revision number of 1.4. Override the default deployment version
and mark this composite revision as the default.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 11

8.

Test the timer event subprocess by submitting a loan application and waiting five minutes.
Answer the following questions:

How can you know if the error was caught by the Timeout event subprocess?

Is this an interrupting event or a non-interrupting event?

What information is presented in the FYI Timeout task?


Question: How can you know if the error was caught by the Timeout event subprocess?
Answer: Users with the Loan Administrator role see an FYI Timeout task on their task list.
Question: Is this an interrupting event or a non-interrupting event?
Answer: It is a non-interrupting event.
Question: What information is displayed in the FYI Timeout task?
Answer: Loan information from the full loan form
9. To avoid filling the Loan Administrator's task list with unnecessary timeouts in future
practices, update the timer start event to fire after five days instead of five minutes.
Hint: Change the expression in the Timeout start event to use d instead of m.
Remember to apply your changes.
10. Publish the revised project, and release the lock.
11. Deploy the project with a revision number of 1.5. Override the default deployment version
and mark this composite revision as the default.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 12

Practice 16-3 (Optional Practice): Using an Event Subprocess to


Catch All Errors
Overview
In this practice, you replace the boundary event and exception flow that you added in Practice
16-1 with an event subprocess that catches all errors. You implement the components of the
event subprocess and map data as needed. After validating the project, you deploy it. You
submit an application to trigger the timeout event, and you test that the application works as
expected.
When you have finished, you will have an event subprocess that looks like the following:

Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed and tested LoanApplication as described in
Practice 16-2.

Tasks
1.

Using Business Process Composer, replace the boundary event on the Disburse Loan call
activity and the associated exception flow with an event subprocess named Catch All
Errors that catches all business and system exceptions that occur anywhere in the
process. The event subprocess starts with an event by the same name, contains an FYI
task named FYI Error and a "Handle Errors and Complete Manually" user task that is
performed by a Loan Administrator. If the event subprocess is triggered, the process
terminates after the Loan Administrator performs this task.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 13

Answer the following questions:

With what type of event should the event subprocess start and end? Explain.

Is this an interrupting or non-interrupting event subprocess? Explain.

Do you need to create an additional data object to store error information, or does the
event subprocess have access to errorInfoDO from LoanProcess?
Here are detailed instructions, if you need them:
a. Ensure that LoanProcess is open for editing, and delete the boundary event and
exception flow.
b. Drag an Event Subprocess activity to the LoanAdministrator swimlane and name it
Catch All Errors.
c. Click the plus sign to expand the event subprocess.
d. Change the trigger type of the Start event to Error, and rename the Start event Catch
All Errors.
e. Implement the Catch All Errors error event to catch all business and system
exceptions.

f.
g.

Click Apply Changes, and close the Implementation pane.


Change the trigger type of the End event to Terminate.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 14

h.

Add the following tasks:


FYI task named FYI Error
User task named Handle Errors and Complete Manually

2.

Implement the FYI Error task by reusing the FYITask human task that you created
previously for the FYI Loan Not Disbursed user task in the Disburse Loan boundary error
event exception flow (which you removed at the beginning of this practice). Change the
Task Title to FYI Loan Error. Hint: To edit the Task Title, edit the human task.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 15

3.

4.

Implement the "Handle Errors and Complete Manually" user task by creating a human task
named HandleErrorsTask. Although this task could be much more complex, including (for
example) detailed error information, let us simplify the task and provide only the following
attributes:

Task Title: Handle Errors and Complete Manually

Outcome: OK
Presentation: LoanForm web form

Map data for the Catch All Errors start event.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 16

5.

Map data for the FYI Error task.

6.

Map data for the Handle Errors and Complete Manually user task.

7.
8.
9.

Validate the revised project, and correct any errors.


Publish the revised project, releasing the lock.
Deploy the project with a revision number of 1.6. Override the default deployment version
and mark this composite revision as the default.
10. In Practice 16-1, you set up an error condition by changing the permissions for the
/home/oracle/labs/loans folder to which the file adapter writes the loan information.
Test the application by submitting and approving a loan that should be disbursedfor
example, a loan in which the loan amount is under $100,000 and the loan applicant has
excellent credit (use a Social Security number that starts with 7, 8, or 9). At a minimum,
enter data for the Borrower Name, Social Security Number, and Loan Amount fields.
Answer the following question:

How can you know if the error was caught by the Catch All Errors event subprocess?
Question: How can you know if the error was caught by the Catch All Errors event
subprocess?
Answer: Users with the Loan Administrator role see two tasks: an FYI Loan Error task that
displays the borrower name and error text, and a Handle Errors and Complete Manually
task that displays the loan form.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 17

11. In a terminal window, make the /home/oracle/labs/loans folder writable again:


Navigate to the /home/oracle/labs folder and change the permissions of the loans
folder by entering the following command: chmod 755 loans

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 16: Handling Exceptions


Chapter 16 - Page 18

Practices for Lesson 17:


Monitoring Business
Processes
Chapter 17

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 1

Practices for Lesson 17: Overview


Practices Overview
In these practices, you perform the following tasks:

Examining the default process metric settings

Displaying Process Monitor

Creating custom metrics to use in BAM dashboards and Business Architecture reports

Making changes to the process model to collect custom metrics at run time
When you have finished, LoanProcess will look like the following (if you have completed the
optional practices 16-2 and 16-3):

Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 2

Practice 17-1: Using Process Monitor


Overview
In this practice, you examine the default process metric settings and display Process Monitor.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed at least through Practice 13, Participating in a
Running Process.

Tasks
1.

Using Business Process Composer, examine the default project, process, and activity
process metric settings, and answer the following questions:

What preferences are in effect for the entire project? What preferences are in effect for
LoanProcess?

What preferences are in effect for Capture Loan Request and Underwriter Review?
Here are detailed instructions, if you need them:
a. On the Project Home page, click More information.

The details pane is displayed:

b.
c.

d.

Notice that at the project level, metrics are generated for interactive activities only.
Click Hide details to close the details pane.
To view preferences for LoanProcess, open the process, right-click on the canvas, and
select Implement.
The Implementation pane for the process opens:

Note that the process inherits the project default settings.


Close the Implementation pane.
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 3

e.

2.

To view preferences for the Capture Loan Request user task, right-click the task and
select Implement.
The Implementation pane for the task opens:

Note that the task inherits process default settings.


f. Close the Implementation pane.
g. Similarly, view preferences for the Underwriter Review task.
Question: What preferences are in effect for the entire project?
Answer: Metrics are generated for interactive activities only.
Question: What preferences are in effect for LoanProcess?
Answer: The process inherits project defaults, so metrics are generated for interactive
activities only.
Question: What preferences are in effect for Capture Loan Request and Underwriter
Review?
Answer: Both of those tasks inherit the process default, so metrics are generated for
those interactive activities.
Log in to Business Process Workspace using administrative credentials (username:
weblogic) and display the Process Monitor view. Examine the statistics for version 1.0 of
LoanProcess and answer the following questions:

How many loan applications have been completed?

What is the average processing time for loan applications?

Do any activities have alerts?


Note: Process owners and administrative users can see data for all activities in a process.
Individual participants can see data only for the activities that are relevant to them.
Here are detailed instructions, if you need them:
a. Log in as an administrative user.
b. Click Dashboards and select Process Monitor.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 4

The initial Process Monitor window displays, prompting you to select a process from
the Process menu:

c.

3.

4.

Select LoanProcess (version 1.0) from the Process menu.


Note: Place the cursor over the process to see the revision number.
The Process Monitor dashboard appears. Here is an example:

Your results may be different.


Question: How many loan applications have been completed?
Answer: In this example, six process instances have completed. Your results may be
different.
Question: What is the average processing time for loan applications?
Answer: In this example, the average processing time is seven minutes and eighteen
seconds. Your results may be different.
Question: Do any activities have alerts?
Answer: In this example, both Review Loan Application and Underwriter Review have
red alerts. Your results may be different.
View activity details for one or more activities.
Here are detailed instructions, if you need them:
a. Place the cursor over an activity, and click the information icon.
b. Select the type of detail to display.
Note: The available options depend on the type of activity and whether there is a
processing issue.
Display the performance graphs and answer the following questions:

What dashboards are displayed?

On average, which activity took the longest to perform?


Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 5

Here are detailed instructions, if you need them:


a. Click Restore Pane in the lower-right corner of the window.
Two performance graphs appear. Here is an example:

Your results may be different.


Question: What dashboards are displayed?
Answer: Workload per activity and Performance per activity
Question: On average, which activity took the longest to perform?
Answer: In this example, Underwriter Review took the longest. Your results may be
different.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 6

Practice 17-2: Configuring Custom Metrics


Overview
In this practice, you create custom metrics that you will use in the next two practices when
defining a BAM dashboard and defining key performance indicators (KPIs) to roll up to the
Business Architecture project that you created in Practice 3. After creating the custom metrics,
you make changes to the process model to ensure that the data is collected at run time.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed at least through Practice 15, Communicating
Between Processes.

Tasks
1.

2.

Using Business Process Composer, determine if any business indicators have been
defined for the LoanApplication BPM project.
Here are detailed instructions, if you need them:
a. Open LoanApplication and examine the left navigation pane to determine how many
business indicators are defined.
Here is an example:

Currently, no business indicators are defined for the LoanApplication BPM project.
Create a counter named appsDisbursed and ensure that it is bound to a project data
object.
Here are detailed instructions, if you need them:
a. Ensure that LoanApplication is open for editing.
b. In the left navigation pane, click Business Indicators to open that view.
c. Click New > New Counter, and name the counter appsDisbursed.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 7

d.

In the Project data object field, select [New Project Data Object], accept the default
name, and click OK.

The new counter is created:

3.
4.

5.

Similarly, create a counter named appsRejected and ensure that it is bound to a project
data object.
Associate the appsDisbursed counter with the Disburse Loan call activity.
Here are detailed instructions, if you need them:
a. Open LoanProcess.
b. Right-click Disburse Loan and select Create Counter Mark.
c. In the Counter field, select the appsDisbursed check box.
d. Click Apply Changes.
e. Close the Implementation pane.
Answer the following questions:

Is there a single flow component to which you can associate the appsRejected counter
to count all rejected loans?

If not, what flow component can you add to the process model to capture the value of
this counter?
Question: Is there a single flow component to which you can associate the appsRejected
counter to count all rejected loans?
Answer: No
Question: If not, what flow component can you add to the process model to capture the
value of this counter?
Answer: You can add a script task at the intersection of the Automatically Rejected and
Rejected by Underwriter sequence flows.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 8

6.

7.

8.
9.

Add a script task named Count Rejections at the intersection of the Automatically Rejected
and Rejected by Underwriter process flows. The outgoing flow of Count Rejections should
go to the Loan Rejected end event.

Note: Your process model may look different if you have not completed optional practice
16-3.
Here are detailed instructions, if you need them:
a. Drag a script task to the process model and place it on the Automatically Rejected
sequence flow just before Loan Rejected.
b. Name the script task Count Rejections.
c. Reroute the Rejected by Underwriter sequence flow to go to Count Rejections instead
of Loan Rejected.
d. Reposition the flow components as necessary to match the model that is shown in the
instructions.
Associate the appsRejected counter with the Count Rejections script task.
Note: You may need to scroll down the Implementation pane to see the counter check
boxes. Remember to click the Apply Changes box.
Save your changes.
Create a dimension named cRating of type STRING and ensure that it is bound to a
project data object. Answer the following question:

Can you capture metrics for a dimension by associating it with an activity, as you did
for counters?
Here are detailed instructions, if you need them:
a. In the left navigation pane, click Business Indicators to open that view.
b. Click New > New Dimension, name the dimension cRating, and select String from the
Type menu.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 9

c.

In the Project data object field, select [New Project Data Object], accept the default
name, and click OK.

The new dimension is created:

Question: Can you capture metrics for a dimension by associating it with an activity,
as you did for counters?
Answer: No, you need to assign a value to a dimension by mapping data.
10. Add a script task named Set Credit Rating BI after Credit Check Response and
map the creditRating process data object to the project data object that you created in the
previous step.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 10

When you have finished, the middle of LoanProcess will look like the following:

Here are detailed instructions, if you need them:


a. Add a script task named Set Credit Rating BI after Credit Check Response.
b. Right-click Set Credit Rating BI and select Data Associations.
c. Click the Add Custom Output icon on the left, and drag the creditRating process data
object to that field. Then drag the cRating_PDO project data object to the output field:

11.
12.
13.
14.

d. Click Apply.
Save your changes.
Create a measure business indicator named loanAmount with a data type of INTEGER,
and ensure that it is associated with a project data object.
Add a script task named Set Loan Amount BI after Disburse Loan.
Add a measurement mark after Set Loan Amount BI, and add the loanAmount business
indicator to the measurement mark.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 11

When you have finished, the end of LoanProcess will look like this:

Note: Your process model may look different if you have not completed optional practice
16-3.
Here are detailed instructions, if you need them:
a. Drag a measurement to the process model and place it after the Set Loan Amount BI
script task.
b. Right-click the measurement and select Implement.
c. In the Implementation pane, move the loanAmount measure to the pane on the right:

d. Click Apply Changes and close the Implementation pane.


15. In the Set Loan Amount BI script task, map the loanAmount attribute (which is part of
loanDO and is captured in the loan application form) to the project data object that is
associated with the loanAmount business indicator.
Hint: Because the loanAmount and loanAmount_PDO data types do not match, you need
to use the Expression Builder and the round function to convert the loanAmount data object
to an integer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 12

Here are detailed instructions, if you need them:


a. Right-click Set Loan Amount BI and select Data Association.
b. In the Data Association window, click the Add Custom Output icon.
c. Click the Launch Expression Builder icon.
d. Expand loanDO, select loanAmount, and click Insert Into Expression.
e. Add the round function as shown in the following screenshot:

f.
g.

Click Validate to validate the expression. If it is not valid, correct it and try again.
If the expression is valid, click OK.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 13

h.

Drag the loanAmount_PDO project data object to the Outputs field.

i. Click Apply.
16. Save your changes.
17. Validate the revised project, and correct any errors.
18. Publish the revised project, releasing the lock.
19. Deploy the project with a revision number of 2.0. Override the default deployment version
and mark this composite revision as the default.
20. Log out of Business Process Composer.
21. Restart AdminServer as follows:
a. On the desktop, double-click Stop AdminServer.
After a short time, the terminal windows for both the stop and start processes will close
automatically.
b. On the desktop, double-click Start AdminServer.
It is not necessary to test the project at this time. In the next two practices, you will use the
business indicators that you have configured.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 17: Monitoring Business Processes


Chapter 17 - Page 14

Practices for Lesson 18:


Creating Real-Time
Dashboards Using BAM
Chapter 18

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 1

Practices for Lesson 18: Overview


Practices Overview
In these practices, you perform the following tasks:

Creating a BAM project and adding process data objects to the project

Creating a dashboard with two views

Submitting and processing loan applications

Viewing the dashboard


When you have finished, you will have a dashboard with two sample views:

Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 2

Practice 18-1: Building a Simple BAM Dashboard


Overview
In this practice, you create a BAM project and add process data objects to that project. Then
you create a dashboard with two views. You use three of the four business indicators that you
created in Practice 18.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed Practice 17, Monitoring Business Processes,
in which you created a number of business indicators and made changes to the process model
to collect these metrics at run time.

Tasks
1.

2.

Log in to Oracle BAM Composer by using the administrator credentials (username:


weblogic).
Here are detailed instructions, if you need them:
a. Open a browser window, and click the Oracle BAM Composer bookmark or navigate to
http://localhost:7001/bam/composer/.
b. Log in to BAM Composer by using the administrator credentials.
Create a BAM project named LoanAppBAM.
Here are detailed instructions, if you need them:
a. Ensure that the Designer view is selected:

b.

Click the down arrow next to Process Analytics, and select Create.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 3

c.

In the Name field, enter LoanAppBAM, and click Create (not Create BPM Example).

You are editing the LoanAppBAM project now.

3.

Add the LoanApplication Activity and LoanApplication Process data objects to the
LoanAppBAM project that you have created. Answer the following questions:

What does the LoanApplication Activity data object contain?

What does the LoanApplication Process data object contain?


Here are detailed instructions, if you need them:
a. In the Navigation pane, click Data Objects.
The Data Objects window opens.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 4

b.

Scroll down, select the LoanApplication Activity and LoanApplication Process logical
data objects, and then click Add.

c.

In the Navigation pane, expand Data Objects > oracle > processanalytics, and verify
that the data objects have been added to the project.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 5

d.

Click LoanApplication Activity, and click the Columns tab.

e.

Explore the column names in the LoanApplication Activity data object, scrolling all the
way to the bottom.
Note: To see all of the column names, collapse the upper pane, click twice (slowly) in
the Logical DataObject Column Name column, and press the down arrow key.
Question: What does the LoanApplication Activity data object contain?
Answer: It contains built-in and user-defined metrics for all activities. For example,
towards the end of the list, the column names B_APPSREJECTED,
B_APPSDISBURSED, B_CRATING, and B_LOANAMOUNT correspond to the four
business indicators that you created in LoanApplication in Practice 17.

f.
g.

4.

In the Navigation pane, click LoanApplication Process, and click the Columns tab
Explore the column names in the LoanApplication Process data object.
Question: What does the LoanApplication Process data object contain?
Answer: It contains process instance metrics.
Create a two-column dashboard with the display name Loan App Dashboard.
Here are detailed instructions, if you need them:
a. In the Navigation pane, click Dashboards.
The Dashboards window opens.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 6

b.

Enter the following values for the fields.


Hint: If you enter the dashboard name first, other data is automatically entered and
may be difficult to edit. Therefore, enter the display name first, then the dashboard
name. This tip applies to all tasks in which you enter both a name and a display name.
Dashboard Name: LoanAppDashboard
Dashboard Display Name: Loan App Dashboard
Dashboard Type: Dashboard
Style Template: Type 5

c.

Click Create.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 7

The two-column Loan App Dashboard is created. It has two empty views.

5.

In the left pane of the dashboard, create a view that meets the following requirements:

Name: LoanProfileByCreditRating

Display Name: Loan Profile By Credit Rating

Category: BAR

View Type: Bar


Here are detailed instructions, if you need them:
a. In the first quadrant, click the plus icon and select Create a view.

The Create a view window opens.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 8

b.

Enter the following values for the fields:


Name: LoanProfileByCreditRating (Reminder: Enter this value after entering
the Display Name.)
Display Name: Loan Profile By Credit Rating
Category: BAR
View Type: Bar

c.

Click Create.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 9

The Loan Profile By Credit Rating view is created, with sample data.

6.

Note: This is just a sample view of the bar chart. You have not yet defined where the
data should come from.
In the LoanProfileByCreditRating view, create a business query named
LoanProfileQuery. Configure the bar chart to show the number of applications that have
been rejected or disbursed, grouped by credit rating.
a. Click the Open Query Editor icon at the top-right corner of the view.

b.

Click Create a Business Query.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 10

c.

Enter the following values for the fields:


Name: LoanProfileQuery (Reminder: Enter this value after entering the Display
Name.)
Display Name: Loan Profile Query

d.
e.

Click Create.
In the Data Object field, select oracle/processanalytics/LoanApplication Activity.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 11

f.

In the Measures (Y - axis) table, select appsDisbursed BI, and then select the
COUNT function.

g.

Note: If you cannot see the function field, expand the "Measures (Y-axis)" window.
In the same way, select appsRejected BI (COUNT).

h.

In the Dimensions (X - axis) table, select cRating BI.

i.

Click Apply and close the Business Query Editor.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 12

The dashboard appears:

7.
8.

Note: Your dashboard may have horizontal lines and no axis labels or legend.
There is no data yet because the dashboard is based on custom metrics and you have
not yet submitted loan applications using the deployment that includes custom metric
configuration.
Click Save to save your dashboard definition.
In the right pane of the dashboard, create a view that meets the following requirements:

Name: AverageLoanProcessingTime

Display Name: Average Loan Processing Time

Category: GAUGE
View Type: Dial With Thresholds

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 13

Here are detailed instructions, if you need them:


a. In the second quadrant, click the plus icon and select Create a view.
b. In the Create a view window, enter the following values:
Name: AverageLoanProcessingTime (Reminder: Enter this value after
entering the Display Name.)
Display Name: Average Loan Processing Time
Categories: GAUGE
View Types: Dial With Thresholds

c.

Click Create.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 14

The Average Loan Processing Time view is created, with sample data.

9.

Note: This is just a sample view of the gauge chart. You have not yet defined where
the data should come from.
In the AverageLoanProcessingTime view, create a business query named
ProcessingTimeQuery. Configure the gauge to show the average processing time for
completed loan applications in milliseconds. Set thresholds of 300,000, 600,000, and
(Maximum Value) 900,000.
Answer the following question:

Does the gauge view show actual data? Explain.


Here are detailed instructions, if you need them:
a. Click the Open Query Editor icon at the top-right corner of this view.
b. Click Create a Business Query.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 15

c.

Enter the following values for the fields:


Name: ProcessingTimeQuery (Reminder: Enter this value after entering the
Display Name.)
Display Name: Processing Time Query

d.
e.

f.

g.

Click Create.
In the Data Object field, select oracle/processanalytics/LoanApplication Process this
time. (Recall that for the previous view, you selected
oracle/processanalytics/LoanApplication Activity.)
Under Measures (Y - axis), select Process Running Time (millisecs), and then select
the AVG function.

in the Filters section, click New Filter:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 16

h.

Add a filter to specify that the process name should be LoanProcess:

i.
j.

Click OK.
Add another filter to specify that the process instance status should be COMPLETED:

k.

Click OK.
The two filters have been added.

l. Click Apply, and close the Business Query Editor.


m. To define thresholds for the gauge, start by clicking Business View Actions and
selecting Display Properties:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 17

n.

In the Properties window, select the Thresholds view.


Set the Maximum Value to 900,000.
Set Threshold 1 to 300,000.
Set Threshold 2 to 600,000.

o.

Click the Titles view and define titles for the Gauge Top Label and Gauge Bottom
Label, for example, Gauge and Average Loan Processing Time
(Milliseconds).
Click Apply, and close the Properties window.
The gauge should reflect the thresholds that you have defined with the data that you
have entered over the last few dayscompleted instances only. Here is an example:

p.

Your results may be different.


Question: Does the gauge view show actual data? Explain.
Answer: Yes. BAM has been collecting process instance data throughout the course,
and the gauge view reflects this data. The chart view on the left does not contain data
because it is based on custom metrics, and you have not yet submitted loan
applications using the deployment that includes custom metric configuration.
10. Click Save to save the dashboard.
11. Log out of Oracle BAM Composer.
12. Using Business Process Workspace, submit and process loan applications with the
following Social Security numbers and loan amounts.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 18

Note:

Appendix A has a list of users and associated roles.

At a minimum, enter data for the Borrower Name, Social Security Number, and Loan
Amount fields.

Approve the loan applications as the Loan Processor. You can choose to approve
them or reject them as the Underwriter, but ensure that all five process instances
complete.
Social Security Number

Loan Amount

111-11-1111

8,000

555-55-5555

20,000

888-88-8888

75,000

777-77-7777

150,000

222-22-2222

15,000

13. Log in to Oracle BAM Composer again using the administrator credentials. From the Home
page, open the Loan App Dashboard that you created in the previous practice, and
examine the data.
Note: The Loan App Dashboard is in the LoanAppBAM project.
Answer the following questions for the Loan Profile By Credit Rating chart:

How many loan applications have been disbursed? What are their credit ratings?

How many loan applications have been rejected? What are their credit ratings?
Answer the following questions for the Average Loan Processing Time chart:

What is the average processing time for the Loan Process?

In which range does it fall?


Here are detailed instructions, if you need them:
a. Log in to BAM Composer as the weblogic user.
b. Navigate to the Home page.
c. On the Dashboards tab on the right, click the down arrow next to BPMAnalytics, select
Open Project, select LoanAppBAM, and select Loan App Dashboard.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 19

The Loan App Dashboard opens. Here is an example:

d.

Examine the Loan Profile By Credit Rating view, and answer the questions that were
posed in the task instruction above.
e. Examine the Average Loan Processing Time view, and answer the questions that were
posted in the task instruction above.
14. Close the dashboard window, and log out of Oracle BAM Composer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 18: Creating Real-Time Dashboards Using BAM


Chapter 18 - Page 20

Practices for Lesson 19:


Surfacing KPIs in BA Reports
Chapter 19

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 1

Practices for Lesson 19: Overview


Practices Overview
In this practice, you perform the following tasks:

Creating KPIs in a BPM project

Creating rollup KPIs in a BA project

Generating and displaying a Process Criticality report


You include the following metrics from LoanApplication in a multilevel Process Criticality report:

The total amount of loans disbursed

The average amount of loans disbursed

The number of loans processed (regardless of whether they were disbursed)


Instructions are provided at two levels: high level and detailed. Try to perform the task by using
the high-level instructions. If you need assistance, consult the detailed instructions.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 2

Practice 19-1: Surfacing KPIs in BA Reports


Overview
In this practice, you create KPIs in a BPM project. You use those KPIs to create rollup KPIs in a
BA project, and you roll those up with other KPIs to the top value chain model in the BPM
project. Then you generate a Process Criticality report, display the report, and answer questions
about it.
Follow either the high-level or detailed instructions, not both.

Assumptions
This practice assumes that you have completed Practice 17, "Monitoring Business Processes,"
in which you configured business indicators for LoanApplication. It also assumes that you have
completed Practice 3, in which you imported and modified the Business Architecture for Acme
project.

Tasks
1.
2.

Log in to Business Process Composer as the mtwain user.


Create the following process KPIs in LoanApplication, and associate them with
LoanProcess:

TotalLoanAmount (based on the loanAmount measure, Total, Time Range=365


days, Target Type=Range, accept default target range values)

AverageLoanAmount (based on loanAmount, Average, Time Range=365 days,


Target Type=Range, accept default range values)

AppsProcessed (based on Instance Count, Time Range=365 days, Target


Type=Range, accept default range values)
Here are detailed instructions, if you need them:
a. Open LoanApplication for editing.
b. In the left menu, click KPIs.
c. Click New KPI, enter the name of the KPI, ensure that the Process type is selected,
and select LoanProcess from the Process menu.

d.

Click Create.
The KPI is created:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 3

e.
f.

Click the KPI to open it for editing.


In the KPI Editor, select the appropriate business indicator (loanAmount), operation,
time range, and target type. Here is an example:

g.
h.

Close the KPI Editor and save your changes.


Similarly, create the two other KPIs that are specified in this task.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 4

When you have finished, the three KPIs will be visible in the KPI view:

3.
4.
5.
6.
7.

Validate the project, and fix any errors.


Publish the project, releasing the lock.
Deploy the project as revision 2.1.
Close the LoanApplication project.
Open the "Business Architecture for Acme" project for editing and open the Loan
Application value chain model.
The value chain model should look like the following:

8.

Examine the Car Loans, Student Loans, Jumbo Loans, and Generic Loan Approval value
chain steps and answer the following questions:

Are these value chain steps linked to any processes or other value chains? Explain.

Do these value chain steps have KPIs defined? If so, what type of KPIs are they, and
where does the data come from?
Here are detailed instructions, if you need them:
a. Right-click the Car Loans value chain step and select Properties.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 5

The Links pane of the Properties window indicates that this value chain step is linked to
CarLoansProcess in the Car Loans BPM project:

b.

9.

Click KPIs.
The KPIs view indicates that there are three manual KPIs for the value chain step:

Note: In your environment, the KPIs may appear in a different order.


c. Similarly, examine the properties and KPIs of Student Loans and Jumbo Loans.
Question: Are these value chain steps linked to any processes or other value chains?
Explain.
Answer: Yes, each of these value chain steps is linked to separate BPM processes.
Question: Do these value chain steps have KPIs defined? If so, what type of KPIs are they,
and where does the data come from?
Answer: Yes, they each have three manual KPIs. The values for these KPIs were entered
manually by the editor of the business architecture project.
Link the Generic Loan Approval value chain step to LoanProcess.
Here are detailed instructions, if you need them:
a. Right-click Generic Loan Approval and select Properties.
b. In the Links section of the Properties window, click Create Link.
c. In the first window of the Link Wizard, select the project and click Next.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 6

d.

In the second window of the wizard, select the process and click Finish.

The link is created.


10. Save your changes.
11. Create the following rollup KPIs for Generic Loan Approval:

Total Generic Loan Amount (rolled up from TotalLoanAmount KPI, Target


Type=Range, 200,000 to 800,000)

Average Generic Loan Amount (rolled up from AverageLoanAmount KPI, Target


Type=Range, 30,000 to 50,000)

Number of Generic Loans Processed (rolled up from AppsProcessed KPI,


Target Type=Range, 10 to 30)
Here are detailed instructions, if you need them:
a. With the Properties window for Generic Loan Approval open, click KPIs in the left
navigation menu.
b. Click the Create New KPI icon.
The New KPI for Generic Loan Approval window opens.
c. In the Display Name field, enter Total Generic Loan Amount.
d. Select Rollup from the Type menu.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 7

After a short time, the KPIs that you defined in LoanProcess appear in the Measure
section:

e.
f.

Select the TotalLoanAmount KPI and use the right arrow to move the KPI to the
Selected KPIs pane.
In the Target section, change the Target Type to Range and specify the following
values: 200,000 and 800,000.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 8

When you have finished, the window should look like the following:

g.

Click OK to close the window.


The new KPI is listed:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 9

h.

Similarly, create the other two KPIs:


Average Generic Loan Amount (rolled up from AverageLoanAmount KPI,
Target Type=Range, 30,000 to 50,000)
Number of Generic Loans Processed (rolled up from AppsProcessed KPI,
Target Type=Range, 10 to 30)
When you have finished, the KPI view of the Generic Loan Approval value chain step
should list the three rollup KPIs that you have created:

12. Save your changes.


At this point, there are KPIs defined for four of the six value chain steps in Loan
Application. Three of the KPIs are manual (hard-coded), and one is a rollup of actual
values that will be captured at run time from LoanApplication.
13. Create three rollup KPIs for the entire Loan Application value chain model:

Total Amount All Loans

Average Amount All Loans

Count of All Loans Processed


Base each rollup on the appropriate KPIs from the four value chain steps that have KPIs
defined. Set the Target Type to Range and use the following ranges:

Total Amount All Loans: 4,000,000 to 6,000,000

Average Amount All Loans: 100,000 to 180,000

Count of All Loans Processed: 350 to 500


Hint: Start by double-clicking the background to display properties for the value chain
model and selecting KPIs in the left menu.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 10

Here is a sample screenshot for the definition of the Total Amount All Loans rollup KPI:

When you have finished, the KPI view of the Loan Application value chain model should list
the three rollup KPIs that you have created:

14. Open the Manage Financial Resources value chain model and answer the following
questions:

Are any value chain steps linked to processes or other value chains?

Do any value chain steps have KPIs defined?


Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 11

Here are detailed instructions, if you need them:


a. Click the Project Home tab.
b. In the Value Chain Model view, click Manage Financial Resources.
The Manage Financial Resources value chain model appears:

Question: Are any value chain steps linked to processes or other value chains?
Answer: Yes, the Loan Application value chain step has a link. If you right-click the value
chain step and select Properties, you can see that it is linked to the Loan Application value
chain model. You created this link in Practice 3.
Question: Do any value chain steps have KPIs defined?
Answer: No
15. Create three rollup KPIs for the Loan Application value chain step in Manage Financial
Resources:

Total Amount All Loans Rollup

Average Amount All Loans Rollup

Count of All Loans Processed Rollup


Base each rollup on the appropriate KPI from the Loan Application value chain. Set the
Target Type to Range and use the following ranges:

Total Amount All Loans Rollup: 4,000,000 to 6,000,000

Average Amount All Loans Rollup: 100,000 to 180,000

Count of All Loans Processed Rollup: 350 to 500


When you have finished, the KPI view of the Loan Application value chain step should list
the three rollup KPIs that you have created:

16. Publish the project, releasing the lock.


17. Reopen the project for editing.
18. Publish report data.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 12

Here are detailed instructions, if you need them:


a. From the main menu, select Reports > Publish reports data.
b. In the Publish reports data window, ensure that Current version is selected and that
Snapshot is not selected. Then click OK.
c. When you get confirmation that the report data was successfully published, click OK.
19. Display the Process Criticality Report (All Value Chains view) and answer the following
questions:

In the All Value Chains view, what color is the Loan Application value chain step?
Explain.

Where did the data from Total Amount of All Loans Rollup come from?

What color is the associated indicator, and what target range is in effect?
Note: The All Value Chains view should have a single row for Manage Financial
Resources. If you see multiple rows, close the report, generate report data again, and
redisplay.
Here are detailed instructions, if you need them:
a. From the main menu, select Reports > Business Architecture > Process Criticality
Report.
In a separate browser window, the All Value Chains view of the Process Criticality
report opens. Here is an example.

b.

Note: If the Loan Application box is white, then close the report, close the project
(releasing the lock), log out of Business Process Composer, shut down AdminServer,
restart it, and try again.
Question: In the All Value Chains view, what color is the Loan Application value chain
step? Explain.
Answer: It is yellow, reflecting the worst value in the rollups that it represents. Your
results may be different.
Click the Loan Application value chain step.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 13

Details for the value chain step appear:

c.

Your results may be different.


Place the cursor over the three indicators to display the thresholds.
Here is an example:

Question: Where did the data from Total Amount of All Loans Rollup come from?
Answer: It was rolled up from KPIs one level down, namely at the Loan Application
value chain level.
Question: What color is the associated indicator, and what target range is in effect?
Answer: In our example, the indicator is green. The target range is 4,000,000 to
6,000,000. Above 6,000,000 is red and below 4,000,000 is yellow.
20. Drill down to the Manage Financial Resources level.
Hint: Click the text of the Manage Financial Resources box.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 14

The Manage Financial Resources view opens. Here is an example:

21. Display the rollup values and target ranges for several of the steps in the Loan Application
value chain model including Generic Loan Approval. Answer the following questions:

What color is the Generic Loan Approval value chain step? Explain.

Where did the data from the three KPIs in Generic Loan Approval come from?
Question: What color is the Generic Loan Approval value chain step? Explain.
Answer: In our example, it is yellow, which indicates that at least one indicator is yellow
and no indicators are red. Your results may be different.
Question: Where did the data for the three KPIs in Generic Loan Approval come from?
Answer: Unlike the KPI values for Car Loans, Student Loans, and Jumbo Loans (which
were entered manually), the KPI values for Generic Loan Approval reflect actual runtime
values for the LoanApplication BPM project.
22. Close the Process Criticality report.
23. Close the project, releasing the lock.
24. Log out of Business Process Composer.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 15

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Practices for Lesson 19: Surfacing KPIs in BA Reports


Chapter 19 - Page 16

Appendix A: Users and Roles


Chapter 20

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix A: Users and Roles


Chapter 20 - Page 1

Appendix: Overview
Appendix Overview
This appendix lists the users and associated roles that are used in the practices.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix A: Users and Roles


Chapter 20 - Page 2

Users and Roles


The following table lists the users and associated roles that are used in the practices:
Role

Users

LoanOfficer

jverne, mmitch

LoanProcessor

jlondon, mtwain

Underwriter

eheming, fkafka

LoanAdministrator

wfaulk, wshake

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix A: Users and Roles


Chapter 20 - Page 3

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix A: Users and Roles


Chapter 20 - Page 4

Appendix B: Credit Rating


Web Service Algorithm
Chapter 21

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix B: Credit Rating Web Service Algorithm


Chapter 21 - Page 1

Appendix: Overview
Appendix Overview
This appendix explains the algorithm that is used by the Credit Rating web service.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix B: Credit Rating Web Service Algorithm


Chapter 21 - Page 2

Credit Rating Web Service


The following table describes the algorithm that is used by the Credit Rating web service to
determine the credit rating of a loan applicant:
If the Social Security number begins
with

Then the credit rating that is returned by


the Credit Rating web service is:

0, 1, 2, or 3

POOR

4, 5, or 6

GOOD

7, 8, or 9

EXCELLENT

Note: This algorithm is used for the convenience of the course practices and has no correlation
with actual credit ratings.
Social Security numbers consist of nine digits separated with hyphens, as shown in the
following two examples:

222-33-4444

111-11-1111

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix B: Credit Rating Web Service Algorithm


Chapter 21 - Page 3

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix B: Credit Rating Web Service Algorithm


Chapter 21 - Page 4

Appendix C: CreditRules
Decision Table
Chapter 22

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix C: CreditRules Decision Table


Chapter 22 - Page 1

Appendix: Overview
Appendix Overview
This appendix describes the rules in the CreditRules decision table.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix C: CreditRules Decision Table


Chapter 22 - Page 2

Credit Rules Decision Table


If the CreditRules decision table is correctly designed, it reflects the following rules:
If loan amount is

and credit rating is

then loan approval status is

< 10,000

"POOR"

"MANUAL_APPROVAL"

>= 10,000

"POOR"

"AUTO_REJECTED"

< 10,000

"GOOD"

"AUTO_APPROVED"

>= 10,000

"GOOD"

"MANUAL_APPROVAL"

< 100,000

"EXCELLENT"

"AUTO_APPROVED"

>= 100,000

"EXCELLENT"

"MANUAL_APPROVAL"

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix C: CreditRules Decision Table


Chapter 22 - Page 3

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix C: CreditRules Decision Table


Chapter 22 - Page 4

Appendix D: Troubleshooting
Chapter 23

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix D: Troubleshooting
Chapter 23 - Page 1

Appendix: Overview
Appendix Overview
This appendix contains general troubleshooting tips.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix D: Troubleshooting
Chapter 23 - Page 2

General Troubleshooting Tips


This section lists some general troubleshooting tips. It addresses the following issues:

You try to publish changes in Business Process Composer, but the software reports
that there are no changes to publish.

You open a project in Business Process Composer as the owner, but you cannot open
the project for editing.
1. You try to publish changes in Business Process Composer, but the software reports that
there are no changes to publish.
Workaround:
a. Click Validate, and then try to publish again.
b. If the previous step does not work, make an additional change (for example, moving a
process component) and try to publish again.
2. You open a project in Business Process Composer as the owner, but you cannot open the
project for editing.
Workaround:
a. Log in to Business Process Composer as an administrative user (weblogic).
b. In the upper-right corner, click Modeler view and select Administrator view.
c. In the Administrator view, click Projects.
d. In the Projects view, click the Unlock project icon in the Actions column in the row for
LoanApplication. Any changes that were made since the project was last published will
be discarded.
e. Log out of Business Process Composer as an administrative user.
f. Log in as the project owner, and ensure that you can now open the project for editing.
3. You encounter errors in Business Process Composer, BPM Studio, Business Process
Workspace, or BAM Composer, and the practice documents do not contain a workaround.
Workaround:
a. Save the current changes, close the project or application, log out (if you are using a
browser) or close (if you are using BPM Studio), log back in, and try again.
b. If the problem is in Business Process Composer and the previous step does not work,
try clearing the browser's cache and deleting the browser cookies.
c. If the previous step does not work, reboot AdminServer (stop AdminServer and start it
up again).
d. If the previous step does not work, follow instructions in the
/home/oracle/solutions/README.txt file to use a solution file.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix D: Troubleshooting
Chapter 23 - Page 3

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Appendix D: Troubleshooting
Chapter 23 - Page 4

You might also like