Download as pdf or txt
Download as pdf or txt
You are on page 1of 388

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY.

COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

D83192
Edition 3.0
August 2013
D68637GC30
Student Guide - Volume I
the Process Model
Oracle BPM 11g: Implement

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Authors Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Jill Moritz Disclaimer


Phoebe He
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
Technical Contr ibutors 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
and Reviewer s may not use, share, download, upload, copy, print, display, perform, reproduce,
Mona Rakibe publish, license, post, transmit, or distribute this document in whole or in part without
the express authorization of Oracle.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Meera Srinivasan
The information contained in this document is subject to change without notice. If you
Heidi Buelow find any problems in the document, please report them in writing to: Oracle University,
Mark Nelson 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not
warranted to be error-free.

Graphic Editor Restricted Rights Notice

Seema Bopaiah 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:
Ediitor s
Smita Kommini U.S. GOVERNMENT RIGHTS
The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or
Daniel Milne disclose these training materials are restricted by the terms of the applicable Oracle
license agreement and/or the applicable U.S. Government contract.
Richard Wallis
Trademark Notice
Publisher s Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names
Pavithran Adka may be trademarks of their respective owners.

Nita Brozowski
Jobi Varghese
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Contents

Oracle University and BUSINESS & DECISION LATAM SAC use only
1 Introduction
Objectives 1-2
Target Audience 1-3
Course Description 1-4
Course Goals 1-5
Prerequisite Training 1-7
Prerequisite Skills 1-8
Agenda 1-9
Summary 1-14

2 Overview of Oracle BPM Process Implementation


Objectives 2-2
Topics 2-3
What Is Service-Oriented Architecture? 2-4
Oracle SOA Suite 2-5
Oracle BPM Suite: Layered Over SOA Suite 2-6
Oracle BPM Suite 2-8
Shared Model: What You Model Is What You Execute 2-10
Topics 2-11
Business Process Modeling Notation (BPMN): Concepts 2-12
BPMN Process: Example 2-13
Activity Types 2-14
BPMN Gateways: Exclusive and Parallel 2-16
Other Gateway Types: Inclusive OR Gateway 2-17
Other Gateway Types: Complex Gateway 2-18
Quiz 2-19
Topics 2-20
BPM Life Cycle 2-21
Collaboration 2-22
Typical Development Life Cycle of a Business Process 2-23
Implementing a Process Model 2-24
Developer Tasks to Implement the Model 2-25
Oracle BPM Studio 2-26
BPM Projects Inside BPM Studio 2-28
BPM Component Palette 2-29

iii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Studio: Composite Editor 2-30


Process Consistency Checking 2-31
Quiz 2-32
Topics 2-33
Process Accelerators 2-34
Types of Processes Currently Available 2-35

Oracle University and BUSINESS & DECISION LATAM SAC use only
Topics 2-36
RequestQuote Process: Enter the Quote 2-37
RequestQuote Process: Perform Business Practices Review 2-38
RequestQuote Process: Approve the Quote 2-39
RequestQuote Process: Approve the Terms 2-40
RequestQuote Process: Finalize the Contracts 2-41
RequestQuote Process: Save the Quote 2-42
RequestQuote Process 2-43
Summary 2-45
Practice 2-1 Overview: Creating a Server Connection 2-46
Practice 2-2 Overview: Examining the SalesQuote Project 2-47

3 Collaboration Between Developers and Process Analysts


Objectives 3-2
Topics 3-3
What Do Developers Do to Support the Work of the Process Analyst? 3-4
Collaborative Process Design Workflow 3-5
Metadata Service (MDS) Repository 3-7
MDS Repository 3-8
Sharing Projects by Using the MDS Repository 3-9
Creating a User-Specific Connection to the MDS Repository 3-10
Checking Out and Locking a Project 3-11
Importing and Exporting in BPM Studio 3-12
Saving a BPM Project to the MDS Repository 3-13
Project Saved to MDS Repository: Lock Released 3-14
Project Development Life Cycle 3-15
Quiz 3-16
Topics 3-18
Logging In to Business Process Composer 3-19
Home Page 3-20
BPM Projects in Business Process Composer 3-21
Creating and Importing Oracle BPM Projects 3-22
Project Home Page 3-23
Administering Privileges (1 of 3) 3-24
Administering Privileges (2 of 3) 3-25

iv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Administering Privileges (3 of 3) 3-26


Topics 3-27
Project Templates 3-28
Steps to Create and Use Templates 3-29
Including Reusable Components 3-30
Setting Process-Level Edit Policies 3-31

Oracle University and BUSINESS & DECISION LATAM SAC use only
Setting Activity-Level Edit Policies 3-32
Saving the Template to the MDS Repository 3-33
Quiz 3-34
Process Is Open for Editing 3-35
Topics 3-36
Developer Defines Business Rules for Ease of Modification 3-37
Developer Uses Documentation to Communicate with the Process Analyst 3-38
End-User Documentation 3-39
Internal Documentation 3-40
Entering and Viewing Internal Documentation in BPM Studio 3-41
Internal Documentation: Viewed or Entered in Business Process Composer 3-42
Documenting the Design 3-43
Developer Provides Support for Monitoring 3-44
Extracting Business Information 3-45
Where Monitoring Data Is Sent 3-46
Configuring the Data Targets in BPM Studio 3-47
Setting Up the BAM Adapter to Collect Data 3-48
Clearing the MBean Property 3-49
Configuring OracleBamAdapter 3-50
Configure OracleBamAdapter 3-51
Configuring OracleBamAdapter 3-52
Quiz 3-53
Summary 3-55
Practice 3-1 Overview: Examining and Modifying a Project Template by
Using BPM Studio 3-56
Practice 3-2 Overview: Creating a Template-Based Project by Using
Business Process Composer 3-57

4 Using Business Objects


Objectives 4-2
Topics 4-3
Handling Information in a Process 4-4
Process Instance 4-5
Token 4-6
BPM Processes and Information 4-7

v
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Objects 4-8


Topics 4-9
Data Objects 4-10
Access to Data Objects and Arguments 4-12
Data Object Scope: Example 4-13
Activity Instance Attributes 4-14

Oracle University and BUSINESS & DECISION LATAM SAC use only
Topics 4-15
Data Object Types 4-16
Basic Objects and Business Objects 4-17
RequestQuote: Sample Data Objects 4-18
Business Objects and XML Schema 4-19
XML Schema for a Simple Business Object 4-20
HelloObject.xsd 4-21
Naming Conventions for Data Objects 4-22
Quiz 4-23
Topics 4-24
Data Mapping 4-25
Data Association 4-26
Setting Up Data Mapping 4-27
Data Associations Editor 4-28
Topics 4-30
Overview of “Quote” Data Object of SalesQuoteLab 4-31
Creating a Business Object 4-32
Creating a Business Object by Using JDeveloper 4-33
Enter Name and Destination Module 4-34
Adding Attributes 4-35
Business Objects in the Data Catalog 4-36
Importing an XML Schema 4-37
Topics 4-39
Creating a Process Data Object 4-40
Quiz 4-42
Topics 4-43
Business Indicators 4-44
Three Types of Business Indicators 4-45
Measures 4-46
Dimensions 4-47
Counters 4-48
Steps to Capture Business Relevant Events at Run Time 4-49

vi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Business Indicators 4-50


Quiz 4-51
Summary 4-52
Practice 4-1 Overview: Creating Business Objects 4-53

5 Implementing User Tasks

Oracle University and BUSINESS & DECISION LATAM SAC use only
Objectives 5-2
Topics 5-3
User Interaction 5-4
Human Task Implementation 5-5
Role of the Human Workflow Engine 5-6
Topics 5-7
Creating Human Tasks 5-8
Creating a Human Task by Using the BPM Design Editor 5-9
User Task “Properties” Dialog Box 5-10
“Create Human Task” Dialog Box (1 of 2) 5-11
“Create Human Task” Dialog Box (2 of 2) 5-12
Human Task Data Associations 5-13
Human Task Assignment to User Task 5-15
Human Task Settings 5-16
Human Task Properties: Summary 5-17
Topics 5-18
Patterns and Button Sets 5-19
Sticky User 5-20
Human Task Outcomes 5-21
Topics 5-22
More About Human Task Parameters 5-23
More About Human Task Data Associations 5-24
Mapping Outcome 5-25
Quiz 5-26
Topics 5-27
Task Forms 5-28
Creating a Default Human Task Form 5-29
Task Form in Studio Editor 5-30
Application Navigator View of Task Flow 5-31
Task Flow 5-32
Summary 5-33
Practice 5-1 Overview: Implementing the GetQuoteRequest User Task 5-34
Practice 5-2 Overview: Implementing the Remaining User Tasks 5-35

vii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

6 Writing Expressions and Initializing Variables


Objectives 6-2
Topics 6-3
Modifying Variable Values 6-4
Types of Data Modifications 6-5
Expressions Used in Human Tasks 6-6

Oracle University and BUSINESS & DECISION LATAM SAC use only
Topics 6-7
Simple Expression in a Data Association 6-8
Simple Expression 6-9
Variables in Workspace 6-10
Simple Expression Editor 6-11
Topics 6-12
Script Task 6-13
Expressions Used in a Script Task 6-14
Data Associations in a Script Task 6-15
Expression Editor 6-16
Quiz 6-17
Topics 6-18
XSL Transformations 6-19
Using Transformations 6-20
Creating a Transformation File 6-21
Using the Transformation Editor 6-22
Modifying the Mapped Elements 6-23
Testing the Transformation 6-24
XSL Transformation: Example 6-25
Topics 6-26
Using XPath in Human Task Titles 6-27
Expression Builder 6-28
XPath: Example 6-29
Modified Title 6-30
Topics 6-31
Conditional Transitions 6-32
Mapping the outcome Parameter 6-33
Conditional Transition (Simple) 6-34
Conditional Transition (XPath) 6-35
Quiz 6-36
Summary 6-37
Practice 6-1 Overview: Initializing the Quote 6-38
Practice 6-2 Overview: Defining Conditions for Conditional Transitions 6-39
Practice 6-3 Overview: Deploying and Testing the Process 6-40
Practice 6-4 Overview: Adding Date and User Information Dynamically 6-41

viii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

7 Creating Web Forms in Business Process Composer


Objectives 7-2
Topics 7-3
What Is an Oracle Web Form? 7-4
Oracle BPM Task Forms 7-5
Web Form: Architecture 7-6

Oracle University and BUSINESS & DECISION LATAM SAC use only
Web Form: Life Cycle 7-7
Technology for Oracle Web Forms 7-8
Topics 7-9
Web Form Designer 7-10
Web Form Toolbar 7-11
Component Palette 7-12
Properties Editor 7-13
Quiz 7-14
Topics 7-15
Creating Web Forms: Two Approaches 7-16
Form-First Workflow 7-17
Step 1: Creating a Web Form and Opening It for Editing 7-18
Adding Controls to the Web Form 7-19
Which Type of Control Was Used in Each Case? 7-20
Customizing Web Form Properties 7-21
Customizing Web Form Control Properties 7-22
Creating Form Rules (Optional) 7-23
Testing the Web Form 7-24
Step 2: Associating the Web Form to a Human Task 7-25
Resulting Task Data 7-26
Data-First Workflow 7-27
Step 1: Creating a Web Form for a Human Task Based on Its Payload 7-28
Step 2: Opening the Form for Editing 7-29
Using the Data Sources Tab to Add Data Elements 7-30
Topics 7-31
Review: Component Palette 7-32
Input Controls 7-33
Default Data Types for Input Controls 7-34
Selection Controls 7-35
Group Controls 7-36
Other Controls 7-37
Quiz 7-38
Topics 7-39
Web Form Properties 7-40
Web Form Control Properties: Settings Tab for Text Control 7-41

ix
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Control Properties: Settings Tab for Other Controls 7-43
Patterns 7-44
Dynamic Text 7-45
Dynamic HTML 7-46
Web Form Control Properties: Style Tab 7-47
Tips 7-48

Oracle University and BUSINESS & DECISION LATAM SAC use only
Practice 7-1 Overview: Creating a Web Form for an Existing Human Task 7-49
Topics 7-50
Review: Creating Form Rules 7-51
Adding Form Rules to a Web Form 7-52
General Steps to Create a Form Rule 7-53
JavaScript Syntax: if-else Statement 7-54
JavaScript Syntax: while Loop 7-55
JavaScript Syntax: for Loop 7-56
Working with Form Rule Identifiers 7-57
Debugging Form Rules 7-58
Summary 7-59
Practice 7-2 Overview: Adding Form Rules to the Web Form 7-60

8 Implementing Business Rule Tasks


Objectives 8-2
Topics 8-3
Dynamic Process Flow 8-4
Advantages of Using Business Rules 8-5
Business Rules Engine 8-6
Business Rules Activity 8-7
Topics 8-8
Two Ways to Work with Rules 8-9
Ruleset 8-10
Rules Editor: Facts 8-11
Ruleset: Example 8-12
Determining Which Rule Fired 8-13
Rules Editor: Decision Table 8-14
Determining Which Decision Table Rule Fired 8-15
Additional Conditions 8-16
Gap Analysis 8-17
Conflict Resolution 8-18
Conflict Resolved 8-19
Quiz 8-20
Topics 8-21
Local Bucketsets 8-22

x
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Aliases 8-23
Creating Bucketsets 8-24
Topics 8-25
Globals 8-26
Creating and Using Globals 8-27
Final and Nonfinal Globals 8-28

Oracle University and BUSINESS & DECISION LATAM SAC use only
Functions 8-29
Topics 8-30
Creating a Business Rule 8-31
Adding Input and Output Data Objects 8-32
Data Associations 8-33
Checking Data Associations 8-34
Opening the Business Rule in the Main Canvas 8-35
Topics 8-36
Testing Business Rules 8-37
Running the Process from the Workspace 8-38
Running Decision Service from Enterprise Manager 8-39
Running Rules Engine from RL Function 8-40
RL Testrules Function: Line by Line 8-41
Topics 8-42
Business User: Editing Deployed Business Rules at Run Time 8-43
Similar Interfaces to Create Business Rules 8-44
Best Practice: Define the Vocabulary for a More Intuitive Interface 8-45
Defining Vocabulary: Business-Friendly Aliases 8-46
Defining Vocabulary: Simplify the Environment 8-47
Defining Vocabulary: Business-Friendly Custom Operators 8-48
Comparison of BPM Studio Functionality with Business Process Composer 8-49
Summary 8-50
Practice 8-1 Overview: Creating a Business Rule Dictionary 8-51
Practice 8-2 Overview: Creating a Decision Table 8-52
Practice 8-3 Overview: Testing the Business Rule 8-53

9 Defining Human Workflows


Objectives 9-2
Topics 9-3
What Is Human Workflow? 9-4
Workflow Architecture 9-5
Human Workflow: Features 9-8
Quiz 9-10
Topics 9-11
Human Workflow in a BPM Process 9-12

xi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Editor 9-13


Topics 9-14
Patterns in Human Workflow 9-15
Defining a Human Workflow: How and Who 9-16
Stages Defining Participant Routing 9-17
Participant Routing Patterns 9-18

Oracle University and BUSINESS & DECISION LATAM SAC use only
Stage Type and the Human Task Pattern 9-20
Human Task Types 9-21
Defining a Stage 9-22
Participant Lists 9-23
Building Participant Lists: Names and Expressions 9-24
Building Participant Lists: Management Chain 9-25
Building Participant Lists: Approval Groups 9-26
Building Participant Lists: Parametric Roles 9-27
Building Participant Lists 9-28
Skipping Stages 9-29
Previous Performer 9-30
Excluding Previous Performer 9-31
Topics 9-32
Identities, Application Roles, and Approval Groups 9-33
Application Roles and Approval Groups 9-34
Defining Application Roles and Approval Groups in BPM Workspace 9-35
Quiz 9-36
Topics 9-37
Parametric Roles 9-38
Steps for Implementing Parametric Roles with Extended User Properties 9-39
1. Define Extended User Properties 9-40
2. Create Parametric Role 9-41
3. Use Parametric Role in Task Assignment 9-42
Quiz 9-43
Topics 9-44
Stakeholders 9-45
Expiration and Escalation Policy 9-47
Notifications and Reminders 9-48
Task Security: Role-Based Visibility, Access, and Digital Signatures 9-49
Topics 9-50
“Approve Deal” Human Workflow 9-51
“Approve Deal” Human Workflow: Tier 3 9-54
“Approve Deal” Human Workflow: Tier 2 9-55
“Approve Deal” Human Workflow: Tier 1 9-56
“Approve Deal” Human Workflow: Skip 9-57

xii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary 9-58
Practice 9-1 Overview: Implementing the “Approve Deal” Human Workflow 9-59
Practice 9-2 Overview: Testing the Approval Workflow 9-60

10 Implementing Service Tasks


Objectives 10-2

Oracle University and BUSINESS & DECISION LATAM SAC use only
Topics 10-3
SOA Components: Overview 10-4
Composite Application Structure 10-5
External References 10-6
Exposed Services 10-7
Interpreting the Composite Application Diagram 10-8
Adapter Services 10-9
Adapter Services in the BPMN Process 10-10
Mediators 10-11
BPEL Processes 10-12
Topics 10-13
Implementing a File Adapter 10-14
Defining a Service Reference 10-15
Service Name 10-16
Adapter Interface 10-17
Operation Type 10-18
File Configuration 10-19
Message Schema 10-21
Choosing the Schema 10-22
Finishing the Adapter Configuration Wizard 10-23
Viewing File Adapter in the Composite Editor 10-24
Binding the Service Task Implementation 10-25
Mapping Output Data 10-26
Checking the Binding in the Composite Editor 10-27
The initialize.xml File 10-28
Workspace Showing Initialized HelloObject 10-29
Quiz 10-30
Topics 10-31
Using Exposed Services to Test Business Rules 10-32
Creating the Exposed Service 10-33
Testing Business Rules in Enterprise Manager 10-34
Using a Mediator to Change the Input to a Service 10-35
Mediator Setup 10-36
Topics 10-37
Notification Tasks 10-38

xiii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Notification Sender 10-39


Enabling Notification in Enterprise Manager 10-40
Configuring Workflow Notification in the Task Editor 10-41
Using the Email Notification Activity 10-42
Email Sent from Notification Activity: Example 10-43
Collaboration Support 10-44

Oracle University and BUSINESS & DECISION LATAM SAC use only
Summary 10-45
Practice 10-1 Overview: Implementing the File Adapter Service 10-46
Practice 10-2 Overview: Sending an Email Notification to a User 10-47
Practice 10-3 Overview: Using a Service Task to Invoke a BPEL Process 10-48
Practice 10-4 Overview: Implementing and Testing the SaveQuote
Service Activity 10-49

11 Overview of Events
Objectives 11-2
Topics 11-3
BPMN Events 11-4
Types of Events 11-5
Catch Events 11-6
Throw Events 11-7
Topics 11-8
Start Event Types 11-9
None Start 11-10
Message Start 11-11
Signal Start 11-12
Timer Start 11-13
Multiple Start Events: Example 11-14
Quiz 11-15
Topics 11-16
End Events 11-17
None End 11-18
Message End 11-19
Other End Events 11-20
Quiz 11-21
Topics 11-22
Intermediate Events: Overview 11-23
Boundary Events 11-24
Different Types of Intermediate Events 11-25
Boundary Catch Events 11-26
Quiz 11-27
Topics 11-28

xiv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Timer Events: Overview 11-29


Using a Timer Event to Block and Delay 11-30
Using a Timer Event to Set a Deadline 11-31
Topics 11-32
Signal Events: Overview 11-33
Event Delivery Network: Introduction 11-34

Oracle University and BUSINESS & DECISION LATAM SAC use only
Broadcasting and Receiving a Signal Event 11-35
Topics 11-37
Event-Based Gateway 11-38
Using an XOR Event Gateway: Example 11-39
Summary 11-40
Practice 11-1 Overview: Adding a Timer Event to a Business Process 11-41

12 Controlling and Organizing the Process Flow


Objectives 12-2
Topics 12-3
Some Best Practices 12-4
Process Example 12-6
Topics 12-8
Subprocesses: Overview 12-9
Embedded Subprocess 12-10
Configuring a Subprocess to Execute in a Loop 12-11
Configuring a Subprocess as a Multi-Instance Loop Based on Cardinality 12-12
Configuring a Subprocess to Iterate Over a Collection of Instances 12-13
Quiz 12-14
Reusable Subprocess 12-15
Reusable Versus Embedded Subprocesses 12-16
Event Subprocess 12-17
Error Event Subprocess 12-18
Timer Event Subprocess 12-19
Message Event Subprocess 12-20
Quiz 12-21
Topics 12-22
Happy Path 12-23
Designing Beyond the Happy Path 12-24
Cancelling a Process Instance 12-25
Suspending a User Task During a Fraud Investigation 12-26
Update Task 12-27
Quiz 12-29
Topics 12-30
Process Interactions 12-31

xv
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Sending a Message 12-32


Receiving a Message 12-33
Asynchronous Invocation Using Throw/Catch Message Events 12-34
Conversation 12-35
Some Common BPMN Conversation Types 12-36
Triggering a Process: Example 1 Using the Default Conversation 12-37

Oracle University and BUSINESS & DECISION LATAM SAC use only
Triggering a Process: Example 2 Using Multiple Start Events 12-38
Triggering a Process: Example 3 Multiple Start Events: Different
Conversations 12-39
Triggering an Instance: Example 3 12-40
Exposing a Synchronous BPMN Process 12-41
Quiz 12-42
Correlation: Identifying the Correct Instance of a Process 12-43
Some Use Cases Where Correlation Would Apply 12-44
Creating a Correlation Key 12-45
Implementing a Correlation Key in a Conversation 12-46
Topics 12-47
Troubleshooting with Log Handlers 12-48
Activity Log Handler 12-49
Best Practice: Team Development 12-50
Summary 12-51
Topics 12-53
Practice 12-1 Overview: Using Multi-Instance Loops and
Embedded Subprocesses 12-54
Practice 12-2 Overview: Using Event Subprocess to Model Cancellation
and Modification Scenarios 12-55
Topics 12-56
Automating a Business Process 12-57
Case Management 12-58
How Is Adaptive Case Management Used with BPM? 12-59
Creating a Case Management in Studio 12-60
Elements of Case Management 12-61
High-Level Architecture 12-62
Typical Execution Flow 12-63
Summary of Case Management 12-64

13 Handling Exceptions in the BPM Process


Objectives 13-2
Topics 13-3
Exception Handling in BPM 13-4
Types of Errors 13-5

xvi
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics 13-6
Types of Exceptions in BPM 13-7
Business Exception 13-8
Creating a Business Exception 13-9
Topics 13-10
Scope in Exception Handling 13-11

Oracle University and BUSINESS & DECISION LATAM SAC use only
Types of Error Events 13-12
What Happens to the Token at Run Time? 13-13
Activity Error Handling: Example 13-14
Embedded Subprocess Error Handling: Example 13-15
Error Handling for a Reusable Subprocess: Example 13-16
Error Handling for Entire Process: Example 13-17
Quiz 13-19
Topics 13-20
Adding a Boundary Error Event to an Activity 13-21
More on System Exceptions 13-22
Adding an Exception Flow 13-23
Topics 13-24
Scenario: Example 13-25
Create an Error Event Subprocess 13-26
Trap the Error Information for Logging 13-28
Map Error Information to Process Data Objects 13-29
Topics 13-30
When an End Event Raises an Exception 13-31
Correct Way to Model a Message Fault Thrown from a Peer Process 13-32
Quiz 13-33
Topics 13-34
Policy-Driven Exception Handling 13-35
Benefits of Using the Fault Management Framework 13-36
Anatomy of a Fault Handling Policy 13-37
XML for Fault Handling Policy fault-policies.xml 13-38
Recovery Actions 13-39
Human Intervention: Console Recovery 13-40
Recovery Actions 13-41
Java Action 13-42
Quiz 13-43
Exception Handling Best Practices 13-44
Summary 13-45
Practice 13-1 Overview: Handling Exceptions Thrown From a
Reusable Subprocess 13-46
Practice 13-2 Overview: Handling Exceptions with an Event Subprocess 13-47

xvii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

14 Developing the User Interface by Using ADF


Objectives 14-2
Topics 14-3
Why ADF? 14-4
Common Development Framework: Oracle Application

Oracle University and BUSINESS & DECISION LATAM SAC use only
Development Framework 14-5
Oracle ADF: The Bigger Picture 14-6
ADF Faces Rich Client Components 14-7
ADF Controller 14-8
ADF Data Controls and Binding 14-9
Most Commonly Used Data Controls in BPM 14-10
BPM Data Control 14-11
ADF in a BPM Context 14-12
ADF BC Data Control 14-13
Other Built-In Data Controls 14-14
Fundamental JSF Concepts 14-15
Quiz 14-16
Topics 14-17
Oracle BPM Task Forms 14-18
Options for Creating ADF Task Forms 14-19
Options for Generating an ADF Task Form 14-20
Quiz 14-21
Topics 14-22
Development Tools 14-23
ADF Faces Components 14-24
Page Editor: Design View 14-25
Structure Panel 14-26
Property Inspector 14-27
ADF Page Templates 14-28
Page Elements 14-29
Containers Used to Construct a Page 14-30
Editing the Page: Selecting a Component 14-31
Editing the Page: Setting Component Properties 14-32
Quiz 14-33
Topics 14-34
Review of Deployment 14-35
Deployment Profile 14-36
Best Practice: Using the Integrated WebLogic Server 14-37
Deploying and Testing UI Changes 14-38
Run the Process in BPM Workspace 14-39

xviii
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

What Happens at Deployment? 14-40


Summary of ADF Development 14-41
Topics 14-42
Lab Preparation 14-43
Practice 14-1 Overview: Creating a Task Form by Using the Task
Form Wizard 14-45

Oracle University and BUSINESS & DECISION LATAM SAC use only
Topics 14-46
Reason for Using Task Flows 14-47
Components of a Task Flow 14-48
Bounded and Unbounded Task Flows 14-49
Task Flows in a BPM Process 14-50
Creating a Task Flow Based on a Human Task 14-51
Quiz 14-54
Building Pages for Each View Component 14-55
Quick Start Layouts 14-56
Adding Content to the Page 14-57
Adding Content from the Components Palette 14-58
Adding Content from the Data Controls Panel 14-59
Topics 14-60
UI Developer: Divide and Conquer 14-61
How Does It Work? 14-62
Merging the Applications 14-63
Topics 14-64
Preparation for Lab 14-2 14-65
Summary of ADF Task Flows and Parallel Development 14-67
Practice 14-2 Overview: Creating an ADF Task Flow Based on a
Human Task 14-68
Practice 14-3 Overview: Implementing Parallel Development of the
User Interface 14-69

15 User Interface Options


Objectives 15-2
Topics 15-3
Options for Making Your Own Process UI 15-4
Topics 15-5
Customizing the ADF Workspace 15-6
Applying a Resource Bundle 15-7
General Steps to Create a Custom Resource Bundle 15-8
Specifying Language Locale Information and User Name Format 15-9
Changing Title and Logo 15-10
Changing the Skin 15-11

xix
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Selecting Provided Skins 15-12


Importing a Custom Skin 15-13
Specifying an Image for a Task Action 15-14
Customizing Theme for Web Forms 15-15
Customizing Panels 15-16
Adding Custom Panels 15-17

Oracle University and BUSINESS & DECISION LATAM SAC use only
Customizing Task Tables with Human Workflow Mapped
Attributes (Flex Fields) 15-18
Creating Flex Fields 15-19
Step 1: Creating Flex Field Labels 15-20
Step 2: Mapping the Payload to the Attribute 15-21
Displaying Flex Fields as Columns 15-23
Step 1: Creating a Custom View 15-24
Step 2: Selecting the Column to Display 15-25
Quiz 15-26
Topics 15-27
Custom UIs and APIs 15-28
Starting a Process via an Initiator Task 15-29
Creating an ADF Custom UI 15-36
Include the Custom ADF Task Flow Library 15-37
Creating a Non-ADF Custom UI 15-39
Creating a Custom UI by Using Spring Web MVC 15-40
Topics 15-41
Process Spaces Alternative Workspace 15-42
Home Page 15-44
Tracking Page 15-45
Summary 15-46
Topics 15-47
Practice 15-1 Overview: Customizing the Workspace as Administrator in
Oracle BPM Workspace 15-48
Practice 15-2 Overview: Creating a Custom Skin and Customization Class by
Using Oracle ADF Skin Editor and JDeveloper 15-49
Practice 15-3 Overview: Deploying the Custom Skin and Applying It to
Oracle BPM Workspace 15-50
Topics 15-51
Human Workflow (HWF) API 15-52
HWF API Service: Overview 15-53
BPM API 15-54
BPM API Service: Overview 15-55
Acquiring Service Client and Context 15-56
Getting a List of “Initiable” Processes 15-57

xx
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz 15-72
Initiating a Process Instance 15-58

xxi
How BPM and HWF API Work Together 15-59

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

xxii
Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

I t d ti
Introduction

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

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• Describe the target audience for the course and the

Oracle University and BUSINESS & DECISION LATAM SAC use only
suggested prerequisites
• List the course goals
• List the course lessons and suggested schedule

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

Oracle BPM 11g: Implement the Process Model 1 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Target Audience

• Process developers
• Developers

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Application developers
• SOA developers
• Architects

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

Oracle BPM 11g: Implement the Process Model 1 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Course Description

• In this course, you learn how to use Oracle Business


Process Management (Oracle BPM) to implement a

Oracle University and BUSINESS & DECISION LATAM SAC use only
process model, support the efforts of process analyst and
collaborators, create user interfaces, and deploy business
processes.
• You use four primary tools:
– Oracle BPM Studio
– Oracle Business Process Composer
– Oracle Enterprise Manager
– Oracle Business Process Workspace

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

In this course, you learn how to use Oracle BPM to implement a process model, support
users of Business Process Composer (typically these are process analysts), create user
interfaces, and deploy business processes.

Oracle BPM 11g: Implement the Process Model 1 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Course Goals

After completing this course, you should be able to:


• Describe the architecture of Oracle BPM Suite

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Collaborate with Business Process Composer users
• Implement a user task by using default BPM human task
forms
• Use Business Process Composer to create web forms and
customize them using form rules
• Create complex business rules by using decision tables
• Define data associations by using data objects and
expressions
• Create expressions to define conditional branching
• Define approval flows by using the SOA human workflow
editor
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 1 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Course Goals

• Implement service tasks


• Create an ADF task flow for more complex user interaction

Oracle University and BUSINESS & DECISION LATAM SAC use only
with human tasks
• Customize BPM Workspace by using both the
administrative interface and custom skins
• Expose a BPMN process as a service
• Send and receive messages to another process,
subprocess, or peer process
• H dl exceptions
Handle ti th
thrown ffrom iinside
id th
the process or ffrom
an external source
• Use a Notification activity to send an email from a process
• Describe the available options for creating a completely
custom user interface for the BPM process

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

Oracle BPM 11g: Implement the Process Model 1 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Prerequisite Training

• The following (or equivalent) experience is required:


– D66123GC30 Oracle BPM 11g Modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Oracle By Example (OBE): Building Your First Process with
g
Oracle BPM 11g
• The following courses are also helpful as preparation for
this course:
– D58786GC10 Oracle SOA Suite 11g: Essentials Concepts
– XML Fundamentals Ed 1 (D64794GC10)
– OBPM 11g Essentials – (D71817GC10

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

Oracle BPM 11g: Implement the Process Model 1 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Prerequisite Skills

• Experience creating process models using the Oracle BPM


modeling tools (Business Process Composer or BPM

Oracle University and BUSINESS & DECISION LATAM SAC use only
Studio)
• Experience
p executing
gap process instance in the Oracle
BPM Workspace
• Familiarity with web application and web service
architectures and technologies such as XML, XSLT, Java
Server Faces (JSF), JMS, and various web communication
p
protocols
• Experience with JDeveloper or other Java IDEs
• Familiarity with object-oriented language concepts
• Familiarity (and some experience programming) with
JavaScript

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

Oracle BPM 11g: Implement the Process Model 1 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Agenda

Day 1
• Lesson 1: Introduction

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Lesson 2: Overview of OBPM Process Implementation
• Practices for Lesson 2
• Lesson 3: Collaboration Between Developers and Process
Analysts
• Practices for Lesson 3
• Lesson 4: Using Business Objects
• Practices for Lesson 4
• Lesson 5: Implementing User Tasks
• Practices for Lesson 5

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

Oracle BPM 11g: Implement the Process Model 1 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Agenda

Day 2
• Lesson 6 : Writing Expressions and Initializing Variables

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Practices for Lesson 6
• Lesson 7 : Creating Web Forms in Business Process
Composer
• Practices for Lesson 7
• Lesson 8: Implementing Business Rule Tasks
• Practices for Lesson 8

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

Oracle BPM 11g: Implement the Process Model 1 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Agenda

Day 3
• Lesson 9: Defining Human Workflows

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Practices for Lesson 9
• Lesson 10: Implementing Service Tasks
• Practices for Lesson 10
• Lesson 11: Overview of Events
• Practices for Lesson 11

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

Oracle BPM 11g: Implement the Process Model 1 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Agenda

Day 4
• Lesson 12: Controlling and Organizing the Process Flow

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Practices for Lesson 12
• Lesson 13: Handling Exceptions in the BPM Process
• Practices for Lesson 13

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

Oracle BPM 11g: Implement the Process Model 1 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Agenda

Day 5
• Lesson 14: Developing the User Interface by Using ADF

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Practices for Lesson 14
• Lesson 15: User Interface Options
• Practices for Lesson 15

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

Oracle BPM 11g: Implement the Process Model 1 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• Describe the target audience for the course and the

Oracle University and BUSINESS & DECISION LATAM SAC use only
suggested prerequisites
• List the course goals
• List the course lessons and suggested schedule

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

Oracle BPM 11g: Implement the Process Model 1 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

O i
Overview O
off Oracle
l BPM
Process Implementation

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

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• Describe how Oracle BPM fits into the Oracle SOA Suite

Oracle University and BUSINESS & DECISION LATAM SAC use only
architecture
• List and describe several types of event
event, gateway
gateway, and
activity modeling elements used in an Oracle BPM process
• List and describe the function of each of the components
of Oracle BPM Suite
• List some of the tasks that a developer performs when
implementing a process model
• Explain the purpose of each of the different navigator
panels and palettes that are used in BPM Studio

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

Oracle BPM 11g: Implement the Process Model 2 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Review of Oracle BPM architecture


• Review of BPMN modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process

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

Oracle BPM 11g: Implement the Process Model 2 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

What Is Service-Oriented Architecture?

The Challenge The Solution

Oracle University and BUSINESS & DECISION LATAM SAC use only
Greater flexibility and Service-oriented
Service oriented architecture
speed (SOA):
• Is a flexible, adaptable IT
infrastructure
• Separates business functions
into distinct units (or services)
• Facilitates modular
development, easy
integration, and reuse

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

Consider one of the major challenges that enterprises face today. They need to predict
change, respond rapidly, and exploit their organizational assets for growth.
The solution is service
service-oriented
oriented architecture (SOA). By its very nature, SOA helps overcome
the complexity of application and IT environments and facilitates the development of
enterprise applications as modular business web services that can easily be integrated and
reused.

Oracle BPM 11g: Implement the Process Model 2 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle SOA Suite


MDS

Oracle University and BUSINESS & DECISION LATAM SAC use only
JDeveloper
EM Console

SOA Run Time


B2B
BPEL
Engine
Human Business Mediator
Process Core Workflow Rules

SOA Infrastructure
Oracle WebLogic Server
Oracle BAM

Oracle Service Bus

Microsoft IBM Oracle SAP Siebel PeopleSoft

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

Oracle SOA Suite offers a comprehensive set of components for designing, deploying, and
managing composite applications. The benefit of composites is that they allow you to easily
assemble multiple technology components into a single SOA composite application. Oracle
SOA Suite plugs in to many different kinds of IT infrastructures and allows enterprises to
migrate to SOA incrementally, as their needs and resources permit.
Oracle SOA Suite also offers the following features:
• Single model, single run time
• Integration, services, and event infrastructure
• Unified administration and policy y management
g
• Extreme performance and scalability

Oracle BPM 11g: Implement the Process Model 2 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle BPM Suite: Layered Over SOA Suite


MDS

BPM Studio
Plug-In

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Process JDeveloper
Composer EM Console

Oracle BPM Run Time


B2B
BPEL BPMN
Engine Engine
Human Business Mediator
Process Core Workflow Rules

Business Process
SOA Infrastructure Workspace
Oracle WebLogic Server
Oracle BAM

Oracle Service Bus Process Spaces

Microsoft IBM Oracle SAP Siebel PeopleSoft

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

Oracle Business Process Management (BPM) Suite is layered over Oracle SOA Suite, shares
all of SOA Suite’s product components, and provides an integrated environment for
developing, administering, and using business applications that are centered around business
processes.
• Oracle BPM Run Time provides the runtime environment for running business
processes. It is standards based, supporting BPMN 2.0, Business Process Execution
Language (BPEL), and WS-HumanTask. Because the BPM Run Time is layered on
SOA 11g, it provides enterprise-grade performance, scalability, reliability, and
manageability.
• The BPMN engine plugs in to the process core of the service infrastructure and
provides an environment for running the BPMN processes. The BPEL engine runs the
BPEL processes. The process core provides essential functionality to both types of
processes, including managing persistence, generating audit trails, invoking services,
and managing security.
• As their names suggest, the Human Workflow engine handles human participation in a
BPM process, and the Business Rules engine enforces policies originally defined by
business users. Business rules can be quite sophisticated, including
rules-based service selection, rules-based task routing, and rules-based alert handling.

Oracle BPM 11g: Implement the Process Model 2 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Business Process Composer is a web-based modeling tool used by process analysts.
It enables these users to design a process, perform basic implementation, create web
forms, and customize business processes using a simple web-based tool. These users
can also change business rules at run time, providing the agility that businesses need to
react to policy changes. BPM Studio and Business Process Composer share BPM
projects by using a partition in the Metadata Service (MDS) repository, where they are
stored pending deployment to Oracle BPM Run Time.
• BPM Studio is the primary tool for developers. It is implemented as a plug-in to

Oracle University and BUSINESS & DECISION LATAM SAC use only
JDeveloper, which is the primary IDE (integrated development environment) used by
developers of Oracle Fusion Middleware (FMW). As such, it provides access to the
p
zero-code adapters, , transformations,, and other capabilities
p of SOA. Developers
p use it to
complete the implementation, enhance the process model, and create more complex
task flows and webpages.

Oracle BPM 11g: Implement the Process Model 2 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle BPM Suite


Modeling Simulation
Modeling, Simulation, Basic
Implementation, Playing, Deployment
• Planning and Strategy Modeling, Simulation, Full
• Analysis and Design Implementation, Deployment

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Process Composer

BPM Studio

Oracle BAM Business Process Workspace


Business Process Workspace Process Spaces

• Execution
Monitoring and Analysis Enterprise Manager
Business Process Composer
• Collaborative Work
Business Process Workspace • Management
Administration and Management

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

The slide shows Oracle BPM products superimposed on the BPM life cycle. The tools of
Oracle BPM Suite extend far beyond modeling and implementation, and support each phase
of the Oracle BPM life cycle.
For example, Process Spaces is a collaborative workspace built on top of Oracle WebCenter
Spaces. It facilitates collaboration, offering document sharing, discussions, wikis, lists, links,
tagging, and real-time collaboration services such as presence and instant messaging.
Enterprise Manager provides access to all deployed SOA composite applications, service
engines, service components, and other elements. SOA administrators can manage faults,
retire old deployments, deploy new composites, view performance statistics, and perform
many other administrative tasks.
tasks
In the Administration view of Business Process Composer, BPM administrators can create
and manage Process Composer roles, delete and release locks on BPM projects, and import
and delete project templates.
In the Administration view of Business Process Workspace, BPM administrators can create
and manage BPM roles, organizational units, and approval groups; update human workflow
rules at run time; resolve failed human tasks (for example, by reassigning them); and perform
other
th administrative
d i i t ti tasks
t k that
th t are specific
ifi to
t Oracle
O l BPM.
BPM
Note: BPM Studio and Business Process Composer are described in the previous slide.

Oracle BPM 11g: Implement the Process Model 2 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Process Spaces, which is built on Oracle WebCenter Spaces, is a collaborative tool
that allows further customization of a process. You can also embed components from
Business Process Workspace and Business Process Composer in Process Spaces.
• Enterprise
p Manager
g is the web-based administration and management
g tool for all
Oracle FMW products.
• Business Process Workspace is the primary user interface that end users use to
participate in a business process. It includes a number of administrative features, and it
can be used to display monitoring data. Common process monitoring statistics are

Oracle University and BUSINESS & DECISION LATAM SAC use only
collected by default, and process analysts can also specify the business indicators that
they want to capture, measure, and analyze.
• Oracle Business Activity Monitoring (BAM) is a piece of the SOA infrastructure that
can be leveraged by BPM. Oracle BAM provides real-time monitoring of business
services and processes in the enterprise.

Oracle BPM 11g: Implement the Process Model 2 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Shared Model:
What You Model Is What You Execute

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business IT

Process Composer
Single
BPM Studio
Process
Model
Process End
Owners Users

Process Analytics Process Spaces

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

Oracle BPM facilitates collaboration by providing tools that allow all participants to share the same
process model. Collaboration is seamless, and nothing is lost in translation. In essence, the process
model is the executable as well as the monitoring model.

Oracle BPM 11g: Implement the Process Model 2 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Review of Oracle BPM architecture


• Review of BPMN modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process

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

Although a BPM process can be modeled using either Business Process Composer or BPM
Studio, the primary tool for this purpose is Business Process Composer. In this course, we do
not teach modeling because the typical developer using BPM Studio is focused on the
implementation of the process model.
In this section, however, we provide a review of the basic constructs and concepts of BPMN.

Oracle BPM 11g: Implement the Process Model 2 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business Process
Modeling Notation (BPMN): Concepts
BPMN consists of three main types of elements (flow objects):
• Activities: Represent work to be done

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Gateways: Control flow logic of the process; are used to
split and merge paths
• Events: Support asynchronous communication with other
processes, error handling, and flow logic
Elements are placed along a sequence flow.
• Used to show the order in which activities are performed
in a process
Start Event Activity (Task) Sequence Flows (Transition) End Event

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

A process describes a sequence or flow of activities in an organization; the objective is the


completion of some type of work. A process is depicted as a graph of objects that are
collectively called “flow objects.” These comprise a set of activities, events, and gateways that
are placed along a sequence flow. The graphic in the slide shows a simple, generic BPMN
process beginning with a Start event and followed by several activities along a sequence flow,
ending with an End event.
Note that activities are sometimes referred to as “tasks,” and sequence flows are also called
“transitions.”
The following slides describe the different types of activities and gateways. Events are
coveredd iin th
the llesson titl
titled
d “O
“Overview
i off E
Events.”
t ”

Oracle BPM 11g: Implement the Process Model 2 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPMN Process: Example

Service Task

User Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
Rules Task

Lane

System steps, gateways,


and events can be
placed
l d iin any llane.

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

The slide shows a simple BPMN process in the BPM Studio design editor. The four user
tasks, one service task, and one rules task are arranged on a sequence flow that spans
several “lanes.” The lanes provide a visual means of categorizing process activities based on
roles.
• A user task is an interactive activity performed by a human and executed by the human
workflow engine.
• A service task represents an interaction with an exposed service (possibly an external
service).
• A rules task represents a point at which the process is subject to some determination
made
d bby th
the rules
l engine.
i
This particular process does not contain any system steps, gateways, or events. However,
any of these can be placed in any lane because they are not specific to a particular role or
individual.

Oracle BPM 11g: Implement the Process Model 2 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Activity Types
User Task Service Task Rules Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Atomic activities (not subprocesses) are called tasks. They
are distinguished by different markers. Task types include:
– Service: Synchronous system interaction
– Send, Receive: Asynchronous interaction
– User: Human step managed by human workflow engine
– Manual: Not managed by a workflow engine
– Rules: Managed by business rules engine
– Script: Used for running scripts
– Call: Invokes a reusable subprocess
• Nonatomic activities

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

There are two types of activities: atomic and nonatomic.


• Atomic activities are called “tasks”: A task is used when the work in the process is
ot b
not broken
o e do down to a more
oeg granular
a u a level
e e oof p
process
ocess model
ode deta
detail. Tasks
as s a
are
eddiscrete
sc ete
units of work. Tasks have standard markers to indicate their type. The task types are as
follows:
– Service tasks represent a synchronous system interaction. For example, a read or
write to the file system is a service task.
– Send and receive tasks tend to be used together and represent asynchronous
interactions with other processes. You might use a send task to send a message
t another
to th process, whichhi h receives
i th
the message th
through
h itits d
designated
i t d receive
i
task.
– User tasks represent human interaction. There are several predefined patterns of
user tasks from which to choose to make your work easier. All human interaction is
executed by the human workflow engine, and the implementation (form) is typically
defined by using the SOA wizards and editors.
– Manual tasks are simply placeholders representing steps in a process that are not
under the control of the BPMN process engine at run time. For example, a step for
the printing and signing of a contract might be a manual task.

Oracle BPM 11g: Implement the Process Model 2 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
- Rules tasks are managed by the business rules engine and are defined by using
the SOA wizards and editors.
- Script tasks are used for running scripts. A typical script task initializes a data
j
object or defines a branching g expression.
p
- Call tasks are used to invoke reusable (that is, independent and not embedded)
processes. The communication is similar to the Service task because it performs
synchronous communication.
• Nonatomic activities are called “subprocesses”: These are compound activities that

Oracle University and BUSINESS & DECISION LATAM SAC use only
contain a set of tasks or other subprocesses. A subprocess can be expanded in-place or
minimized. There are two kinds of nonatomic activities: embedded and reusable
(independent).
(independent)

Oracle BPM 11g: Implement the Process Model 2 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPMN Gateways: Exclusive and Parallel

• Exclusive OR (XOR) gateway:


– Only one branch is taken.

Oracle University and BUSINESS & DECISION LATAM SAC use only
– It may or may not use a merge.

• Parallel (AND) gateways:


– All output paths are taken.
– It is used for merging
unconditional parallel paths only.
only

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

The slide describes the two most common types of gateways: exclusive and parallel.
Gateways are most often used with a corresponding merge (as shown in the slide). The
graphic at the top of the slide shows an exclusive gateway used in the Sales Quote process
with a conditional split and an exclusive merge. If the condition is met, the process flows to
the Business Practices Review activity and then to the exclusive merge. If the condition is not
met, the process takes the default path directly to the merge.
• Exclusive gateways can also provide multiple paths and even multiple conditional paths.
If multiple conditional paths evaluate to true, the first one evaluated is taken. You can
configure the order in which the conditions are evaluated. Because exclusive gateways
always result in one—and
one and only one
one—path
path being taken, you do not have to use a merge.
• Parallel gateways are used for parallel processing. All paths are taken simultaneously
with a parallel gateway. A merge is required with parallel, inclusive, and complex
gateways. The graphic at the bottom of the slide shows a parallel fork and merge used
to split the process into two parallel branches. Approve Quote and Approve Terms
happen simultaneously, and then the process merges at the parallel merge before
moving to the Finalize Contracts activity.

Oracle BPM 11g: Implement the Process Model 2 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Other Gateway Types: Inclusive OR Gateway

• An inclusive OR gateway is a decision in which there is


more than one possible outcome.

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Represented by
• It is usually followed by a corresponding merging inclusive
OR gateway.
• Outgoing paths of an inclusive gateway can have a default
path as well. Prepare
Supplement Supplement
A A

Documents
Required? Supplement Prepare
Complete
Supplement
B Documents
B

Main Prepare
Main
Proposal
Proposal

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

The slide describes the inclusive OR gateway. Inclusive gateways are similar to exclusive
gateways except that the possibility exists that more than one of the branches will be
executed. The graphic in the slide shows an inclusive OR gateway diagram in which the
branching is determined by the type (or types) of documents required:
• If Supplement A is required, the token flows down the upper branch toward the merge.
• If Supplement B is required, it flows along the middle branch toward the merge.
• If the Main Proposal is required, yet another branch is dedicated to that purpose.
It is conceivable that as many as all three document types might be required; as a result, the
y run
token splits to flow down all three branches at once. After the threads are created, they
concurrently. When the threads reach the Join node, they execute sequentially and serially.

Oracle BPM 11g: Implement the Process Model 2 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Other Gateway Types: Complex Gateway

A complex gateway is a decision in which more advanced


definitions of behavior can be defined.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Represented by When any two
complete, kill the
third and proceed
to Grant Security
Clearance step.
M out of N sequence flows to arrive
before the join is complete (voting
pattern)
No Criminal
Record

Initiate Natural Grant


Check Citizen Clearance

Good Credit

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

Complex gateways are similar to inclusive gateways except that they provide the ability to
control whether all threads are allowed to continue when they reach the merge.
In the graphic, a “voting
voting pattern”
pattern type complex split is shown. An Initiate Check activity leads
to a complex gateway where the process may follow any of three paths: No Criminal Record,
Natural Citizen, or Good Credit. If a designated number of threads arrive at the join (for
example, if one of the conditions is met), the instance continues to Grant Clearance without
running the additional threads. This is called the “voting pattern.”
Another type of gateway is the event-based gateway. This gateway enables you to branch
your process flow based on the possibility that an event may occur. It can be based on
severall diff
differentt types
t off BPMN events.
t IIn th
the llesson titl
titled
d “E
“Events
t and
dEEventt H
Handling,”
dli ” you
learn much more about events.

Oracle BPM 11g: Implement the Process Model 2 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following gateways would you use when you need
one—and only one—branch of the process to execute, based

Oracle University and BUSINESS & DECISION LATAM SAC use only
on a condition?
a. Parallel
b. Exclusive
c. Inclusive
d. Complex

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

Oracle BPM 11g: Implement the Process Model 2 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Review of Oracle BPM architecture


• Review of BPMN modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process

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

Oracle BPM 11g: Implement the Process Model 2 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Life Cycle


Process Analysts
Model, Implement,
Planning and Simulate
and
Strategy

Oracle University and BUSINESS & DECISION LATAM SAC use only
Developers
Implement and
Deploy
Enterprise Architects
Analyze and
Design
Collaborate

Monitor and
Analyze
Process Owners
Execute
Participants

Manage
Administrators

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

As a review, this slide shows the phases of the BPM life cycle. Collaboration is at the core of
this life cycle.
Analyze and Design: Enterprise architects define a road map to get from the current state of
a business process to the desired state.
Model and Simulate: Process analysts create or model the initial flow of a business process
to define some of the implementation and document the steps of the process. This may
include identifying and defining the key performance indicators (KPIs) and high-level rules
that define the routing of the business process.
Implement and Deploy: Developers then implement the process. When the process is
complete, administrators perform some configuration tasks. Then the process can be
deployed to BPM Run Time, where end users can begin participating in the process.
Manage: Now that the project is up and running, administrators must manage the deployed
application to ensure that it is running properly and resolve any issues that occur.
Monitor and Analyze: It is vital to regularly monitor and analyze the flow’s performance.
Process owners manage the process flow, task assignments, policies, rules, objectives, and
performance They
performance. The are typically
t picall responsible for the o
overall
erall ssupervision
per ision of the rrunning
nning
business process. They often use metric analysis tools such as dashboards to understand the
current state of the managed business processes.

Oracle BPM 11g: Implement the Process Model 2 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
Collaboration is the mechanism by which the integrity and success of the process life cycle
are achieved.
• There may be several process analysts collaborating on a single BPM process model.
• Developers may need to interact with process analysts as they refine and implement the
process model.
• Process owners may review the process model before it goes live
• And so on

Oracle University and BUSINESS & DECISION LATAM SAC use only
As you see later in this lesson, Oracle BPM Suite facilitates collaboration by providing tools
that allow all parties to share the same process model.

Oracle BPM 11g: Implement the Process Model 2 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Typical Development Life Cycle


of a Business Process

Modeling, simulation, Full Implementation Deployment


basic implementation (Developer) (Developer/

Oracle University and BUSINESS & DECISION LATAM SAC use only
(Process Analyst) Administrator)

Business
B i
BPM
Process BPM Studio
Run Time
Composer

MDS

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

The graphic in the slide shows a simplified view of a typical life cycle for process development
using BPM Studio. There are several other variations to this life cycle that you could follow,
but this simple scenario is our starting point.
In this example, note the following:
• The process analyst models a process in Business Process Composer and (optionally)
performs some limited implementation.
The process is then published to MDS repository.
• The developer checks out the process from MDS and completes the implementation in
BPM Studio, saving the process back to MDS.
Although they are not shown in the slide, you can assume that multiple iterations off the
preceding steps occur, during which simulation is used to test the effectiveness of the
design.
• Finally, either the developer or the administrator deploys the process to the BPM
runtime environment.

Oracle BPM 11g: Implement the Process Model 2 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Implementing a Process Model

• Refine the model to support:


– Best practices for design

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Performance considerations
• Set up any required messaging between system
components.
• Create the necessary UI components.
• Integrate the process with back end systems.

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

The task outlined in the slide represents a high-level overview of implementing a process
model.
The next slide provides additional details.

Oracle BPM 11g: Implement the Process Model 2 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Developer Tasks to Implement the Model

A model has been created and published to MDS. The


developer checks out the model from MDS into Studio and then

Oracle University and BUSINESS & DECISION LATAM SAC use only
performs the following tasks:
j
• Creates business objects
• Defines task services for each activity of the process
• Links task services to their respective activity
• Performs data mapping
• Creates or customizes forms used in human task services
• Defines
D fi expressions
i used
d ffor determining
d t i i conditional
diti l
branching
• Adds any required error handling or messaging
• Deploys and tests the process
You learn about all of these tasks in this course.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

The slide presents a simplified list of some of the tasks that a developer performs to
implement a process model that was previously created and published to the MDS repository.
Many of these tasks can also be performed using Business Process Composer.
• The developer creates business objects to aid in storing process and instance data.
Then the developer declares variables of these business objects.
• A developer might define a human task service to implement a user activity, a web
service adapter to implement a service activity, or a business rule to implement a
business rule activity.
• After a task service is defined, it can be linked (or “wired”) to the BPMN flow object, that
i tto the
is, th activity.
ti it
• Data must be mapped into and out of the task services that implement the activities.
• There are default forms available for processing user interfaces. But a developer often
needs to customize these or add additional forms.
• Developers also define expressions that are used in many scenarios, among which are
conditional branching logic.
• The
Th d developer
l also
l adds
dd error h handling
dli and d may need d tto iinclude
l d messaging
i or
interprocess communication.
• The developer tests, develops, redeploys, and retests the process iteratively.

Oracle BPM 11g: Implement the Process Model 2 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle BPM Studio


BPM
Component
Palette

Oracle University and BUSINESS & DECISION LATAM SAC use only
BPM Project Navigator

Main Canvas

Structure Panel
Simulation Documentation
Log Tab Panel Tab

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

The screenshot in the slide shows the main window of BPM Studio. As mentioned previously,
BPM Studio is implemented as a plug-in to Oracle JDeveloper, which is a full-featured Java
development IDE, similar in functionality and usability to Eclipse or NetBeans.
• BPM Project Navigator appears in the upper-left corner. In this panel, multiple projects
can be opened and managed concurrently. You can expand each project to see its
assets.
• Structure Panel appears in the lower-left corner. Here you can add or delete project or
process variables or business indicators.
• Main Canvas is in the upper-middle portion of the window. It is the largest area of the
St di IDE and
Studio d provides
id ththe space ffor allll off th
the ttask-specific
k ifi editors
dit th
thatt you use when
h
you implement a process. The design editor appears in the main canvas here and is the
BPM Studio modeling tool for BPMN processes. You use the design editor to access
properties of each of the activities of the process to implement those activities.
• Log Tab is one of three tabbed views along the bottom-middle portion of the window.
BPM Studio reports errors in this panel.
• Simulation Panel is the second tabbed view. In this panel, you create simulation
models and run them.

Oracle BPM 11g: Implement the Process Model 2 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Documentation Tab is the third tab at the bottom. Here you enter end-user and use-
case documentation for your processes.
• BPM Component Palette is on the right side of the BPM Studio window. It enables you
j
to add flow objects to a p
process that is currently
y open
p in the design
g editor.

Oracle University and BUSINESS & DECISION LATAM SAC use only

Oracle BPM 11g: Implement the Process Model 2 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Projects Inside BPM Studio

• Each project has several assets.


– Processes

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Organization resources
– Simulation models
– Business Catalog, and so on
• The Business Catalog holds the
different types of services
(system services, BPEL
processes, task services, rule
services) as well as business
objects (data).
• Right-click the project subfolders
to trigger different actions.

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

Projects are the means of organizing all of the resources used by a BPM application. The
project is also the basic unit of deployment.
In this slide, you see a screenshot of the BPM Project Navigator containing the
SalesQuoteProcess project. It contains several child nodes to organize the resources of the
project.
• Each project can contain many processes. In the screenshot, you see both a BPM
process and a BPEL process appearing under the Processes node.
• The Business Catalog is an important node, because it contains information about all of
the different types of services used by this project. These can be system services, BPEL
processes, human task services, and rule services. It also contains information
f about
the business objects, or data, defined for use in this project.
• When you right-click any of the subfolders, a context menu displays relevant actions that
you can take.

Oracle BPM 11g: Implement the Process Model 2 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Component Palette

BPM Studio provides shortcuts to


implement different activity patterns:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human-centric activities: User,
Management,
g , Group,
p, FYI,,
Initiator, Complex
• Gateway activities: XOR, OR,
AND, Complex
• Automated activities: Service,
Send Receive
Send,
• Subprocess activities: Call
activity, Embedded Subprocess
• Events: None, Message, Timer,
Error, Signal

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

The screenshots in the slide show the panels of the BPM Component Palette. BPM Studio
provides a rich set of activity semantics to implement different activity patterns.
u a ce t c act
• Human-centric activities
t es ca
can be found
ou d in tthe
e Interactive
te act e pa
panel
e oof tthe
e Co
Component
po e t Palette.
a ette
You learn more about the differences between these in a later lesson.
• Gateway activities are displayed in the Gateways panel.
• Automated activities are displayed in the Activities panel and include the Service, Send,
and Receive activities.
• Subprocess activities are also displayed in the Activities panel and include the Call
activity (only with PS3) and the Subprocess activity, which is an embedded subprocess.
• Events are displayed in a separate Events panel and divided into two categories: Catch
events and Throw events.

Oracle BPM 11g: Implement the Process Model 2 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Studio: Composite Editor

You can view and edit the SOA composite application in the
Composite Editor panel.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

When you implement the BPM process, there are some tasks in which the use of the
Composite Editor is very helpful. The Composite Editor provides a view of all of the service
components in the SOA composite application, as well as a conceptual view of how these
service components are wired into the BPMN process. The SOA composite application is the
unit of deployment.
This editor is accessed by clicking the Composite icon on the right side of the BPM design
editor toolbar (as shown in the screenshot in the upper portion of the slide). The Composite
Editor is shown in the screenshot at the bottom foreground portion of the slide. It shows a
BPMN process component, RequestQuote (the blue box on the left), that is wired to a human
task component,
component Humantask1 (the green box on the right)
right). On the far right,
right you see a
database service adapter called Quote_db_adapter.

Oracle BPM 11g: Implement the Process Model 2 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Process Consistency Checking

BPM Studio incrementally validates that the


process is well formed and constructed.

Oracle University and BUSINESS & DECISION LATAM SAC use only
The strictness of
• Problems with the process validation can be
configured.
structure are shown visually
y in
the process model.
• Click the icon to see a description
of the problem and a way to
correct it.

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

You may want to set the sensitivity level of consistency checking that BPM Studio performs
during process design. For example, you may want to see only actual error indications rather
than warning icons.
This screenshot shows the BPM Studio design editor with the Highlighting Level slide bar
opened from the editor toolbar. The slide bar enables you to set the sensitivity of the
consistency checking that is performed by Studio incrementally, as changes occur in the
model.
In the example in the slide, the sensitivity has been set so that you will not see warning icons
appearing on activities that have not yet been implemented.

Oracle BPM 11g: Implement the Process Model 2 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following shows you the design model for the SOA
composite application?

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Composite Editor
b BPM Project Navigator
b.
c. Design editor
d. Service editor

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

Oracle BPM 11g: Implement the Process Model 2 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Review of Oracle BPM architecture


• Review of BPMN modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process

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

Oracle BPM 11g: Implement the Process Model 2 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Process Accelerators

You can accelerate your process development by using freely


available Oracle Process Accelerators.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• End-to-end implementations of common business
p
processes
• Ready to use and extensible
• Leveraging best practices and domain knowledge

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

Process Accelerators are an add-on to Oracle BPM Suite. They are not included in the basic
version of the suite. They can help you jump start a process development and ensure that it is
based on industry best practices and the best domain knowledge. These process accelerators
are fully functional but extensible processes that are written for certain common process use
cases (see the next slide).
To learn more about Process Accelerators, see the Oracle Technology Network (OTN) site:
http://www.oracle.com/us/technologies/bpm/process-
accelerators/overview/index.html?origref=http://www.oracle.com/us/technologies/bpm/process
-accelerators/features/index.html
You can also talk to your Oracle sales representative.

Oracle BPM 11g: Implement the Process Model 2 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Types of Processes Currently Available

• Horizontal
– Travel Request and Management

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Document Routing and Approval
– Internal Service Request
• Financial
– Loan Origination
• Public Sector
– Incident Reporting

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

Oracle BPM 11g: Implement the Process Model 2 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Review of Oracle BPM architecture


• Review of BPMN modeling

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process

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

Oracle BPM 11g: Implement the Process Model 2 - 36


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process: Enter the Quote

The sales representative enters a quote.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

The sales representative wants a quote approved and enters the quote information to start the
approval process.

Oracle BPM 11g: Implement the Process Model 2 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process:
Perform Business Practices Review
If required, the quote is reviewed for business practices.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• If approved,
pp , it is sent on for further p
processing.
g
• If rejected, it is sent back to the sales representative to be
revised.

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

Based on certain criteria, the quote may need to be reviewed from the perspective of current
business practices. The person performing that review does one of the following:
• Approves
pp o es tthe
e quote
- Result: The quote proceeds through the process.
• Rejects the quote
- Result: The quote is sent back to the sales representative.

Oracle BPM 11g: Implement the Process Model 2 - 38


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process: Approve the Quote

Various people may need to approve the quote.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

If the quote is approved from the perspective of the Business Practices Review task, there are
other reviews that need to take place (possibly involving a number of people). Depending on
the terms of the quote, it could require approval by individuals who are several levels up the
management chain from the sales representative, or it could require approval by specific
individuals in the organization.

Oracle BPM 11g: Implement the Process Model 2 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process: Approve the Terms

The legal department needs to approve the terms of the quote.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

At some point, the legal department needs to ensure that the quote terms meet corporate
legal guidelines.
If this approval (or any previous approval) fails, the quote is routed back to the sales
representative to be revised.

Oracle BPM 11g: Implement the Process Model 2 - 40


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process: Finalize the Contracts

The legal department also needs to draw up the necessary


contracts.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

If the quote is approved, the legal department needs to create the necessary contracts.

Oracle BPM 11g: Implement the Process Model 2 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process: Save the Quote

The quote is saved to a file.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Quote
Details

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

After the contracts are finalized, a system process automatically saves the quote to a file.

Oracle BPM 11g: Implement the Process Model 2 - 42


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote Process

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Throughout the practices of this course, you implement the RequestQuote process. This
process implements a solution for sales representatives to submit sales quotes and manage
approvals.
The view of the process shown in the Studio design editor in this screenshot represents how
the process looks at the beginning of the practices. The model changes as you enhance the
process design in your practice exercises.
Overview of the process flow:
• The process is triggered when a sales representative (SalesRep) creates a task to enter
the quote details in the Enter Quote Details interactive activity.
• The next step is to determine the list of approvers (using business rules) and to
determine whether additional review is required from Business Practices. This is
accomplished through the Determine Approvals business rule activity.
• If the business practices review is required (as determined in the previous step), the
process flows to the Business Practices Review interactive activity. If the result of the
business practices review is Rejected, the process returns to Enter Quote Details.

Oracle BPM 11g: Implement the Process Model 2 - 43


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• If no review is required, the quote then needs to be approved for the deal structure and
terms. The process instance moves to the Approvals gateway, and the Approve Deal
and Approve Terms activities are executed in parallel.
• The Approve
pp Deal activityy is executed by
y approvers
pp in the Approvers
pp role. The Approve
pp
Terms activity is executed by individuals in the Contracts role.
• If both types of approvals are successful, the process instance moves to Finalize
Contracts. Then the instance moves to the Save Quote service activity, where the quote
is written to a disk file and the process ends.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• If either approval fails, the process instance is sent back to Enter Quote Details.

Oracle BPM 11g: Implement the Process Model 2 - 44


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• Discuss the relationship of Oracle BPM 11g to Oracle SOA

Oracle University and BUSINESS & DECISION LATAM SAC use only
Suite in terms of architecture
• Explain the life cycle of an Oracle BPM process with
regard to the different roles involved in that life cycle
• Identify the flow objects in a BPMN process model and
explain the function of each type of object
• List and describe the different editors in BPM Studio

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

This lesson provided a foundation for the rest of the course. In this lesson, you reviewed the
architecture of Oracle BPM 11g and Oracle SOA Suite. You also learned about the
development life cycle of an Oracle BPM process so that you can better understand your role
as a developer.
Although this course does not cover modeling (the assumption is that you already know how
to model a process), this lesson provided a brief overview of BPMN so that you are now ready
to begin implementing a model. You also received a short introduction to BPM Studio,
preparing you to begin working in it and navigating through the different editors that you use
throughout the course practices.

Oracle BPM 11g: Implement the Process Model 2 - 45


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 2-1 Overview:


Creating a Server Connection
This practice covers the following topics:
• Starting WebLogic Server

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Configuring a connection to WebLogic Server that hosts
the SOA and BPM runtime engines

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

Oracle BPM 11g: Implement the Process Model 2 - 46


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 2-2 Overview:


Examining the SalesQuote Project
This practice covers examining the following:
• Activities of the RequestQuote process

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Gateways of the process
• SOA composite relationship

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

Oracle BPM 11g: Implement the Process Model 2 - 47


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

C ll b
Collaboration B t
ti Between

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


Developers and Process Analysts

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• List several tasks that a developer performs in support of

Oracle University and BUSINESS & DECISION LATAM SAC use only
the Business Process Composer user
• Describe the purpose of the MDS repository
• Describe a typical collaborative process design workflow
• List several benefits of using project templates
• Explain how a project template is created
• List three ways to create internal documentation by using
BPM Studio
• List several types of resources that can be shared from the
BPM Studio environment by using the MDS repository

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

Oracle BPM 11g: Implement the Process Model 3 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of collaborative process design


• Introduction to Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating project templates for the Business Process
Composer user
• The developer’s role in supporting the process analyst

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

Oracle BPM 11g: Implement the Process Model 3 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

What Do Developers Do to Support


the Work of the Process Analyst?
• Implement the process model
• Enhance the process model

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Deploy applications
• Create project templates
• Define business rules for ease of modification
• Add internal and external documentation
• Provide support for process analytics and monitoring

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

In the preceding lesson, you learned that the developer works in collaboration with business
users (process analysts and others). The developer’s primary role is to complete the
implementation of the process model and to deploy it to the runtime engine. The process
analyst’s primary role is to design the process model and to perform basic implementation.
The developer can also enhance the process model by using BPM Studio.
In the slide, the final four bullet points refer to additional tasks that developers perform. These
include the following:
• The developer provides support by creating project templates to facilitate the basic
implementation work that the process analyst performs.
• Many tasks can be performed f using either Business Process Composer
C or BPM Studio.
S
Often, the developer will create many of these process artifacts such as business rules
and business indicators, making them available to the Business Process Composer user
by sharing them through the MDS repository.
• Internal documentation is a very useful way to communicate between the developer and
the process analyst during the iterative cycles of collaboration.
• The developer must also perform several configuration tasks that are associated with
providing support for process analytics and monitoring.
All of these tasks are addressed in the remainder of this lesson and throughout the course.

Oracle BPM 11g: Implement the Process Model 3 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Collaborative Process Design Workflow

Model, simulate, Complete


implement, deploy implementation, refine
model, test, deploy
MDS Repository

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business
BPM
Process
Studio
Composer

Oracle BPM Run Time


BPEL BPMN
Engine Engine
Human Business Mediator
Process Core Workflow Rules

SOA Infrastructure
Source
Oracle WebLogic Server
Control
Systems

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

This slide shows the workflow pattern of the collaborative process design using Business
Process Composer and BPM Studio. These two tools provide much of the same functionality,
such as design and implementation. Each tool is role based and provides different users a
different experience, based on and optimized for their role selection. Notice that the MDS
repository is central to this workflow pattern.
• The MDS repository is the design-time repository to which both BPM Studio and
Process Composer clients connect to store and share BPM Projects.
• In the most typical scenario, the initial design is started in Process Composer and some
basic implementation is added. The process analyst checks the project containing the
process model into the repository
repository.
• The developer checks out the project from the repository and completes the
implementation, possibly refining the process model, and performs some testing. The
developer then checks the project in to the source control system.
• At this point, an iterative cycle begins. The developer checks the process back in to the
repository, and the process analyst checks it out to perform simulation testing, further
g the process model and/or business rules or other parts of the implementation.
editing
• Either participant may also use internal documentation of the model to communicate
their comments and/or requests to their partner in collaboration during this iterative cycle
of design.

Oracle BPM 11g: Implement the Process Model 3 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Either participant can deploy the process to the BPM runtime engine. The process
analyst would likely do this as a means of testing the model in BPM Workspace. The
developer may also deploy for this purpose, but could also be deploy it to the production
environment. Note that communication with the MDS repository also occurs to store or
update project metadata (although this is not shown in the graphic).

Oracle University and BUSINESS & DECISION LATAM SAC use only

Oracle BPM 11g: Implement the Process Model 3 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Metadata Service (MDS) Repository

• Oracle BPM uses the MDS repository:


– When deploying applications to run time

Oracle University and BUSINESS & DECISION LATAM SAC use only
– For sharing projects and templates between Business
p
Process Composer and BPM Studio
• MDS repository storage is modeled as folders and files:
– The repository can be backed by a database or file system.
– Production deployments use a database.
• Partitions contain groups of related schemas:
– Folder structure and files reflect the state of collaboration.
collaboration

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

• The MDS repository is used across the entire FMW product suite for storing metadata
for certain types of applications called “composite applications” during deployment. This
metadata then becomes useful in managing deployed applications as well.
• BPM Suite also uses the MDS repository when deploying applications, but additionally it
creates a special partition in the repository that is specialized for the purpose of
collaboration between BPM Studio users and Business Process Composer users.
• MDS repository storage is modeled as folders and files but not necessarily structured in
this way. Most production environments use a database implementation of the
repository.

Oracle BPM 11g: Implement the Process Model 3 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

MDS Repository

• SOA Partition (soa-infra):


– Shared definition

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Deployed composites
• OBPM partition supports Studio/Composer
collaboration:
– BPM Projects saved under Applications
– BPM Project Templates under Templates
– BPM Project Snapshots (Composer) under
Snapshots
– BPM Project Drafts (working copy) under Drafts

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

The SOA partition is called soa-infra in Enterprise Manager.

Oracle BPM 11g: Implement the Process Model 3 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Sharing Projects by Using the MDS Repository

Business Process BPM


Composer Studio

Oracle University and BUSINESS & DECISION LATAM SAC use only
fkafka fkafka
jstein jstein
mtwain mtwain

MDS Repository

Connections are You must specify user credentials


automatically user-specific. or connect as an administrator.

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

The MDS repository is the link between Business Process Composer and BPM Studio, but
these applications have different ways of interfacing with the repository.
When using Business Process Composer, you log in as a specific user. When you save a
project to the repository, your connection is automatically user-specific.
In contrast, you do not log in to BPM Studio. Rather, you have a superuser role. If you want to
collaborate with Business Process Composer users, you need to define a user-specific
connection to the repository or connect as an administrator (for example, as the weblogic
user).

Oracle BPM 11g: Implement the Process Model 3 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a User-Specific Connection


to the MDS Repository
1
MDS repository folders contain
projects and templates to which

Oracle University and BUSINESS & DECISION LATAM SAC use only
this user has access.

(Optional) Specify
user credentials.

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

1. The tab to the right of the Application Navigator displays the BPM MDS Navigator.
Select Configure Connection from the tab menu.
2. In tthe
e New
e BPM MDS S Co
Connection
ect o window,
do , e
enter
te tthe
e co
connection
ect o information
o at o needed
eeded to
establish connections to the repository, whether as the administrator or as a specific
user.
3. Notice that the resulting BPM MDS Navigator shows the Public and Templates folders,
the contents of which depend on your access to specific projects. Because you have
defined a connection by using the mtwain user’s credentials, Public contains the project
that the mtwain user saved to the repository from Business Process Composer. When
you select the project
project, you see the project name,
name your role
role, and the current project status
(for example, Shared or Locked) displayed at the bottom of the BPM MDS Navigator.

Oracle BPM 11g: Implement the Process Model 3 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Checking Out and Locking a Project

Connecting as a user with


editing permissions

Oracle University and BUSINESS & DECISION LATAM SAC use only
1 2 When the project is
checked out, it is
automatically locked.

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

After you create a connection to BPM MDS, you can check out projects.
When you check out a project (1), it is automatically locked (2) and other users cannot edit it.
You can unlock the project by right-clicking
right clicking the project name in the BPM MDS Navigator and
selecting Unlock.
When you check out a project, it then appears in the BPM Project Navigator for you to begin
editing.

Oracle BPM 11g: Implement the Process Model 3 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Importing and Exporting in BPM Studio

Oracle University and BUSINESS & DECISION LATAM SAC use only
Importing and exporting BPM projects: EXP files

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

Another way to share projects is to import and export EXP files. Business Process Composer
offers this same capability. This method does not offer the version control that you get when
you share projects by using the MDS repository.
The import and export options in BPM Studio are different from those available in Business
Process Composer. However, in both tools, you can import and export BPM projects (EXP
files).

Oracle BPM 11g: Implement the Process Model 3 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Saving a BPM Project to the MDS Repository

Oracle University and BUSINESS & DECISION LATAM SAC use only
Project can be renamed.

Lock can be held or released.

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

1. When you have made your changes, right-click the project in the BPM Project Navigator,
and select “Save to BPM MDS.”
ou ca
2. You can rename
e a e ttheep
project
oject a
and
d spec
specify
y a location.
ocat o
3. If you previously acquired a lock on the project, you are prompted to release the lock.

Oracle BPM 11g: Implement the Process Model 3 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Project Saved to MDS Repository: Lock Released

fkafka fkafka
jstein jstein

Oracle University and BUSINESS & DECISION LATAM SAC use only
mtwain mtwain

Business Process BPM


Composer Studio
MDS

After the lock is released, any user with the Viewer, Editor, or
Owner permission can view or edit the project.
• While the lock is held, other users can only view the
project.

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

After you save the project to the repository and release the lock, Business Process Composer
users or other BPM Studio users can view or edit the project according to their access
permissions.

Oracle BPM 11g: Implement the Process Model 3 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Project Development Life Cycle

Composer MDS Repository Studio Version Control


Create BPM project and
start editing; then save.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Edit, share, collaborate
and create snapshots.

Save and release


Check out from
(MDS repository).
repository for view/edit.

Version
Application
Implement

Version
Application

Edit project and Save to repository


make changes. and unlock.
Save and release.

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

You may be wondering how the check-in/check-out facility of the repository relates to the
versioning that occurs in an IT development environment. To illustrate this relationship, we
consider this collaborative workflow with the Business Process Composer User in the context
of a project development life cycle.
The graphic in the slide represents a typical scenario.

Oracle BPM 11g: Implement the Process Model 3 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following statements are true? (Choose all that


apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. It is not possible for others to view a project after you have
checked it out from the MDS repository.
p y
b. It is not possible for others to edit a project after you have
checked it out from the MDS repository.
c. You can save your edits back to the MDS repository by
exporting the project.
d You can open a project from the MDS repository by
d.
importing the EXP file.

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

Oracle BPM 11g: Implement the Process Model 3 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Releasing the MDS repository locks on a project enables


others to begin __________ the project. (Select the best

Oracle University and BUSINESS & DECISION LATAM SAC use only
answer.)
a. Editingg
b. Viewing
c. Versioning

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

Oracle BPM 11g: Implement the Process Model 3 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of collaborative process design


• Introduction to Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating project templates for the Business Process
Composer user
• The developer’s role in supporting the process analyst

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

Collaboration in any context requires an understanding of the other participant’s perspective.


Because you have been introduced to BPM Studio, we now also provide a brief introduction
to Business Process Composer. You should become somewhat familiar with Business
Process Composer so that you can provide the necessary support for its users. You have an
opportunity to log in to this component and use it during the practice for this lesson.

Oracle BPM 11g: Implement the Process Model 3 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Logging In to Business Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

To log in to Oracle Business Process Composer, open a browser and navigate to


http://hostname.us.oracle.com:7001/bpm/composer. Enter the username and password, and
click the Login button.

Oracle BPM 11g: Implement the Process Model 3 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Home Page

Oracle University and BUSINESS & DECISION LATAM SAC use only
Buttons for
customizing the
Projects page layout

Project filters: “All Projects” are


currently shown on the page.

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

When you first log in to Business Process Composer, your home page appears. The slide
shows the mtwain user’s home page.
The home page is also the Projects page, which displays all projects or a filtered set of
projects.

Oracle BPM 11g: Implement the Process Model 3 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Projects in Business Process Composer

• Project:
– Contains the resources used to create

Oracle University and BUSINESS & DECISION LATAM SAC use only
and support a business application
– Can be shared between Business
Process Composer and BPM Studio,
or deployed to BPM Run Time
• Includes:
– Business processes
– Organizational
g chart
– Shared resources (business objects,
services, business rules, human tasks,
and so on)

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

Projects are the core elements of an Oracle BPM application. A project is a container for the
resources that are used to create and support a business application.
The lower-right
lower right screenshot in the slide shows two projects as they appear in the BPM Project
Navigator in BPM Studio.
One of the projects, SalesQuote, is expanded to display some of the resources of the project
that are available to share with someone using Business Process Composer. Here you see a
business process, RequestQuote, the Organization node (potentially containing an
organizational chart), and the Business Catalog, which would contain business objects,
services, business rules, human tasks, and other resources.

Oracle BPM 11g: Implement the Process Model 3 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating and Importing Oracle BPM Projects

Use the main menu to

Oracle University and BUSINESS & DECISION LATAM SAC use only
create a new project.

Import an existing
project in the form of
an .exp file.
Create a new
project.

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

Two Ways to Create Oracle BPM Projects


You can create new projects directly in Oracle Business Process Composer. In this slide, you
see two ways of creating a new BPM project
project.
The quick way to create a new project is to click the New Project icon in the middle of the
window; you are prompted only to name the project. Using either of the other options, you can
specify a name, description, folder, and approval workflow, as well as whether to base the
project on a template.
You can also import an existing project in the form of an .exp file by selecting the Import
menu item.

Oracle BPM 11g: Implement the Process Model 3 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Project Home Page

Use the main menu to


import, export, share, and
deploy the project.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Project
Information pane
“Recent activity” pane

Project Component pane

Quickstart menu

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

Click the project name on your home page to open the Project Home page.
• The Project Information pane provides a general description of the project, including
ts name,
its a e, when
e itt was
as created,
c eated, who
o created
c eated it,
t, whether
et e itt iss in Edit
d t mode,
ode, and
a d so o
on.
• The Project Component pane enables you to view and create processes, human
tasks, business rules, web forms, and business objects.
• The Quickstart Menu offers quick access to the following common functionalities:
- Snapshots browser: Enables you to create and view project snapshots
(restorable backups)
g
- Organization browser: Enables yyou to create and manage g p project
j roles
- Gallery: View and create processes and human tasks; view business rules.
- Activity Guide: Create and manage milestones.
- Business Objects Editor: Create, manage, and view business objects.
- Approval Workflow browser: View and manage deployment approval workflow.
- Business Indicators: Create, manage, and view business indicators.
- Process Player: Create an instance and test the project
project.
• The Recent activity pane provides a history of the major changes made to the project.

Oracle BPM 11g: Implement the Process Model 3 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Administering Privileges (1 of 3)
Click Private
to share
project.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Select user or When a BPM project is
group in created, it is always private.
LDAP.

Select the
type of
privilege.

You can make the project public


by setting Visibility to Public.

Note: Only owners can administer privileges.

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

It is important to administer the privileges for your project when sharing with other
collaborators (Business Process Composer users or BPM Studio users). Only the project
owner can administer privileges.
To administer privileges:
• Click the Private link in the toolbar of the Project Home page (as shown at the top of the
page).
• The Share window opens (as shown in the middle of the page). Set the Visibility to
either Public or Team Members Only.
• In the “Specifyy Users or Groups” field, click Choose to open the Browser dialog g box ((not
shown here).
• Select either Users or Groups. These are entities defined in the LDAP database. In the
example in the slide, Users has been selected.
• After selecting Users (in this example), enter a search string to find a specific user to
whom you want to assign permissions. Click OK to return to the Share window. The
name of the user that you selected appears in the Specify Users or Groups field.
• Select
S l the
h RRolel ((or privilege)
i il ) you want to assign
i to this
hi user, and
d click
li k Sh
Share to add
dd the
h
user to the list of users at the bottom of the Share window. Notice that the project owner
appears in this list by default. When you have finished assigning users, click Close.

Oracle BPM 11g: Implement the Process Model 3 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Administering Privileges (2 of 3)

Oracle University and BUSINESS & DECISION LATAM SAC use only
• To globally administer privileges across BPM
projects log in as an administrator (weblogic)
projects, (weblogic).
• Go to Administration > Role Mapping.

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

Oracle BPM 11g: Implement the Process Model 3 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Administering Privileges (3 of 3)

Actions Viewer Editor Owner


View projects Yes Yes Yes

Oracle University and BUSINESS & DECISION LATAM SAC use only
Edit projects No Yes Yes
Simulation No Yes Yes
Add documentation No Yes Yes
Player No Yes Yes
Deploy No Yes Yes
Administer privileges No No Yes

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

Oracle BPM 11g: Implement the Process Model 3 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of collaborative process design


• Introduction to Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating project templates for the Business Process
Composer user
• The developer’s role in supporting the process analyst

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

Oracle BPM 11g: Implement the Process Model 3 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Project Templates

Oracle University and BUSINESS & DECISION LATAM SAC use only
New BPM projects
Project template based on template

• Are created in BPM Studio for use in Business Process


Composer
• Represent a layering of permissions on the BPMN
processes inside a BPM project
• Can be used to jumpstart projects with similar process
models (providing governance)
– Can be constrained (partially locked)
– Can include implementation artifacts

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

Project resources are used to create and support an application. These resources include
business processes and shared resources such as data objects, services, business rules,
human tasks, and roles.
If you have a project that contains reusable processes and other project resources, but you
want to constrain how these are used, you can create a project template and use that
template to create multiple copies of the project. This promotes governance across process
customizations and increases reuse and the sharing of best practices.
For example, assume that several departments in an organization follow a similar process to
order from and pay vendors. Assume also that you want all departments to follow certain
parts
t off the
th process in
i a specific
ifi way, but
b t you wantt them
th to
t be
b able
bl to
t customize
t i other
th parts
t
of the process according to their needs. You can create a single project and process model,
add reusable components (such as human tasks, services, business objects, and so on),
convert it to a template, and define constraints.
Instead of designing the process from the beginning, each department can use the template
to create its own version of the process model (subject to the constraints defined in the
template)) and even deployy its project
j directly
y to the runtime environment.
In other words, templates empower business users with projects that come pre-wired with
services, rules, and other components so they can create deployment-ready processes.

Oracle BPM 11g: Implement the Process Model 3 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Steps to Create and Use Templates

• In BPM Studio, the developer:


1. Creates a project template (including reusable components)

Oracle University and BUSINESS & DECISION LATAM SAC use only
and sets edit policies
p
2. Saves the template to the MDS repository
p y
• In Business Process Composer, the process analyst:
1. Creates a new project based on the project template
2. Edits the processes in the project based on the edit policies
defined in the template
3. Implements the process (if necessary)
4. Saves the project to the MDS repository
5. Does one of the following:
a. Deploys the project to BPM Run Time
b. Enables developers to perform further implementation

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

The slide lists the high-level steps involved in creating a template in BPM Studio and creating
a project based on that template in Business Process Composer.
To create the project template, click the New menu in BPM Studio and select Project
Template from the BPM category. From this point, the process of creating the project is very
similar to creating a regular (non-template) project. You learn more about these steps in
subsequent slides.

Oracle BPM 11g: Implement the Process Model 3 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Including Reusable Components

• Developers usually include reusable


components in the project template.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• When you use a template, process
analysts
y can:
– Implement activities of the process by
linking them to these artifacts
– Create new data objects based on
the types defined in the template
– Edit existing
g business rules, human
tasks, and services

Sample Business Catalog


in BPM Studio

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

As you learned in the previous lesson, the Business Catalog contains reusable components
that are used for implementing processes. Typically, the developer creates the necessary
components and includes them in the project template so that Business Process Composer
users can then use these components when refining the process model.

Oracle BPM 11g: Implement the Process Model 3 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Setting Process-Level Edit Policies

BPM Studio
Process-Level Properties

Oracle University and BUSINESS & DECISION LATAM SAC use only
Fl
Flow Sealed:
S l d U Users cannott add,
dd
delete, or reroute flow elements.

Activity Sealed: Users cannot


edit existing elements.

• Seal type: One, both, or neither


• Cannot be changed in Business Process Composer

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

Edit policies enable the creator of a project template to define the elements of a process that
can and cannot be changed when a project is created from a template. For example, in an
international company, if you want to standardize a process but still permit regional
differences, you can seal most—but not all—activities in the process, thus enabling regions to
customize certain activities to meet their local needs.
Edit policies can be defined at the process level and at the activity level.
The project template creator defines the edit policy settings in BPM Studio when creating the
template. The policy screen in the slide can be seen by opening the Properties window for the
Process and then clicking the Advanced tab.
The edit policies cannot be changed in Business Process Composer.

Oracle BPM 11g: Implement the Process Model 3 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Setting Activity-Level Edit Policies

Oracle University and BUSINESS & DECISION LATAM SAC use only
BPM Studio
Activity-Level Properties

Activity-level edit policies override process-level


edit policies.

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

Here is a description of the activity-level edit policies:


• Sealed: The user cannot modify the activity at all.
• Can modify implementation: The user can modify this activity
activity.
• Must implement: The user is required to implement this activity for it to function
correctly.
• Use process permission: The user can use the edit policy that is defined at the
process level.

Oracle BPM 11g: Implement the Process Model 3 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Saving the Template to the MDS Repository

BPM

Oracle University and BUSINESS & DECISION LATAM SAC use only
Studio

MDS
Repository

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

After developers have created the template and set edit policies, they save the template to the
MDS repository by selecting “Save to BPM MDS” from the context menu that is available from
the project template in the BPM Project Navigator. The template is then available to all
Business Process Composer users, who can use the template to create new BPM projects.

Oracle BPM 11g: Implement the Process Model 3 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

For a given BPM project template, all activities have been sealed
at the process level but the flow has not been sealed. Activity1

Oracle University and BUSINESS & DECISION LATAM SAC use only
alone has an edit policy of “Can modify implementation.” Which
of the following statements are true for projects that are based
on this template? (Choose all that apply.)
a. Users will not be able to modify Activity1 because
process-level edit policies take precedence.
b. Users will be able to modify Activity1 because activity-level
edit p
policies take p
precedence.
c. Users will be able to add new activities to the process.
d. Users will be able to delete activities from the process.

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

Oracle BPM 11g: Implement the Process Model 3 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Process Is Open for Editing

Oracle University and BUSINESS & DECISION LATAM SAC use only
Activity is sealed.

Activities do not have


any constraints.

Activity requires Business


implementation. Catalog can
contain reusable
p
implementation
artifacts.

Process flow is sealed.

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

After creating a new project based on the project template you shared, Business Process
Composer users can begin editing the project.
Here you see a process that is open for editing in a project based on a project template. You
can see that it reflects the edit policies set in the template. In the example shown in the slide,
you can see a Flow Sealed watermark on the process model, indicating that you cannot add,
delete, or reroute flow elements. The Get Order activity is sealed, Check Inventory requires
implementation, and the remaining two activities do not have any constraints. The Business
Catalog palette (to which you can toggle from the default BPMN palette) lists the reusable
implementation artifacts that were created in BPM Studio. The process analyst can link these
artifacts to new or existing process steps to start the implementation process.
process

Oracle BPM 11g: Implement the Process Model 3 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of collaborative process design


• Introduction to Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating project templates for the Business Process
Composer user
• The developer’s role in support of the process analyst

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

Oracle BPM 11g: Implement the Process Model 3 - 36


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Developer Defines Business Rules


for Ease of Modification
• Business users use Business Process Composer to:
– Design business rules

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Modify business rules at run time (SOA Composer can also
be used to do this.))
• During design time, the developer can share the rule
dictionary between BPM Studio and Business Process
Composer.

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

Business rules are intended to be designed by process analysts and business users using
Business Process Composer. The rules can also be modified at run time using the same tool
and also using Oracle SOA Composer.
At design time, the developer can assist the Business Process Composer user, however, by
pre-packaging some of the business rule logic into rule dictionaries, which are then shared
with Business Process Composer through the MDS repository.
There are several design-time tips that can make dynamic modification of rules much easier
for the business user. All of these are covered in the lesson entitled “Implementing Business
Rule Tasks.”

Oracle BPM 11g: Implement the Process Model 3 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Developer Uses Documentation to Communicate


with the Process Analyst

Process Analysts Developers

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Process Composer BPM Studio

Use Cases
1.0 Get the stuff
2.0 Build the picture
3.0 BAM Consoles

Requirements
Business 1.1 Process diagram
2.1 Launch screen
The p
process analyst
y captures
p
Owners 3.1 Monitoring screen
requirements and needs to
communicate them to developers and to
other process analysts.

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

In the recommended BPM life cycle, the process analyst captures the requirements directly
from the business owners and must communicate these requirements to the developer to
ensure that the process implementation meets those requirements.

Oracle BPM 11g: Implement the Process Model 3 - 38


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

End-User Documentation

End-user documentation must be entered on the


Documentation tab. It can be entered at two levels:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Process level
• Activity level

Select the Documentation


type for end users.

Documentation for the


EnterNewHireInfo activity

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

The screenshot in the slide shows a process model in the BPM Studio design editor with the
EnterNewHireInfo activity selected. The Documentation tab has been clicked and is seen at
the bottom of the screen. End-user documentation is viewable at run time in the Business
Process Workspace.
You can also generate process-level end-user documentation by not selecting a specific
activity before entering your documentation on the Documentation tab.

Oracle BPM 11g: Implement the Process Model 3 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Internal Documentation

• Requirements
– Forms (content, sequence, what is pre-populated, and so on)

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Task operations (user-defined outcomes and the ability to
g
delegate, escalate, reassign,
g withdraw, ppush back to
previous, and so on)
– Data object types
– Rules (for example, approval workflow)
– Exception handling
• Explanations (choices made; options)
• Feedback
• Questions

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

For others who are working on the BPM project, including process analysts, you may want to
specify detailed requirements, explanations of the choices you made, feedback, and
questions that you would like to discuss as a group. There are several ways of entering
internal documentation that you learn about in the next few slides.

Oracle BPM 11g: Implement the Process Model 3 - 40


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Entering and Viewing Internal Documentation


in BPM Studio
Enter internal documentation in any of the following ways:
• Using the Documentation tab: Use Case Documentation

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Using text annotations

• Using property descriptions

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

You can enter internal documentation in BPM Studio in three ways:


• Use the same Documentation tab that you use for end-user documentation except
select
se ect Use Case Documentation
ocu e tat o in tthe
e Type
ype d
drop-down
op do list
st (as shown
s o in the
t e screenshot
sc ee s ot
at the top of the slide).
• Add a Text Annotation to the design editor from the Component Palette, and then edit it
to include your comment (as shown in the screenshot in the lower-right portion of the
slide).
• Enter internal documentation in the Description field of a Properties windows for the flow
element that you want to document.
If the process analyst has added internal documentation, you are also able to view the
comments in these same locations.
In the next slide, you learn how this internal documentation appears in Business Process
Composer.

Oracle BPM 11g: Implement the Process Model 3 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Internal Documentation: Viewed or Entered


in Business Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Here you see the Business Process Composer interface for viewing or entering internal
documentation that correspond to the three methods described in the previous slide.
• The e sc
screenshot
ee s ot at tthe
e top of
o the
t e slide
s de shows
s o s how
o the
t e process
p ocess a
analyst
a yst e
enters
te s o
or views
e s
Use Case Documentation.
• The screenshot at the left shows how a text annotation comment appears in Business
Process Composer and also how the process analyst might add a comment.
• The screenshot on the right shows how a process analyst might view or add a property
description.

Oracle BPM 11g: Implement the Process Model 3 - 42


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Documenting the Design


Diagrams and reports can help business users understand
business processes.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Another valuable way to help the business user (process analyst or business owner) is to use
process diagrams and reports.
• OOn the
t e left,
e t, you see a process
p ocess report
epo t ge
generated
e ated from
o tthe
e co
context
te t menu
e u tthat
at is
saavailable
a ab e
from the process node in BPM Project Navigator. It provides metadata information about
the process and is helpful in giving a broad overview of the roles involved, the number of
incoming and outgoing flows, activities, and so on.
• On the right, you see an example of the collaboration diagram for a process. This is
available by clicking the Collaboration Diagram tab at the bottom of the design editor
while the main process in question is open. This is very helpful in understanding the
runtime relationships and flow between different services and processes that interact
with the main process. You learn more about this view in the lesson entitled “Controlling
and Organizing the Process Flow.”

Oracle BPM 11g: Implement the Process Model 3 - 43


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Developer Provides Support for Monitoring

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Monitors performance of deployed processes
• Measures standard metrics and process-specific KPIs
• Raises alerts on abnormal business conditions by using
BAM

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

Uses of Monitoring
This slide shows a sample BAM dashboard. Business process metrics enable you to monitor
the performance of your deployed processes.
processes You can measure Key Performance Indicators
(KPIs)—information that helps you determine if your process is running as expected.
Here are sample KPIs for a SalesQuote process:
• Total number of quotes submitted
• Total number of quotes approved
• Average approval time for quotes
B
Because BPM iis iintegrated
t t d with
ith BAM
BAM, you can sett up alerts
l t on abnormal
b lbbusiness
i conditions
diti
so you can take corrective action if necessary.

Oracle BPM 11g: Implement the Process Model 3 - 44


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Extracting Business Information

Process Analytics
Metrics

Oracle University and BUSINESS & DECISION LATAM SAC use only
What What
happened? is happening?

Reporting and BAM


analysis

What What are


happens if … ? we missing?

Online Analytical Processing


Data mining
(Forecasting)
(Business Intelligence)

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

Process metrics in Oracle BPM and Oracle BAM add real-time information to business
intelligence, and business intelligence adds information context to Oracle BPM.

Oracle BPM 11g: Implement the Process Model 3 - 45


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Where Monitoring Data Is Sent

Oracle University and BUSINESS & DECISION LATAM SAC use only
Developer must
Default configure.
behavior Oracle BPM
Data
Targets
BPM Cubes BAM Data
(Process Analytics) Objects

BPM Workspace BAM

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

You can send runtime data to BPM process cubes for display in a BPM Workspace
dashboard, you can send runtime data to BAM, or you can send the data to both of these data
targets simultaneously. By default, runtime data is sent only to BPM Cubes. The developer is
responsible for enabling the use of BAM for monitoring via BAM data objects. This
configuration of the data targets is performed in BPM Studio.
Data includes both standard and user-defined metrics that are gathered during the execution
of a process.
Oracle BPM process cubes are self-contained structures that store both process metadata
and process instance data. They enable you to analyze data in real time and view it from
multiple
lti l perspectives.
ti Oracle
O l BPM uses th the tterm Process
P Analytics
A l ti to t refer
f tot process data
d t
that is collected in BPM cubes and displayed in BPM Workspace.
In the lesson entitled “Implementing Business Objects”, you learn more about how to support
Process Analytics by defining and assigning values to various custom metrics.

Oracle BPM 11g: Implement the Process Model 3 - 46


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Configuring the Data Targets in BPM Studio

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

You configure the data targets for Process Analytics in the Project Preferences window (as
shown in the slide). You access this window from the context menu that is available by right-
clicking the project name in the BPM Project Navigator.
Select the Process Analytics Summary node, and then click the Data Targets tab in the
Process Analytics Summary panel. In the example in the slide, the project is configured to
send analytic data to both BPM Cubes and the BAM database. Notice that the JNDI name for
the BAM adapter must be selected as well. In this example, the JNDI name is eis/bam/soap.
If you choose to send analytic data to the BAM database, you must also configure the BAM
adapter by using Enterprise Manager and the WebLogic Console (or your application server
administration
d i i t ti ttool).
l) Th
The nextt ffew slides
lid show
h you h
how tto d
do th
that.
t

Oracle BPM 11g: Implement the Process Model 3 - 47


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Setting Up the BAM Adapter to Collect Data

1. In Enterprise Manager (EM), clear an MBean property that


disables BAM data collection.

Oracle University and BUSINESS & DECISION LATAM SAC use only
2. Configure the OracleBamAdapter in the WebLogic
Console.

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

You must perform the following two tasks:


1. In Enterprise Manager, a particular property of the bpmn MBean is set (by default) to
prevent
p e e t us
usingg tthe
e BAM adapte
adapter. You
ou must
ust first
st cclear
ea tthis
spproperty.
ope ty
2. Using the WebLogic Console, configure the connection properties for the BAM adapter.
This can be set for either an RMI connection or a SOAP connection.

Oracle BPM 11g: Implement the Process Model 3 - 48


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Clearing the MBean Property

In the System MBean Browser in EM:


1. Clear the default value found for the DisableActions

Oracle University and BUSINESS & DECISION LATAM SAC use only
property of the BPMNConfig:bpmn bean.
2 Click Apply.
2. Apply

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

• Open Enterprise Manager and expand the SOA folder in the left panel.
• Right-click the soa-infra link, and then select SOA Administration > BPMN Properties.
• In the BPMN Properties panel,
panel click the More BPMN Configuration Properties link at the
bottom of the page. This opens the panel you see in the slide.
• Scroll through the Attributes list to find the DisableActions attribute. Clear the value in
the Value column, and then click Apply.

Oracle BPM 11g: Implement the Process Model 3 - 49


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Configuring OracleBamAdapter

In the WebLogic Console, perform the following steps:


1. Select Deployments > OracleBamAdapter.

Oracle University and BUSINESS & DECISION LATAM SAC use only
2. Click Configuration tab > Outbound Connection Pools.
3. Click the instance y
you want to configure.
g

JNDI name Group of instances for


for the RMI connections
SOAP
connection
instance

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

To configure OracleBamAdapter, open and log in to the WebLogic Console.


• In the left column, select Deployments.
• Scroll through the list of deployed applications in the right panel to find
OracleBamAdapter. Click the link to open the settings for this adapter.
• Click the Configuration tab and the Outbound Connection Pools subtab (as shown in the
screenshot in the slide).
• At the bottom of the page, you see groups of outbound connection pools. When these
top-level nodes are expanded, they reveal specific instances of the outbound connection
pool group. For example, you see two groups listed: RMIConnectionFactory group and
SOAPConnectionFactory group. The SOAP connection factory group is expanded to
reveal an instance of this group.
• Click the instance that you want to configure. In this example, we show how to configure
the SOAP outbound connection pool. It is indicated by its JNDI name: eis/bam/soap.
• You may recall that this is the JNDI name that appeared in the Project Preferences
window, which was shown earlier to illustrate how to set the analytics data targets.

Oracle BPM 11g: Implement the Process Model 3 - 50


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Configure OracleBamAdapter

4. Enter values for the configuration properties of the


outbound connection pool (using the SOAP instance as
the example).

Oracle University and BUSINESS & DECISION LATAM SAC use only
5. Click Save.

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

After you click the SOAP instance, the Properties tab appears. Here you enter values for the
HostName, Password, PortNumber, and UserName that are used to connect to the BAM
database.
Click Save when you finish entering the values.

Oracle BPM 11g: Implement the Process Model 3 - 51


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Configuring OracleBamAdapter

6. Click OK to save the new deployment plan XML file.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

A new deployment plan XML file must now be generated with the modifications you just
entered. You must indicate a different location for this file before it can be saved. Click OK
when you have done so.
The BAM database is now configured as a data target for analytic data.

Oracle BPM 11g: Implement the Process Model 3 - 52


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following tasks must be performed using BPM


Studio? (Choose all that apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Implementing a process model
b Creating project templates
b.
c. Configuring data targets for monitoring
d. Writing end-user documentation for a process

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

Oracle BPM 11g: Implement the Process Model 3 - 53


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following are true about enabling the BAM adapter
to target monitoring data? (Choose all that apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. The BAM adapter properties (SOAP and RMI) are
configured
g usingg the WebLogic
g Console.
b. BAM data targets are enabled in the Application
Preferences window.
c. The DisallowActions property of an MBean is set to false
by using Enterprise Manager.
d The DisallowActions property of an MBean is cleared
d.
by using Enterprise Manager.

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

Oracle BPM 11g: Implement the Process Model 3 - 54


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• List several tasks that a developer performs in support of

Oracle University and BUSINESS & DECISION LATAM SAC use only
the Business Process Composer user
• Describe the purpose of the MDS repository
• Describe a typical collaborative process design workflow
• List several benefits of using project templates
• Explain how a project template is created
• List three ways to create internal documentation by using
BPM Studio
• List several types of resources that can be shared from the
BPM Studio environment by using the MDS repository

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

Oracle BPM 11g: Implement the Process Model 3 - 55


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 3-1 Overview: Examining and Modifying


a Project Template by Using BPM Studio

This practice covers the following topics:


• Opening an existing project template, examining it, and

Oracle University and BUSINESS & DECISION LATAM SAC use only
making modifications
• Creating the necessary connection resources to view and
access the MDS repository
• Saving the template to the MDS repository

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

Oracle BPM 11g: Implement the Process Model 3 - 56


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 3-2 Overview: Creating a Template-Based


Project by Using Business Process Composer

This practice covers the following topics:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating a new project based on the
ProcessCustomerOrders project template
• Setting the project share properties so that another
Business Process Composer user can edit the project
• Examining the project in the Business Process Composer
environment

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

Oracle BPM 11g: Implement the Process Model 3 - 57


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Using Business Objects

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

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• List common requirements for managing information in a

Oracle University and BUSINESS & DECISION LATAM SAC use only
process
• List the two classifications of data object types
• Explain the difference between a process data object and
a project data object
• Describe how data can be mapped throughout a process
• Create a business object
• Declare a process or project data object
• Explain how business indicators are used in Process
Analytics

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

Oracle BPM 11g: Implement the Process Model 4 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Handling Information in a Process

A process must work with information to:


• Initialize values that are needed at the beginning of the

Oracle University and BUSINESS & DECISION LATAM SAC use only
process
• Map information from one process flow element to another
– By passing process data to services that require it, and
receiving the potentially changed data back
• Use stored information to determine conditional branching

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

Information must be stored and must flow through a process. Processes access and store
information. The process flow is often based on the value of this information. In other cases,
running the tasks in the process creates information that has business value.

Oracle BPM 11g: Implement the Process Model 4 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Process Instance

• It is a single enactment of the process.


• Examples:

Oracle University and BUSINESS & DECISION LATAM SAC use only
– An order in an order management system
– A quote in a sales quote process
• It travels through the process from flow object to flow
object.
– When the process is initiated, an instance is created.
– The instance follows transitions based on business logic.
– Instance
I t variables
i bl are modified
difi d as th
the iinstance
t ttraverses th
the
process.

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

A process instance is a single enactment of a process—for example, an order in an order


management system or a quote in a sales quote process.
You can think of the process instance as traveling through the process from activity to activity,
branching according to how the business logic has been defined.
Either a process participant or the system acts on the instance, and something must trigger
(or create) the instance to get it started. In the SalesQuote example, a participant with the
Sales Rep role starts the process instance, the system determines the necessary approvals
and routes the instance accordingly, and various participants act on the instance.
Information about the instance is held in variables on the instance, and these are modified as
the instance flows through the process. For example, a SalesQuote instance contains the
details of the quote (including Sales Rep, customer, product, revenue, discount, license
terms, and so on), the approvals that are needed, and information about whether those
approvals were granted.

Oracle BPM 11g: Implement the Process Model 4 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Token

Oracle University and BUSINESS & DECISION LATAM SAC use only
• A token is a theoretical concept representing the current
point of execution in a process
• When there are p parallel p
paths, a single
g item mayy be
represented by multiple tokens.

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

BPMN uses the term token as a conceptual shorthand to represent the current point of
execution in a process. The BPMN standard describes tokens as follows:
We employ the concept of a token that will traverse the sequence flow and pass through the
“We
elements in the process. A token is a theoretical concept that is used as an aid to define the
behavior of a process that is being performed. The behavior of process elements can be
defined by describing how they interact with a token as it “traverses” the structure of the
process.”
A business process can have multiple tokens that indicate that the process is running in
multiple paths.

Oracle BPM 11g: Implement the Process Model 4 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

BPM Processes and Information

Is it a credit order?
(paymentType == “Credit”)

Oracle University and BUSINESS & DECISION LATAM SAC use only
Is the product in stock?
(orderStatus == Is the credit score less than the minimum allowed?
“BackOrder”) (creditScore < MIN_CREDIT_SCORE)

Processes access, manipulate, and store information.


• Running process tasks may change values.
• Values can determine process branching.

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

The main elements of a business process are:


• Tasks
• Information related to those tasks
The information of a process may change as you run the process. Depending on the value of
this information, a given process instance may take one path or another.
In the case of a business process that handles purchases, any number of purchase orders
can traverse a business process that handles purchases. Every instance has a specific
history and properties. Every instance contains such data as customer name, a list of items,
an amount due,, and dates of deliveryy and payment.
p y
An instance can also have various status conditions. For a purchase order, you want to know
if it has been approved, billed, or paid for, and if the requested products have been shipped.
Variable values for a given instance may change as that instance traverses the process, and
these values often determine the branches of the process that the instance traverses. For
example, if the product is not in stock, the instance must go through the back-order process.
For a credit order, the instance must go through a credit check.

Oracle BPM 11g: Implement the Process Model 4 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Objects

• Data objects are variables that are used to store


information.

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Process data objects can be used by a single process.
– Project
j data objects
j can be used by
y all p
processes in a
project.
• Data objects have the following characteristics:
– A name that identifies the data object
– A data type that determines the type of data that can be
stored in the variable

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

Data objects store information related to each process instance that you create. The values of
these data objects are different for every instance in the process. However, the structure of
the data object is the same for all process instances.

Oracle BPM 11g: Implement the Process Model 4 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Objects

Different scope of data objects:


• Activity data objects (arguments)

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Process data objects
• Subprocess data objects
• Project data objects

Process Data Objects

Project Data Objects

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

You can view the process data objects and project data objects in the Structure window.
(The process should be selected in the BPM Project Navigator.) You can also create business
indicators to track process-specific business data, and the process engine will store their
values in the Process Analytics databases.
• Activity data objects: The services that implement activities use data objects, and the
scope of these objects is the service itself. This is why data objects must be mapped
both into the service and out of (if the service changes the data object) the service.
• Process data objects: These are created by the process engine when it creates an
instance in the process. Generally, the process data objects have different values for
each instance in the process
process. After the instance arrives at the end event,
event you can no
longer access process data objects.
• Subprocess data objects: You can access these objects from any task in a
subprocess. The process engine creates them when the subprocess is triggered. After
the instance leaves the subprocess, these data objects are no longer available.

Oracle BPM 11g: Implement the Process Model 4 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Project data objects: You can define project data objects at a project level. The scope
of project data objects is a project. The value of a project data object may vary between
processes. Generally, project data objects have different values for each instance in the
process. You can access project data objects from any process in a project. However,
the value assigned to the project data object during a process is lost when the process
finishes running. One process can make use of a project data object, but it cannot
change the value of a data object in another process of this project.

Oracle University and BUSINESS & DECISION LATAM SAC use only

Oracle BPM 11g: Implement the Process Model 4 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Access to Data Objects and Arguments

Structure Access

Oracle University and BUSINESS & DECISION LATAM SAC use only
Process data objects From anywhere in the process

Subprocess data objects From anywhere in the subprocess

Project data objects From any process in a project. However, the value
assigned to it during a process is lost when the process
finishes running.
Arguments In data associations that define inputs and outputs for
flow objects

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

Access is different from lifespan. A variable can be accessed by:


• The current activity only (local)
• The process instance
• All instances in the process
• All instances in the project processes

Oracle BPM 11g: Implement the Process Model 4 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Object Scope: Example

Activity
Data Objects

Oracle University and BUSINESS & DECISION LATAM SAC use only
Input Output

Process Data Objects Process Data Objects

Project Data Objects

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

Oracle BPM 11g: Implement the Process Model 4 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Activity Instance Attributes

Oracle BPM provides a predefined set of activity instance


attributes:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Most are read-only.
• They track data that applies to the whole process
process.
– Example: The status of the process
• They can be used to:
– Trigger an event
– Provide input to a service
– Determine
D t i b branching
hi
• They are accessed from:
– Data Associations editor for the activity
– Human Task editor of the task itself

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

Activity instance attributes are predefined. You cannot add your own attributes, and most of
them are read-only. For example, an instance ID is created automatically and is used to
identify a particular process instance. You cannot change the value of the instance ID.

Oracle BPM 11g: Implement the Process Model 4 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Object Types

A data type determines the type of data that can be stored in


the variable. A data object can be a basic data object or a

Oracle University and BUSINESS & DECISION LATAM SAC use only
business object.
j , defined by
• Basic data object, y using
g the basic types:
yp
– String
– Int
– Bool
– Real
– Decimal
– Time
– Interval
– Binary
• Business object: Created with attributes; each attribute can
be either a basic data object or another business object.

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

Oracle BPM 11g: Implement the Process Model 4 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Basic Objects and Business Objects

Basic Data Objects

Price:Decimal name:String date:Time

Oracle University and BUSINESS & DECISION LATAM SAC use only
available:Bool cost:Real stock:Real

Can be defined in BPM Studio or


Business Objects Business Process Composer

Employee Product

id:String sku:String Brand:String

name:String type:Int Price:Decimal

age:Int
Can be defined in BPM Studio and
used in Business Process Composer

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

Business objects are also called “complex data objects.”


This diagram shows examples of:
• Basic data objects: Defined by using basic types
• Business objects (also called “complex data objects”): Defined by using basic types
and other business objects
Business objects enable you to create data structures based on basic data objects. For
example, you can create a business object called “employee” that contains different data
types for employee name, ID, and age.

Oracle BPM 11g: Implement the Process Model 4 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RequestQuote: Sample Data Objects

• Can you identify the


basic versus complex

Oracle University and BUSINESS & DECISION LATAM SAC use only
data objects?
• What tool was used to
create the complex
data objects?
• Can you identify the
process-level objects
and the project-level
data objects?

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

The slide shows some of the data objects that are required by a fully implemented version of
the RequestQuote process. These examples should give you an idea of what data objects are
and how they are used.
Toward the top of the list, you see approvalFlow. This is a complex data object and stores
information about whether Business Practices Review is required, as well as approval
specifications for the Approve Deal task.
Three of the other data objects store the outcomes of three of the approval tasks: Approve
Quote, Approve Terms, and Business Practices Review.
The data objects at the bottom of the list are project-level data objects. As you learn in the
lesson titled “Using Process Analytics,” these are a special kind of project data object:
business indicators for which business users want measures in addition to the standard
process metrics that Oracle BPM typically stores. Their values are automatically stored in the
Process Analytics database, and you can monitor them in Business Process Workspace and
Oracle BAM.

Oracle BPM 11g: Implement the Process Model 4 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business Objects and XML Schema

All business objects are represented by XML schema:


• You can create a business object from an XML schema.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• You can create a business object interactively by using
JDeveloper.
JDeveloper
– In this case, a schema is created to represent the business
object.

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

Oracle BPM 11g: Implement the Process Model 4 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

XML Schema for a Simple Business Object

<xs:schema targetNamespace= ... text removed ...>

Oracle University and BUSINESS & DECISION LATAM SAC use only
<xs:complexType name="HelloObjectType">
<xs:sequence>
<xs:element name="date" nillable="true"
type="xs:dateTime"/>
<xs:element name="message" nillable="true"
type="xs:string"/>
<xs:element name="greeting" nillable="true"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
/ l T
<xs:element name="HelloObject"
type="HelloObjectType"/>
</xs:schema>

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

The code in the slide shows an XML schema. XML schemas can be viewed in any text editor.
Most business objects are likely to be much more complex than this example. The individual
variables that make up the business object can themselves be business objects (as you will
see in the practice for this lesson).

Oracle BPM 11g: Implement the Process Model 4 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

HelloObject.xsd

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

You can also view the XML schema in BPM Studio. In that case, you can view the source as
shown in the previous slide, but you can also view a diagrammatic representation of the
business object.
Note: You cannot find the file by using the Application Navigator. Instead, select File > Open
to open the file.
If you created the file by using JDeveloper, it is in the businessCatalog folder.

Oracle BPM 11g: Implement the Process Model 4 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Naming Conventions for Data Objects

The following naming conventions are recommended:


• Use one or more nouns, or nouns modified by adjectives.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Do not start the name with a number.
• Use capital letters to distinguish only internal words
words.
• Keep names simple and descriptive.
• Use whole words and avoid using acronyms (unless they
are widely known).
• Examples of good naming:
– approvalFlowInfo
– studentID
– approvalQuoteOutcome

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

Oracle BPM 11g: Implement the Process Model 4 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following are ways to create a business object?


a. By importing an XML schema

Oracle University and BUSINESS & DECISION LATAM SAC use only
b. By importing a Java class
c By using JDeveloper to create a data object and adding
c.
attributes
d. By using JDeveloper to create a business object from a
data object

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

Oracle BPM 11g: Implement the Process Model 4 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Mapping

• Data input (input argument) refers to the data that is


required in the activity (task or subprocess) or process.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data output (output argument) refers to the data that is
produced by
p y the activity
y or p
process.
• The start event has only output. The end event has only
input.
• The output of the start event and the input of the end event
determine the arguments of the process.

• Customer ID Customer Record


(Data Object) (Data Object)
• Customer Name
• (Data Object)
Input Output

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

You can use arguments to pass data between different components in a process. In fact, a
component may require that you provide certain data when you invoke it. To pass this data,
you use input arguments.
When you run a component, it provides its results in output arguments.

Oracle BPM 11g: Implement the Process Model 4 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Association

Data association is used to create data mappings.


• Data association is used to map data objects (variables) to

Oracle University and BUSINESS & DECISION LATAM SAC use only
data inputs and outputs (arguments).
• Data associations can be defined for all the activities of a
process.
• BPMN designates XPath and XSLT as defaults for
representing data associations.

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

Data association is used to pass the information stored in data objects in the following
contexts:
• Tooa and
d from
o aanother
ot e pprocess
ocess o
or se
service
ce invoked
o ed from
o a BPMN p process
ocess
• To and from a Human Task service
• To and from an Oracle business rule
• To and from a script task

Oracle BPM 11g: Implement the Process Model 4 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Setting Up Data Mapping

Data associations can


be set up using the

Oracle University and BUSINESS & DECISION LATAM SAC use only
Data Associations
editor for the activity.

Data Associations
section of
Implementation
tab. Click to open
Data Association
editor.

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

The screenshot is from HelloWorldProcess and shows the Implementation tab of the
properties of an activity that is implemented through a human task. Because the activity asks
the user to enter a date, a greeting, and a message, data associations must be used to map a
HelloObject parameter in and out of the Request Hello task.

Oracle BPM 11g: Implement the Process Model 4 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Associations Editor

Input mapping tab:

Oracle University and BUSINESS & DECISION LATAM SAC use only
Drag inputs to Input
Arguments for input
mapping.

Input
Data Objects
Arguments
(Inputs)

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

This example shows the mapping for the activity that enables the user to enter the date, a
greeting, and a message. Mapping has not yet been done.
The right side represents the task implementation (in this case, a human task used to
implement a user activity). You can see input arguments defined for the human task.
The left side shows process data objects defined in the process. These are available to map
to the human task service and, specifically, to a particular input argument defined for this
specific human task service.

Oracle BPM 11g: Implement the Process Model 4 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Associations Editor

Output mapping tab:


Drag output arguments
to Outputs for output
mapping.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Output
Arguments

Data Objects
(output)

Mapped Data
Association

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

Multiple associations can be mapped. When they are mapped, there are multiple rows in the
From–To table.
Output mapping is the inverse of input mapping. The task service might make changes to the
data during its execution. Those changes must be mapped back to the process.

Oracle BPM 11g: Implement the Process Model 4 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Overview of “Quote” Data Object


of SalesQuoteLab

Quote.xsd Quote quote (Process

Oracle University and BUSINESS & DECISION LATAM SAC use only
(Business Data Object)
Object)
• QuoteRequest is an • Based on • Used
element. QuoteRequest throughout the
• Element element in process
QuoteRequest Quote.xsd
based on
QuoteRequestType

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

The steps to create the data object are covered in the following two sections.

Oracle BPM 11g: Implement the Process Model 4 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Business Object

You can create a business object in two ways:


• Importing it from an XML schema

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating it by using the tools in JDeveloper

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

Oracle BPM 11g: Implement the Process Model 4 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Business Object by Using JDeveloper

Oracle University and BUSINESS & DECISION LATAM SAC use only
1 2
Right-click Select
Business New > Business
Catalog. Object.

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

Oracle BPM 11g: Implement the Process Model 4 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Enter Name and Destination Module

4 Enter a name for


3 the destination
Enter a name

Oracle University and BUSINESS & DECISION LATAM SAC use only
for the business module (either a
object. new name or an
existing module).

Click here to
search for a
destination
module.

5
Click
OK.

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

Oracle BPM 11g: Implement the Process Model 4 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Adding Attributes

Oracle University and BUSINESS & DECISION LATAM SAC use only
Enter a name and type
7 for the attribute in the
dialog box that
appears.
The new
6 8 attribute
Click the icon to appears in
add an attribute the editor.
to the business
object.

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

Attributes can be simple data types, or they can be other business objects.

Oracle BPM 11g: Implement the Process Model 4 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

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

Oracle BPM 11g: Implement the Process Model 4 - 36


Business Objects in the Data Catalog

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Importing an XML Schema

1
Right-click Business

Oracle University and BUSINESS & DECISION LATAM SAC use only
Catalog and select
New > Business
Object.
2
Enter the
name and
module.

4
Select “Based on
3 External Schema.”
Click here to
search for the
schema.

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

Oracle BPM 11g: Implement the Process Model 4 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Importing an XML Schema

Oracle University and BUSINESS & DECISION LATAM SAC use only
5
Find the
xsd file.
.xsd file

6
Select the
type and
click OK.

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

Oracle BPM 11g: Implement the Process Model 4 - 38


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Process Data Object

1 Right-click

Oracle University and BUSINESS & DECISION LATAM SAC use only
Process Data
Objects and
select New.

3
If the type is
a business
object, click
2 here.
Enter the
name and
type.

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

Oracle BPM 11g: Implement the Process Model 4 - 40


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Process Data Object

Oracle University and BUSINESS & DECISION LATAM SAC use only
4
Select the type.

The business
5 object is now
exposed as a
process data
object.

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

The procedure for creating a project data object is exactly the same as the procedure for
creating a process data object.

Oracle BPM 11g: Implement the Process Model 4 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following can be used in a process? (Choose all


that apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Data object
b Business object
b.
c. Process data object
d. Project data object

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

Oracle BPM 11g: Implement the Process Model 4 - 42


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Working with information in a process


• Data objects and their scope

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Data object types and their representation
• Data mapping and data association
• Creating business objects
• Declaring process and project data objects
• Defining business indicators

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

Oracle BPM 11g: Implement the Process Model 4 - 43


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business Indicators

Business indicators:
• Capture metrics that are

Oracle University and BUSINESS & DECISION LATAM SAC use only
important to the business
• Are pproject
j data objects
j
(by definition)

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

Oracle BPM 11g: Implement the Process Model 4 - 44


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Three Types of Business Indicators

Type Usage Examples Data Types

Oracle University and BUSINESS & DECISION LATAM SAC use only
Measure As a fact: effortPersonHour, Integer, Real,
Numerical data that you sales total
total, Decimal
want to measure orderAmount,
discount
Dimension To indicate how data severity, product String, Boolean,
can be filtered or type, region, Time, Integer, Real,
grouped industry, revenue Decimal
Counter As a frequency: codeBugs,
codeBugs Integer
How often an instance numOfDeals,
enters certain activities numQuoteEdits

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

The table in the slide shows the three types of business indicators, each serving a different
purpose and each defined using specific data types.

Oracle BPM 11g: Implement the Process Model 4 - 45


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Measures

Sales Rep James Cooper

Oracle University and BUSINESS & DECISION LATAM SAC use only
Account ABC Corp
Address Demo Way
Industry Software
Product BPM Suite
Quantity 1
Revenue $115,000
Discount 40%

Measures store the value of a measurable KPI


KPI.

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

Measures must be defined by using one of the following data types:


• Int
• Real
• Decimal
In the RequestQuote process, you can choose Quantity, Revenue, or Discount. In the Sales
Quote Demo example, the only business indicator of type “measure” is discount. Revenue is
used as a dimension.

Oracle BPM 11g: Implement the Process Model 4 - 46


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Dimensions

300 One Dimension


250
200 Three Dimensions
Effort

Oracle University and BUSINESS & DECISION LATAM SAC use only
150 90
100
50 Product A
75
P d t B
Product
0 60
Product C

Effort
45

150 Two Dimensions 30

100 15
Efforrt

0
50 1 2 3 4
Severity

0
1 2 3 4
Severity

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

Dimensions are used to store KPI values. You can group the values of the measure business
indicators into different categories when you build dashboards to monitor and analyze your
process. The dimensions specify how Process Analytics data can be sliced.
Notice how the second chart adds the Severity dimension, and the third chart adds to that the
Product dimension.
Dimensions must have a finite set of values. Good choices for String dimensions have a finite
set of values (for example, a finite set of products). For numbers and time, you must specify a
set of ranges for the data.

Oracle BPM 11g: Implement the Process Model 4 - 47


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Counters

How often did the quote get


revised?

Oracle University and BUSINESS & DECISION LATAM SAC use only
How often was Business
Practices Review required?

• Counts the
C h number
b off times
i an iinstance enters an activity
i i
• Can be used to identify which process path the instance
followed
• Must be used with counter marks

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

Counters keep track of the number of times an instance completes a certain activity. You must
use counters together with counter marks (which graphically mark the position in the process
where the counting occurs).
You can use counters to determine:
• How many instances took specific process paths
• How many times a given instance went through a specific activity
You can see the value of counters in custom dashboards.

Oracle BPM 11g: Implement the Process Model 4 - 48


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Steps to Capture Business Relevant Events


at Run Time
Steps Studio Composer

1 Create business indicators to capture relevant Yes Yes

Oracle University and BUSINESS & DECISION LATAM SAC use only
metrics.
2 a. Associate the counter with tasks. Yes Yes
b. Assign values to the measure and
dimensions.
3 Identify sampling points for capturing business Yes Yes
indicators and time stamps at various levels.
4 (Optional) Reconfigure the data targets: BPM Yes No
Cubes Oracle BAM,
Cubes, BAM or both.
both
5 Deploy the project. Yes Yes

6 Configure custom dashboards in BPM NA NA


Workspace, and create real-time reports in
BAM.

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

For details about performing steps 1, 2, 3, and 5 in Business Process Composer, see the
Oracle BPM 11g Modeling course.

Oracle BPM 11g: Implement the Process Model 4 - 49


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Business Indicators

In the Structure pane, right-click Business Indicators


1 and select New. Choose the type of business
indicator you want to create.

Oracle University and BUSINESS & DECISION LATAM SAC use only
After you click OK, the business indicator
you created appears in the Structure pane.

2 3

Configure the details for the business


indicator. For example, if you selected
Dimension, you must specify the dimension
name, type, and ranges.

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

Oracle BPM 11g: Implement the Process Model 4 - 50


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

______________ specify how Process Analytics data can be


filtered or grouped.

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Measures
b Counters
b.
c. Dimensions

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

Oracle BPM 11g: Implement the Process Model 4 - 51


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• List common requirements for managing information in a

Oracle University and BUSINESS & DECISION LATAM SAC use only
process
• List the two classifications of data object types
• Explain the difference between a process data object and
a project data object
• Describe how data can be mapped throughout a process
• Create a business object
• Declare a process or project data object

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

Oracle BPM 11g: Implement the Process Model 4 - 52


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 4-1 Overview:


Creating Business Objects
This practice covers the following topics:
• Creating a business object by importing an XML schema

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Declaring process data objects to be used in later
practices

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

Oracle BPM 11g: Implement the Process Model 4 - 53


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

I l
Implementing U
ti User T k
Tasks

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

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• Provide a high-level description of how a user task is

Oracle University and BUSINESS & DECISION LATAM SAC use only
implemented
• List the two types of human task forms that can be created
using the development tools of Oracle BPM
• Map input data from a process data object to a human task
service and then back to the process flow
• Create a default ADF form for a human task
• Describe
D ib th
the diff
differentt ttypes off human
h ttask
k service
i patterns
tt

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

Oracle BPM 11g: Implement the Process Model 5 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of human tasks


• Creating a human task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms

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

Oracle BPM 11g: Implement the Process Model 5 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

User Interaction

In a BPM process, three components work together to define


the human interaction:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• User task (user activity)
– Defines where the interaction occurs in the process
• Human task
– Defines how the interaction occurs (approval flow, security,
and other properties)
• Task form
– Defines the human interface

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

A user interaction in the BPM process is managed by three components working together:
• User task (also called the “user activity”): The flow element that is used to mark the
position,
pos t o , in tthe
epprocess
ocess flow,
o ,oof tthe
e human
u a interaction.
te act o The ed
different
e e t types o
of use
user tas
tasks
s
(User, Initiator, FYI, Group, and so on.) show different patterns of interaction, most of
which are actually defined in the properties of the human task.
• Human task: Represents a collection of properties that define how the interaction will
occur. This includes security properties, the approval flow for the human task, escalation
assignment, and several other properties that you will see in subsequent slides.
• Task forms: Web forms that define the user interface for this particular user interaction.
Y learn
You l h
how tto create
t task
t k forms
f in
i the
th lesson
l entitled
titl d “Creating
“C ti W Web b Forms
F in
i
Business Process Composer” and in the lesson entitled “Creating the User Interface by
Using ADF.”
In this lesson, you learn about human tasks.

Oracle BPM 11g: Implement the Process Model 5 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Implementation

• User task modeling elements (user tasks) are implemented


by human tasks.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human tasks are executed by the SOA human workflow
engine.
g

Human tasks for a simple


HelloWorld process

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

Human tasks can be viewed in the Business Catalog under HumanTasks (HumanTasks is a
predefined module). The remainder of this lesson shows how they are created and
represented in the various editors of JDeveloper.

Oracle BPM 11g: Implement the Process Model 5 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Role of the Human Workflow Engine

Oracle University and BUSINESS & DECISION LATAM SAC use only
Human Business
BPEL BPMN
Workflow Rules

Unified Run Time

Each user activity calls a


Process runs on
human task running on the
BPMN engine.
human workflow engine.

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

When a token arrives at a user activity, control is passed from the BPMN process to Oracle
Human Workflow. Although both are part of Oracle BPM Run Time, control is not passed back
to the BPMN process until the human task is completed.
After the workflow is complete, control is passed back to the BPMN process, any required
data objects are passed back to the user activity, and the token moves to the next activity in
the process.

Oracle BPM 11g: Implement the Process Model 5 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of human tasks


• Creating a human task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms

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

Oracle BPM 11g: Implement the Process Model 5 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Human Tasks

You create and configure human tasks by using:


• BPM design editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Creates the human task and sets data and assignment
• Human task editor
– Enables you to further modify the human task

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

You start building a human task by using the BPM design editor. This editor gives you some
useful default values and may be all you need. If you need to further customize the human
task (as you do in the lesson titled “Defining Human Workflows”), you use the human task
editor, which gives you a wide range of flexibility and creativity.
Using the BPM design editor, you get the data parameters and the participant assignment for
the human task (based on the swim lane). You also get the settings that are related to the
human task pattern that you have chosen. But many more settings are available in the human
task editor, and if you want to use more granular human workflow or approval management,
you must use the human task editor.

Oracle BPM 11g: Implement the Process Model 5 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Human Task


by Using the BPM Design Editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
Request Hello user
task currently has no
implementation.

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

The following slides illustrate using the BPM design editor to create a human task
implementation for the Request Hello user task. In the simple process shown in the
screenshot, notice that the SOA Composite Editor shows that the Request Hello user task has
a warning (the yellow exclamation point) because it does not have an implementation.

Oracle BPM 11g: Implement the Process Model 5 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

User Task “Properties” Dialog Box

2
Click the

Oracle University and BUSINESS & DECISION LATAM SAC use only
Implementation
tab in the
Properties
di l b
dialog box.

3
1 Click the
Right-click
Ri ht li k Create icon.
icon
the user task
to open
Properties.

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

There is no one-to-one relationship between user tasks and human tasks. Creating a human
task (as shown in the slide) does ensure a new human task for a user task. However, instead
of creating a human task, you can just choose an existing human task from the Business
Catalog by clicking the Search icon (the magnifying glass) rather than the Create icon (the
green + symbol). It is possible, although unlikely in practice, for several user tasks to be
associated with the same human task.

Oracle BPM 11g: Implement the Process Model 5 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

“Create Human Task” Dialog Box (1 of 2)

4
Enter a name
for the human
task.

Oracle University and BUSINESS & DECISION LATAM SAC use only
5
Click to open the
Click to open the
Pattern drop-
drop down
down list, and
Pattern, then
then select the
select the pattern
pattern you
of your choice
require.

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

The sequence shown in the slide shows the basic patterns you can choose. The patterns are
covered in detail later in this lesson.

Oracle BPM 11g: Implement the Process Model 5 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

“Create Human Task” Dialog Box (2 of 2)

6 Enter a name 7 Click this icon to


for the human open the Data
task. Object window.

Oracle University and BUSINESS & DECISION LATAM SAC use only
8
Add
Enterparameters
a name
by
for dragging
the humanfrom
the
taskData Object
window.

Click OK to accept 9
settings for the new
human task.

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

When you click OK, a message indicates that the human task is being created. Soon, both the
Data Object window and the Create Human Task dialog box close.
Note: You can also add an outcome target by dragging a data object to that field. This
enables you to persist the task outcome (the string value of the button that the user clicks) so
that it can be evaluated later in the process flow.

Oracle BPM 11g: Implement the Process Model 5 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Data Associations

Oracle University and BUSINESS & DECISION LATAM SAC use only
10
Click the icon to
see data
associations.

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

A data association is set up automatically for the parameter(s) added in step 8. You can look
at data associations by clicking the link shown in the screenshot.

Oracle BPM 11g: Implement the Process Model 5 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Data Associations

Oracle University and BUSINESS & DECISION LATAM SAC use only
11
Define the
input
mapping.
i

12
Define the
output
mapping.

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

The screenshot shows data associations set up for both input and output. However, in the
case where the hello data object does not have any data before the human task, there is no
input data association that is set up automatically.

Oracle BPM 11g: Implement the Process Model 5 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Assignment to User Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
The new
New human
human
tasktask
shows upininBusiness
appears Business
Catalog and in SOA
Composite Editor.
Editor

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

Now that the human task has been assigned to a user task, this assignment is displayed in
the Composite Editor as well as the Business Catalog. Note the wire between
HelloWorldProcess and RequestHello in the composite editor that illustrates this assignment.
Double-clicking the human task in the Business Catalog opens the human task editor in the
main canvas.

Oracle BPM 11g: Implement the Process Model 5 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Settings

The Data tab shows the

Oracle University and BUSINESS & DECISION LATAM SAC use only
parameter that was
added in the Human Task
g box.
dialog

The Assignment tab


shows the default
participant
assignment for the
human task, based
on the swim lane.

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

The screenshot shows the human task editor for the RequestHello task after it has been
created by the BPM design editor. The parameter added by dragging the HelloObject to the
parameters section of the Create Human Task dialog box is displayed on the Data tab. Also,
on the Assignment tab, a default assignment has been added.

Oracle BPM 11g: Implement the Process Model 5 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Properties: Summary

The following human task properties can be set by using the


BPM design editor:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Pattern: Determines the type of human task
– Also determines the button set that appears and the resulting
output string(s)
• Title: The Worklist application uses the title to identify and
display the human task.
• Outcome: The string outcome argument of the human task
• Parameters: The parameter that the human task requires
to run, and the parameters to be passed back to the
process
• Priority: Can be a value between 1 and 5. Tasks in the
worklist can be sorted by priority.

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

These are not all of the properties of the human task―only the ones that are set when you
use the Create Human Task dialog box in the BPM design editor. You access all of the
remaining properties by using the human task editor. In the lesson titled “Defining Human
Workflows,” you create more complex human workflows by using the human task editor.

Oracle BPM 11g: Implement the Process Model 5 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of human tasks


• Creating a human task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms

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

Oracle BPM 11g: Implement the Process Model 5 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Patterns and Button Sets

Initiator pattern creates


a SUBMIT button.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Simple pattern creates
APPROVE and
REJECT buttons.

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

Human task patterns enable the selection of an approval management pattern for the human
task to use. Possible values are:
• S Simple
pe
• FYI: Bases assignment on the participant, role, or group defined in the swim lane. This
is similar to the user interactive activity, but the FYI activity does not wait until
completion before continuing.
• Management: Uses the management chain pattern, in which the assignee is set to the
management chain pattern for the process participant belonging to the group or role
assigned to the swim lane
• Group: Uses the group vote pattern. The assignee for the human task is automatically
set to the role or group that is associated with the lane. This interactive activity can be
added only to swim lanes that are assigned to roles or groups.
• Complex: Uses a complex routing flow that is defined in the human task
• Initiator: Used to create a process instance

Oracle BPM 11g: Implement the Process Model 5 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Sticky User

You can specify who should execute a human task in a


particular role:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Anyone in the role (default)
• Only the same user who performed the previous task in
the process flow (previous performer)
– “Sticky user”
• Someone other than the previous user

Does not apply when


the pattern is Initiator
or Complex

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

You may want to specify that the user who executes a user task should be the same user who
executed the previous user task in the process. This is called a “sticky user”. You can
configure this in the Create Human Task dialog box (as shown in the slide).
You can also do exactly the opposite: specifying that the user who performs a user task
should be a different user than the person who performed the previous user task.
The default setting is “Anyone in role.”
The Performer properties that you see in the slide do not appear in the Create Human Task
dialog box when you choose either the Initiator pattern or the Complex pattern.

Oracle BPM 11g: Implement the Process Model 5 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Human Task Outcomes

Oracle University and BUSINESS & DECISION LATAM SAC use only
Initiator pattern creates
a SUBMIT button.

Simple pattern creates


APPROVE and
REJECT buttons.

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

As you have seen, the outcome of the human task is a string value that represents the button
that the user clicked. In the example on the left, the human task outcome is “Submit.” The
example on the right, showing a simple pattern, results in a task outcome of either “Accept” or
“Reject,” depending on which button the user clicked.
Recall that, when the human task is defined, you can assign the task outcome to a target data
object (see the slides titled “‘Create Human Task’ Dialog Box”). If you map an outcome target
in the human task properties, this value becomes available to the outgoing sequence flow so
that it can be used for conditional branching of the process. For example, if the outcome is
“Approve,” follow one branch of the process flow; otherwise, follow the other branch.

Oracle BPM 11g: Implement the Process Model 5 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of human tasks


• Creating a human task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms

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

Oracle BPM 11g: Implement the Process Model 5 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

More About Human Task Parameters

Oracle University and BUSINESS & DECISION LATAM SAC use only
HelloObject hello will be available
as an input or output parameter.

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

Parameters are set up for the human task by dragging them from the Data Object window on
the right to the Parameter pane of the Create Human Task window. These parameters are
now available for data association as input parameters (if Editable is not selected) or as input
and output parameters (if Editable is selected).

Oracle BPM 11g: Implement the Process Model 5 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

More About Human Task Data Associations

Output mapping has


automatically been set up

Oracle University and BUSINESS & DECISION LATAM SAC use only
because the parameter was
declared as editable.

No input mapping
is set up because
this is an Initiator
type human task.

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

In the example in the slide, no auto input mapping is shown, although output mapping has
been automatically set. Input mapping does not make sense in this scenario because this
user task is an Initiator type pattern. Initiator user tasks are used to initiate the process
instance.

Oracle BPM 11g: Implement the Process Model 5 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Mapping Outcome

Hellohello
The parameter not editable
parameter is not
therefore no helloObject

Oracle University and BUSINESS & DECISION LATAM SAC use only
editable. Therefore, no HelloObject
available
is forfor
available output
output.

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

The example in the slide shows parameters added for a Review task on a very simple
HelloWorld process. The user enters a greeting and a message, and then the process goes to
a reviewer, who can approve or reject the greeting or message. The Review human task must
be set up as shown in the screenshot because:
• The reviewer must be able to see what the user entered, so the value in HelloObject
must be passed to the human task as the hello parameter
• The reviewer clicks Approve or Reject, and this places the string APPROVE or REJECT in
the outcome. This must be mapped to the project data object (which in this example is
reviewOutcome) so that it can be used later for branching.

Oracle BPM 11g: Implement the Process Model 5 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

How do you ensure that a parameter can be mapped from a


human task?

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Make the parameter an output parameter.
b Make the parameter editable
b. editable.
c. Make the parameter a mappable parameter.
d. Make sure that the parameter is not null.

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

Oracle BPM 11g: Implement the Process Model 5 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of human tasks


• Creating a human task

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms

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

Only the basics of creating a default task form are covered in this section. You learn about
creating and customizing more complex forms in the lesson titled “Developing the User
Interface by Using ADF.”

Oracle BPM 11g: Implement the Process Model 5 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Task Forms

Human tasks are implemented with task forms.


• Task forms that are used in a BPM application can be

Oracle University and BUSINESS & DECISION LATAM SAC use only
either:
– ADF (Application Development Framework) forms
– Web forms
• ADF forms are created in BPM Studio by using:
– Wizards to create default forms
– The ADF page editor for more sophisticated user interfaces
• W b fforms are created
Web t d in
i BBusiness
i P
Process C
Composer

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

In the lesson entitled “Creating Web Forms in Business Process Composer,” you learn to
create web forms using the simple drag-and-drop interface that your collaborators (the
process analysts) also use for this purpose. Later, in the lesson entitled “Developing the User
Interface by Using ADF”, you learn how to create ADF forms and task flows for a more
sophisticated user interface.
In the practice for this lesson, you create a simple default ADF form for one of the human
tasks. In the next few slides, you learn the basic steps for creating the default ADF form.

Oracle BPM 11g: Implement the Process Model 5 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Default Human Task Form

Select

Oracle University and BUSINESS & DECISION LATAM SAC use only
Auto-Generate Task Form.

Enter a name for the


project that will contain
the task form.

After you click OK, BPM


StudioStudio
will
creates the web application.
create the web application.

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

To create a human task form, you first open the human task in the human task editor. The
screenshot at the top of the slide shows EnterQuoteDetails.task (the human task) open in the
human task editor. You can open this editor by right-clicking the user task in the process
design editor and selecting Open Human Task.
1. Click the Create Form drop-down menu and select Auto-Generate Task Form.
2. The task form must be in a different project than the BPM process, so you enter a new
project name in this step. The project and all of the necessary files are created when
you click OK.
3. BPM Studio creates the containing web application. You are prompted with three pop-up
di l b
dialog boxes tto select
l t th
the columns
l tto di
display
l and d tto supply
l other
th confirmations
fi ti ((which
hi h
are covered later).
4. After confirming your choices, the new web form opens in the ADF page editor. By
default, it opens in Design mode.

Oracle BPM 11g: Implement the Process Model 5 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Task Form in Studio Editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
Select a field
field.and
Thethe
parameters for the field
appear in
i property
th
the property
t t
inspector.
inspector

Click the Source


tab to see the Click the Bindings tab to
.jspx source. see data bindings.

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

The form is created automatically and includes fields based on the parameters (which are
called the “payload”) of the human task. The screenshot on the left shows the form in the ADF
page editor.
In this case, there are fields for Date, Greeting, and Message. You can modify the form at this
point. For example, you can easily change the format of a field by selecting it and then making
changes in the property inspector. The property inspector is shown on the right.
Notice the tabs at the bottom of the ADF page editor. Using these tabs, you can switch to
alternate views of the web form. You can view the .jspx source or view the automatic
bindings that are created to the respective form fields of the payload parameters. You can
also
l previewi th
the fform on th
the P
Preview
i ttab.
b

Oracle BPM 11g: Implement the Process Model 5 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Application Navigator View of Task Flow

Oracle University and BUSINESS & DECISION LATAM SAC use only
TaskFlow file that
defines the connection
between
taskDetails1.jspx
and the human task

The
t kD t il 1 j
taskDetails1.jspx
file defines the
webpage.

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

You can view all the created files in the Application Navigator. Two of the most important files
are:
• <task_name>_TaskFlow
- Defines the link to the .jspx file
• taskDetails.jspx
- The .jspx file that creates the task form

Oracle BPM 11g: Implement the Process Model 5 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Task Flow

Oracle University and BUSINESS & DECISION LATAM SAC use only
This task flow defines
This taskflow defines
taskDetails1.jspx
taskDetails1.jspx as
as the .jspx file to
the jspx file to use
use.

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

You can also examine the task flow in the main pane of BPM Studio. Both the Diagram tab
and the Overview tab enable you to see the .jspx file that is used to create the task form
(the source also has this information).

Oracle BPM 11g: Implement the Process Model 5 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• Provide a high-level description of how a user task is

Oracle University and BUSINESS & DECISION LATAM SAC use only
implemented
• List the two types of human task forms that can be created
using the development tools of Oracle BPM
• Map input data from a process data object to a human task
service and then back to the process flow
• Create a default ADF form for a human task
• Describe
D ib th
the diff
differentt ttypes off human
h ttask
k service
i patterns
tt

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

Oracle BPM 11g: Implement the Process Model 5 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 5-1 Overview:


Implementing the GetQuoteRequest User Task
This practice covers creating:
• A new human task by using the BPM design editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
simplified UI
• A default task form for the human task

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

In this practice, you work on the SalesQuote process. It is more complex and realistic than the
HelloWorld process that was used to illustrate concepts in this lesson.

Oracle BPM 11g: Implement the Process Model 5 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 5-2 Overview:


Implementing the Remaining User Tasks
This practice covers creating new human tasks for three user
activities in the SalesQuote process.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 5 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Writing E i
W iti Expressions and I iti li i
d Initializing

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


V i bl
Variables

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• List and describe the types of expressions that can be

Oracle University and BUSINESS & DECISION LATAM SAC use only
used in a BPM process
• List three scenarios in which you might need to write an
expression in your process
• Explain the purpose of a script task

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

Oracle BPM 11g: Implement the Process Model 6 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Modifying Variable Values

Code is needed to:


• Initialize variables

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Define conditions
• Calculate a date or time
• Modify a variable before making a data association
• Drive a loop in a loop marker
• Specify loop cardinality in a multi-instance marker

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

OBPM is essentially a zero-code environment. However, you must use expressions because
some BPM elements require you to write a condition or an expression that defines their
behavior. For example, you might want to control the flow of your process by using a
conditional sequence flow that ensures that all expenses of more than $500 are approved by
a manager.
To write Oracle BPM expressions and conditions, you can use any of these three tools:
• Simple Expression Builder
• XPath Expression Builder
• XSLT

Oracle BPM 11g: Implement the Process Model 6 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Types of Data Modifications

• Plain text
– Literal strings without use of variables or functions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Simple
– Literal strings (enclosed in double quotation marks)
marks),
variables, and some functions and operators
– Expression Builder lets you select variables.
• XPath
– Literal strings (enclosed in single quotation marks), variables,
and a rich set of functions
– Expression Builder lets you select variables.
• XSL transformation
– Any modification to XML that can be achieved with XSL
– Visual XSL mapping editor with rich function set

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

All editor fields allow plain text; many also allow simple expressions or XPath expressions.
XSL transformations are another way to modify business object values by transforming the
XML that is the basis of all business objects.
Expressions are used in the BPM and SOA editors, as in the following examples:
• Human task title
• Human Workflow editor for dynamic assignment of users and groups
• Data associations between various services (human workflow, business rules, and so
on) and the BPM process
• Conditional transitions

Oracle BPM 11g: Implement the Process Model 6 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Expressions Used in Human Tasks

Text entered

Oracle University and BUSINESS & DECISION LATAM SAC use only
here will be
copied to the
human task.

Can be plain
text or a
combination of
text and XPath

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

The title can also be set with the properties of the task, as shown in the screenshot.

Oracle BPM 11g: Implement the Process Model 6 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Simple Expression in a Data Association

Can modify
data in a data

Oracle University and BUSINESS & DECISION LATAM SAC use only
association

Opens the
Data Associations
editor

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

You can use a simple expression or an XPath expression in the data association for an
implemented task. The next few slides illustrate using a simple expression.

Oracle BPM 11g: Implement the Process Model 6 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Simple Expression

Clicking the Function


icon opens the
expression editor.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

The example shows helloObject being populated by putting content in the input parameters.
Note that text must be in double quotation marks. Note also the special notation ‘now’ for
supplying the date.

Oracle BPM 11g: Implement the Process Model 6 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Variables in Workspace

Oracle University and BUSINESS & DECISION LATAM SAC use only
Variable values
displayed in
workspace

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

Variables that are initialized in the input data association of the human task display the values
that have been set when a user opens that task in the workspace.

Oracle BPM 11g: Implement the Process Model 6 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Simple Expression Editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
Simple expression
for today’s date

Simple expression
mode shows a limited
set of functions.

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

You can add the available variables to the expression by selecting and clicking Insert Into
Expression. But there are other functions and operators that are available, including various
date functions such as:
• ‘now’ (shown in the Expression panel)
• String functions (contains, which is selected under Functions)
• Other numeric functions
Note: A complete list of functions and operators is provided in the Modeling and
Implementation Guide for Oracle Business Process Management.

Oracle BPM 11g: Implement the Process Model 6 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Script Task

Use a script task to modify values of data objects in a process:


• When you do not want to include data modifications in

Oracle University and BUSINESS & DECISION LATAM SAC use only
other activities
• To initialize variables before they are used in activities
• Requires no input/output mapping

Variables are usually


initialized in a script task.

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

The previous example showed variables being initialized in the input mapping of a user task.
However, it is more common to initialize variables in a separate script task at the beginning of
the process. As a result, all initialization can be in the same place.

Oracle BPM 11g: Implement the Process Model 6 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Expressions Used in a Script Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
Process data can be modified
using the Data Associations editor.

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

The script task is used to change the values of data objects in your process. Notice how it
gives you the same data association options as a human task. However, as you will see later,
the Data Associations editor of the script task looks different because it does not do any
mapping; instead, it performs a custom assignment.
The script task is used when you want to change the value of data objects in your business
process or when you must change the values of data objects outside another flow object. The
script task is often used to set the initial values of data objects at the beginning of a process.

Oracle BPM 11g: Implement the Process Model 6 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Associations in a Script Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
Only the Output tab
is available.

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

The screenshot shows the Data Associations window for the script task. Notice that there is
only an Output tab.

Oracle BPM 11g: Implement the Process Model 6 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Expression Editor

Click to add
function to add

Oracle University and BUSINESS & DECISION LATAM SAC use only
highlighted
expression or
variable.

Available
variables
are listed Select function
here. group here.

Read details of
the function here.

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

XPath has many functions available. In the Functions list, they are grouped into the following
categories:
• Advanced
d a ced Functions
u ct o s
• BPEL XPath Extension Functions
• BPM Extension Functions
• Conversion Functions
• DVM Functions
• Database Functions
• Date F Functions
nctions
• Logical Functions
• Mathematical Functions
• Node Set Functions
• String Functions
• XREF Functions
You examine a more complex XPath example later in this lesson.

Oracle BPM 11g: Implement the Process Model 6 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following is true about a script task?


a. Uses input mapping but not output mapping

Oracle University and BUSINESS & DECISION LATAM SAC use only
b. Uses output mapping but not input mapping
c Uses output mapping and input mapping
c.

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

Oracle BPM 11g: Implement the Process Model 6 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

XSL Transformations

Script tasks can go anywhere.

Oracle University and BUSINESS & DECISION LATAM SAC use only
A script task here can
modify a variable before
the write task is reached.

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

In the slide, any modification or transformation to the transformation task can be performed in
the output of Review Message or the input of Write Message.

Oracle BPM 11g: Implement the Process Model 6 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Using Transformations

1
Create the mapping

Oracle University and BUSINESS & DECISION LATAM SAC use only
from hello to
helloObject.

2
To create the XSL
file, drag the
transformation icon
onto the data object.

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

Oracle BPM 11g: Implement the Process Model 6 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Transformation File

3
Highlight the source you

Oracle University and BUSINESS & DECISION LATAM SAC use only
want to use, and then use
this button to add it to the
Selected list.

4
Use the Target drop-down
list to select the target.

5 6
Create a new transformation
by selecting Create and then Click OK to
entering a name for the create the
transformation file. new XSL file.

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

After clicking OK in the Create Transformation dialog box, you return to the Transformations
dialog box, where you can create additional transformations if needed.
The image in the lower-right
lower right portion of the page shows the xsl folder in the Application
Navigator. Here you see the new XSL transformation. Double-click this file to open the XSL
Transformation editor. (You can also access this file by using the BPM Project Navigator:
expand Resources > XSL Transformations.)

Oracle BPM 11g: Implement the Process Model 6 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Using the Transformation Editor

Oracle University and BUSINESS & DECISION LATAM SAC use only
7 Visually map the elements by
dragging from the source to the
target by using the
transformation editor in the
main canvas.

8 The Auto Map Preferences


dialog box enables you to
modify how the mapping takes
place. Click OK to accept the
defaults.

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

The screenshot at the top of the page shows the XSL Transformation editor with HelloObject
displayed. Each of the elements of HelloObject (shown in the left column) must be mapped to
its corresponding element in the XSLT file (shown in the right column).
You can do this manually. Or, if the element names are very similar, you can save time by
auto-mapping the elements. Do this by dragging a connection line from the top-level object
name in the left column to the top-level object name in the right column. The Auto Map
Preferences dialog box, shown on the right side of the page, is displayed. You can fine-tune
the settings if you want and then click OK to produce the auto-mapping.

Oracle BPM 11g: Implement the Process Model 6 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Modifying the Mapped Elements

Oracle University and BUSINESS & DECISION LATAM SAC use only
9
Modify an element by dragging
a function from the Component
component
palette
Palette to the mapping
mapping line.
line.

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

The example shows the upper-case function being dragged from the mapping of the source
greeting element to the target greeting element.

Oracle BPM 11g: Implement the Process Model 6 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Testing the Transformation

Oracle University and BUSINESS & DECISION LATAM SAC use only
10 11
Right-click in the center Check the result of the
area of the transformation mapping in the target XML.
editor and select Test.

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

Oracle BPM 11g: Implement the Process Model 6 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

XSL Transformation: Example

Oracle University and BUSINESS & DECISION LATAM SAC use only
<?xml version = '1.0' encoding = 'UTF-8'?>
<--- some text removed here --->
<date>2011 01 10T15:29:30 437</date>
<date>2011-01-10T15:29:30.437</date>
<greeting>HELLO</greeting>
<message>This message is to introduce myself to the
rest of the sales staff. I've been playing and
restoring vintage... </message>
</ns0:HelloObject>

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

The slide shows the result of using the uppercaseHelloGreeting.xsl transformation in


the simple HelloWorld process. If a user enters Hello as the desired greeting, this is
transformed to HELLO and is displayed that way in the resulting XML file written by the file
adapter.

Oracle BPM 11g: Implement the Process Model 6 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Using XPath in Human Task Titles

Task titles can be Plain Text, Text and XPath, or Translation.


• Plain text is a simple nondynamic string.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Text and XPath enables creation of an expression that
combines text
text, human task payload data
data, and functions
functions.
• Translation can be used for localization:
– Requires creation of a resource bundle

Cli k to open the


Click h XP
XPath
h
Expression Builder.

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

The next slides show a more complex example of using XPath.

Oracle BPM 11g: Implement the Process Model 6 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Expression Builder

Oracle University and BUSINESS & DECISION LATAM SAC use only
Click here to add data
or functions to the
expression.

Select functions here.

Select data here.

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

Oracle BPM 11g: Implement the Process Model 6 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

XPath: Example

Click “Insert into


Insert Into
Expression to build a
data expression
expression.

Oracle University and BUSINESS & DECISION LATAM SAC use only
The String Functions list gives access to
different types of functions.

Get the message from Select a function.


the payload.

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

Oracle BPM 11g: Implement the Process Model 6 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Modified Title

Oracle University and BUSINESS & DECISION LATAM SAC use only
<% and %> are added
to the beginning and
end of the expression

Title now includes


the
Titlefirst
now14includes
characters
first 14 charsof the
of
user’s message.
message

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

Oracle BPM 11g: Implement the Process Model 6 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Introduction to expressions
• Simple expressions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• XPath expressions
• XSL transformations
• More complex XPath expressions
• Using expressions in conditional transitions

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

Oracle BPM 11g: Implement the Process Model 6 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Conditional Transitions

A Boolean expression is needed for a conditional transition.

Oracle University and BUSINESS & DECISION LATAM SAC use only
This transition needs an expression to respond
correctly to the outcome of Review Message.

This is the default


transition, so no
expression is required.

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

Oracle BPM 11g: Implement the Process Model 6 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Mapping the outcome Parameter

outcome must be mapped to a


process data object, which in this

Oracle University and BUSINESS & DECISION LATAM SAC use only
outcome is a example is helloOutcome.
variable of the
human workflow.

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

The outcome (based on the user’s input to the task) must be mapped to a data object that can
be tested in the transition.

Oracle BPM 11g: Implement the Process Model 6 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Conditional Transition (Simple)

Oracle University and BUSINESS & DECISION LATAM SAC use only
Double-click the transition
p the editor.
to open

Click the
Properties tab.

If the condition is true,


the instance takes this
transition.
Expression can be
Simple or XPath.

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

Oracle BPM 11g: Implement the Process Model 6 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Conditional Transition (XPath)

XPath is selected for If the condition is true, the

Oracle University and BUSINESS & DECISION LATAM SAC use only
the expression type. instance takes this transition.

The XPath expression


editor is available.

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

Oracle BPM 11g: Implement the Process Model 6 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following expression types are supported in a


conditional transition? (Choose all that apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Simple
b XPath
b.
c. XSLT
d. Java syntax

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

Oracle BPM 11g: Implement the Process Model 6 - 36


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• List and describe the types of expressions that can be

Oracle University and BUSINESS & DECISION LATAM SAC use only
used in a BPM process
• List three scenarios in which you might need to write an
expression in your process
• Explain the purpose of a script task

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

Oracle BPM 11g: Implement the Process Model 6 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 6-1 Overview:


Initializing the Quote
This practice covers coding a script task that initializes the
quote data object.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 6 - 38


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 6-2 Overview:


Defining Conditions for Conditional Transitions
This practice covers the following topics:
• Configuring data associations for conditional transitions

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Writing the conditional expressions that determine the
branching

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

Oracle BPM 11g: Implement the Process Model 6 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 6-3 Overview:


Deploying and Testing the Process
This practice covers the following topics:
• Mapping LDAP users to BPM roles

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Deploying the process
• Testing the process by using BPM Workspace

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

Oracle BPM 11g: Implement the Process Model 6 - 40


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 6-4 Overview:


Adding Date and User Information Dynamically
This practice covers the following topics:
• Writing expressions that initialize data values in the quote

Oracle University and BUSINESS & DECISION LATAM SAC use only
object based on the user login
• Using XPath functions to dynamically determine a date

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

Oracle BPM 11g: Implement the Process Model 6 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

C
Creating
ti Web F
W b Forms

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


in Business Process Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• Describe the two ways to create a web form

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Describe the relationship between the web forms created
in Business Process Composer and the ADF task flows
• List three types of containers that can be used in web
forms
• Create a simple web form with a tab interface and several
types of components by using the data first approach
• Implement
I l t validation
lid ti andd user h
help
l iin a web
b fform
• Implement a form rule
• Test a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

What Is an Oracle Web Form?

Oracle web forms are:


• An alternative to ADF task

Oracle University and BUSINESS & DECISION LATAM SAC use only
forms
• Included in a BPM project
• Built in Business Process
Composer
• Created by process analysts
• Based on standard
t h l i
technologies, including
i l di
XHTML, CSS, and
JavaScript

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

Web forms define the user interface that enables end users to interact with your business
process. Business Process Composer provides an editor for creating web forms.

Oracle BPM 11g: Implement the Process Model 7 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle BPM Task Forms

Web Forms ADF Forms

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Created using Business • Created using BPM Studio
Process Composer • Feature-rich, including
• User interface that is DVT, task flows, and
designed for business users transaction management

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

Recall that user tasks specify where in the process user interaction is required. Human tasks
define how users interact with the application. Forms define the interface that enables users
to interact with the application. For business applications that are created with Oracle BPM,
these forms are displayed in Oracle Business Process Workspace.
Oracle BPM enables users to create two types of task forms: web forms and Application
Development Framework (ADF) forms.
• Web forms are created using Business Process Composer, which provides a user
interface (UI) that is especially designed for business users. Composer offers between
10 and 15 design tools.
• ADF forms
f are created using BPM Studio,
S typically by developers. ADF is an enterprise-
level framework for building rich applications and offers special features such as
personalization, customization, task flows, transaction management, and Data
Visualization Tool (DVT) components. ADF is provided as part of Oracle SOA Suite and
includes around 150 components, including charts and graphs.
This section focuses on web forms, which can be created in Business Process Composer.
For more information about creatingg ADF forms ((which can be created in BPM Studio),
), see
the lesson titled “Developing the User Interface by Using ADF.”

Oracle BPM 11g: Implement the Process Model 7 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form: Architecture

Web form:
• Is embedded

Oracle University and BUSINESS & DECISION LATAM SAC use only
inside ADF UI
shell
• Contains
elements such as
BPM actions,
comments, and
attachments that
are from ADF

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

A web form has Oracle Universal Content Management (UCM) integration for attachments.
Integration with Oracle WebCenter and other technologies is not affected.

Oracle BPM 11g: Implement the Process Model 7 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form: Life Cycle

• The life cycle of a web form is tied to that of the composite.


– Web form and composite will have same versions.

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Deployment scripts should behave as usual.
• Collaboration through BPM Studio round trip
• Version control support in BPM Studio

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

Oracle BPM 11g: Implement the Process Model 7 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Technology for Oracle Web Forms

You do not need to write code to add and modify form fields.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Regular Forms Oracle Web
Forms
HTML, ASP, JSP coding: Form fields Drag and drop

JavaScript coding: Validation, rules, tabs ✔

CSS coding: Style, fonts, colors ✔

AJAX coding:
g Rich user experience
p ✔

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

Web forms are based on standards (including XHTML, CSS, and JavaScript) that ensure
compatibility across multiple platforms and browsers. A web form is an XHTML file. The form
designer enables you to create and design a web form without interacting directly with the
XHTML code.

Oracle BPM 11g: Implement the Process Model 7 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Designer

Component Palette

Oracle University and BUSINESS & DECISION LATAM SAC use only
Web form toolbar

Properties editor Form Canvas

D
Data S
Sources pane

Drag and drop controls from the Component Palette


to the Form Canvas.

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

To add controls to this web form, drag components from the Component Palette to the Form
Canvas.

Oracle BPM 11g: Implement the Process Model 7 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Toolbar

Oracle University and BUSINESS & DECISION LATAM SAC use only
Rules Test Refresh Localization

Opens the rules Opens the form in a Refreshes external Opens the
editor browser window data sources resource bundle
editor
Enables toggling Helps you examine Refreshes data Enables you to
between the form the web form sources if you localize web form
rules editor and appearance and make changes to components and
the web form test web form rules the human task controls
editor payload

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

Update Underlying Schema


Although Live Forms automatically refreshes the elements in the Data Sources area, this
does not necessarily mean that the form is up to date. You must edit the form, save it, and
test it again to make sure that the changes to the schema produce the results you expect.
Deleting “Schemas – Oracle Web Forms” prevents deletion of a schema while any form exists
that depends on that schema. This protects you from breaking important bindings. You should
first delete forms and then delete schemas.

Oracle BPM 11g: Implement the Process Model 7 - 11


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Component Palette

Web form controls are user-interface components that can


be added to the form.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Selection
S l ti
Controls

Input Controls
Group
Controls
Selection
Control

Other
Controls

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

Web form controls are the user interface components that you add to a form to define the user
interface of your business application.
You learn details about these controls in the section titled “Adding
Adding Components to a Web
Form.”

Oracle BPM 11g: Implement the Process Model 7 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Properties Editor

The properties editor contains tabbed panes that display the


properties of the web form and web form controls grouped by

Oracle University and BUSINESS & DECISION LATAM SAC use only
function.

Set the general properties on Set the display properties on


the Settings tab. the Style tab.

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

You learn details about these controls in the section titled “Adding Elements to a Web Form.”

Oracle BPM 11g: Implement the Process Model 7 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

The Rules button is used to:


a. Open the form in a browser window

Oracle University and BUSINESS & DECISION LATAM SAC use only
b. Toggle between the form rules editor and the web form
editor
c. Refresh external data sources
d. Localize web form components and controls

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

Answer: b

Oracle BPM 11g: Implement the Process Model 7 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Web Forms: Two Approaches

Form First Data First

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Business Process Composer enables you to create the entire user interface, or you can
create a web form based on the existing data structure of a human task.
o
• Form first:
st Design
es g tthee web
eb form
o bebefore
o e de
defining
g tthe
e data sc
schema.
e a
- Necessary data elements are generated automatically and create the human task
payload.
• Data first: Define the human task payload first, and then create the web form based on
the data.
- Data sources for the web form are generated based on the human task payload.
- Using g enterprise
p standards for data definition
- Reusing a schema across forms

Oracle BPM 11g: Implement the Process Model 7 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Form-First Workflow

1. Create a web form, and open the form for editing.


a. Using the Component Palette, add web form controls

Oracle University and BUSINESS & DECISION LATAM SAC use only
to the web form.
b Customize the appearance
b. appearance, layout
layout, and behavior of the
web form.
c. (Optional) Create form rules.
d. Test the web form.
2. Associate the web form to a human task.
– The data schema is created automatically and
becomes the payload of the human task.

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

Oracle BPM 11g: Implement the Process Model 7 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Step 1: Creating a Web Form and


Opening It for Editing
a Click New Web Form.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Click the trash
button if you want
to delete a form.
b Supply a name, and
click Create.

c Click the form to


open it for editing.

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

Oracle BPM 11g: Implement the Process Model 7 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Adding Controls to the Web Form

Drag a control from the


Palette to the canvas.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Release the cursor
to add the control.

Wh you add
When dd controls,
t l you see th
the ffollowing
ll i iindicators:
di t
Control cannot be dropped.
Added control is placed above an existing control.
Added control is placed below an existing control.
Added control is placed inside an existing control.

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

To add a control:
a. Drag a control from the Palette tab to the canvas.
b With the cursor,
b. cursor place the new control over an existing control
control.
c. Use the indicators listed in the slide to position the new control above, below, or inside
the existing control.
d. Release the cursor to add the new control.
You can change the display name for a control in the Label properties.

Oracle BPM 11g: Implement the Process Model 7 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Which Type of Control Was Used in Each Case?

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

The slide shows a screenshot of the web form editor with a simple form named RequestForm.
It includes the following web form controls:
a e Text
• Name: e t type (required)
( equ ed)
• Date: Date type (required)
• Total Amount: Money type (not enabled)
• Trip Details: Tab type
• Expense Details: Tab type
• Country: Dropdown selection
• Purpose
P rpose of Visit
Visit: Radio selection
• Justification: TextArea type (help is available)

Oracle BPM 11g: Implement the Process Model 7 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Customizing Web Form Properties

Oracle University and BUSINESS & DECISION LATAM SAC use only
Select the form header.

Edit form properties.

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

Oracle BPM 11g: Implement the Process Model 7 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Customizing Web Form Control Properties

Select the web form control,


and edit the properties.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Each control type has
different options.

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

Each type of control has specific properties. For example, for Date control types, you can
define a date format and an error message that appears if the user enters a value that does
not have the correct format. For Radio control types, you must define the options that are
presented to the user.

Oracle BPM 11g: Implement the Process Model 7 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Form Rules (Optional)

Oracle University and BUSINESS & DECISION LATAM SAC use only
Toggle to the rules editor.

Enter the name, description,


and rule (JavaScript).

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

Click the “rules” button to access the form rules editor. This button toggles between the form
rules editor and the web form editor.
You learn details about these controls in the section titled “Adding
Adding Form Rules to a Web
Form.”

Oracle BPM 11g: Implement the Process Model 7 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Testing the Web Form

Date Format has been

Oracle University and BUSINESS & DECISION LATAM SAC use only
set as 07-26-1966.

Test rules (if any).

Test invalid formats, help,


and tooltips.

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

To test the web form, you save the current version and then click the Test Form icon in the
Web Form Editor toolbar. The form opens in a new window, and you can enter sample data,
select items from drop-down controls, test valid and invalid data, and ensure that hints, help,
and rules will work properly.

Oracle BPM 11g: Implement the Process Model 7 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Step 2: Associating the Web Form


to a Human Task

Oracle University and BUSINESS & DECISION LATAM SAC use only
1 Select the Web Form option.

2 Browse and select the web form.

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

After you have created a web form by using the form first method, you must associate the
form with a human task. In the Basic view of the Human Task editor, in the Presentation
section, select Web Form and browse for the web form that you created.

Oracle BPM 11g: Implement the Process Model 7 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Resulting Task Data

Task data is added to the human task.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Data schema appears as
input and output in user
t k data
task d t associations.
i ti

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

When you create a web form using the form first method, the data schema is created
automatically based on the controls that are in the web form. This data schema becomes the
payload of the human task and is visible in the Data view of the Human Task editor, as shown
in the screenshot in the upper-left corner of the slide.
When you subsequently associate the human task with the user task and configure data
associations for that user task, the data schema appears as both input and output for the user
task.
You then must define appropriate process or project data objects (or ensure they exist). You
map them to the input and output components so that the data can be passed from the
process to
t this
thi ttask
k and
d ffrom thi
this ttask
k tto th
the nextt flflow element
l t iin th
the process.
Note that the requestForm data schema can be expanded in this view to show the specific
data elements representing each form field or component.

Oracle BPM 11g: Implement the Process Model 7 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data-First Workflow

1. Create a web form for a human task based on its payload.


2. Open the form for editing.

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Using the Data Source tab, add the payloads.
b (Optional) Use the Component Palette,
b. Palette add other web
form controls to the web form.
c. Customize the appearance, layout, and behavior of the
web form.
d. (Optional) Create form rules.
e. Test the web form.

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

You can add additional controls to refine the appearance of your web form. However, any
data controls that you add are not reflected in the underlying payload. You can customize the
appearance, layout, and behavior of the web form control on the Properties tab. However, the
underlying XSD is not changed.
For the data first approach, the schema becomes the single source of truth and specifies the
behavior of the form:
• Controls are automatically generated.
• The schema’s definitions are respected.
• Required fields are set automatically.y
• XML documents conform to the schemas.

Oracle BPM 11g: Implement the Process Model 7 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Step 1: Creating a Web Form for a Human Task


Based on Its Payload

Oracle University and BUSINESS & DECISION LATAM SAC use only
a Select the Web Form option.

Supply a name, select


“Based on payload,”
and click Create.

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

Oracle BPM 11g: Implement the Process Model 7 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Step 2: Opening the Form for Editing

Click the edit button to


open the form for editing.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Data sources are
available for this form.

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

Oracle BPM 11g: Implement the Process Model 7 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Using the Data Sources Tab


to Add Data Elements
Click the Add icon to add
data elements to the form.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Process
Composer
generates a web
Expand the data sources. form control for each
The data elements tree is of the data elements
created based on the in the payload.
underlying schema.

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

You can add either a group of elements or a single element to the form.
If a control was generated from a data element, you cannot add that control to a repeat
control. You learn more about repeat controls in the next section.

Oracle BPM 11g: Implement the Process Model 7 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Review: Component Palette

Web form controls are the user interface components. The


Component Palette contains the controls you can add to a

Oracle University and BUSINESS & DECISION LATAM SAC use only
form.
Selection
S l ti
Controls

Input Controls
Group
Controls
Selection
Control

Other
Controls

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

Web form controls are defined in HTML. But when you use the web form editor, you do not
need to edit any of the underlying code.

Oracle BPM 11g: Implement the Process Model 7 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Input Controls

• Input controls enable users to enter data in a form.


• Input controls prevent users from entering incorrect data

Oracle University and BUSINESS & DECISION LATAM SAC use only
types. Text

Date

Phone

Email

Money

Quantity

Number

TextArea

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

Input controls prevent users from entering incorrect data types. For example, if a user enters a
letter in a number control, the form displays an error message and the submit button is not
enabled until valid data is supplied. This validation happens automatically.
Oracle BPM supports the following input controls:
• Text: Enables entry of short, one-line text
• TextArea: Enables entry of longer, multi-line text
• Date: Enables entry of date and time
• Email: Enables entry of email; is valid only in the syntax <name>@<name>.<string>
• Money: Enables US currency entry
• Phone: Enables phone number entry
• Quantity: Enables entry of quantities and integers
• Number: Enables entry of decimal numbers
You can format the input controls by using patterns (which you learn more about in the
)
next section).

Oracle BPM 11g: Implement the Process Model 7 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Default Data Types for Input Controls

Input Control XML Schema Type

Oracle University and BUSINESS & DECISION LATAM SAC use only
Text xsd: string

Date xsd: date

Email types: emailType, an xsd:string restriction pattern

Money types:number, an xsd:double restriction

Phone types: phoneType, an xsd:string restriction pattern

Quantity xsd:Integer

Number types:number, an xsd:double restriction

Boolean xsd:boolean

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

Oracle BPM 11g: Implement the Process Model 7 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Selection Controls

Selection controls enable users to select from a list of several


options.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Dropdown Radio

True/False

Checkbox

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

Oracle BPM supports the following selection controls:


• Dropdown: Adds a drop-down list
• Radio: Adds mutually exclusive radio buttons
• Checkbox: Adds a set of check boxes
• True/False: Adds a Boolean selection
You can edit the number of choices and the value for each choice in the Options properties
for Dropdown, Radio, and Checkbox. You can switch types among those three controls in the
Control Type properties.
For Dropdown
Dropdown, the first choice in the list is blank by default
default.
You can change the options label of BooleanCheckbox. However, the option values cannot
be changed; they remain true or false. Selecting the Yes check box sets the value to true in
the XML document for the control data. Leaving the Yes check box deselected defines a false
value. No value appears in the XML document.

Oracle BPM 11g: Implement the Process Model 7 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Group Controls

Group controls help you organize a form.


Section
Panels
Section

Oracle University and BUSINESS & DECISION LATAM SAC use only
Section
Tabs

Table

Repeat

Section

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

Oracle BPM supports the following group controls:


• Section: Enables the expansion or collapse of a group of controls
• Tabs: Enables the creation of tab views
• Panels: Enables the creation of columns in a web form
• Tables: Enables the arrangement of controls in a grid pattern
• Repeats: Enables the display of multiple copies of a web form control

Oracle BPM 11g: Implement the Process Model 7 - 36


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Other Controls

Image Message

Oracle University and BUSINESS & DECISION LATAM SAC use only
Link

Button
(Trigger)

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

In addition to input, selection, and group controls, Oracle BPM supports the following controls:
• Message: Adds static text
• Link: Adds a URL
• Button: Adds a button (this control is primarily used with form rules)
• Image: Adds an image
You can include XHMTL with your text in the message control. The browser formats the
XHMTL when users access the form. For example, if you want to create a header in a web
form, you can use a combination of panels and message controls.
For the image control
control, you can browse to and upload the image after adding this control
control. To
change the image, you must delete the image control and add a new one.

Oracle BPM 11g: Implement the Process Model 7 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

You can switch the types among Dropdown, Radio, and


Checkbox under the Control Type properties.

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. True
b False
b.

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

Oracle BPM 11g: Implement the Process Model 7 - 38


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Properties

• The properties on the Settings tab are:


– Name

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Description
– Save
– Printable
– Save PDF
• The properties on the Style tab are:
– Width
– Height
g
– Controls
– Theme
– Font Name, Font Size, and
Font Color

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

Properties on the Settings Tab


• Name: Defines the name of the form
• Description: Provides a description of the form
• Save: If this property is selected, all submissions for this form are stored in the form’s
submission repository.
• Printable: If this property is selected, users can print the form
• Save PDF: If this property is selected, users can save the file as a PDF. “Save PDF”
can be enabled only if the Save property is also enabled.
Properties on the Style Tab
• Width: Specifies the width of the form
• Height: Specifies the initial height for the form. The form can resize dynamically.
Therefore, this field does not need to be changed.
• Controls: Determines whether the options for the Checkbox and Radio controls are
displayed vertically or horizontally by default
• Theme: Defines the theme of the appearance of the form form. You can create a custom
theme. After you add the customized theme, it appears in the drop-down list along with
the predefined options.
• Font Name, Font Size, Font Color: Defines font name, size and color
Oracle BPM 11g: Implement the Process Model 7 - 40
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Control Properties:


Settings Tab for Text Control
• Each type of control has specific properties.
• The properties for text control settings include:
– Printable

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Label
– Control Type – Enabled
– Name – Hide Label
– Pattern – Sensitive
– Max Length – Labels
– Error Msg
– Hint
– Help
– Required
– Password
– Visible

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

Text, Email, Phone, Money, Quantity, and Number controls contain the same settings
property:
abe Defines
• Label: e es tthe e label
abe o of tthe
e co
control.
t o Thiss label
abe issddisplayed
sp ayed bes
beside
de o
or abo
above
e tthe
e
control. Message controls are the only controls without labels. You can use plain text or
arbitrary XHTML for labels.
• Control Type: Defines the type for the web form control. You can change the type of
the web form by selecting the type from the drop-down list.
• Name: Defines the name of this control. This name is automatically generated by
default. This name will be used in rules and XML schema when referring to this control.
A control
t l name mustt be b unique i iin th
the fform.
• Pattern: Defines additional restrictions on the type of the input
• Max Length: Limits the number of characters that users can supply in the control. This
property is available for Text, Email, and Phone controls.
• Error Msg: Displays a specific error message if the user does not supply a valid value
in the control
• Hint:
Hi t Displays
Di l a ttooll titip when
h th the user’s ’ cursor iis over th
the control
t l

Oracle BPM 11g: Implement the Process Model 7 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED
• Help: Enables you to provide more detailed help. When users enter text here, a help
button appears next to the control on the form. When the user clicks the button, a help
message is displayed in a floating box.
• Required:
q Forces users to enter a valid value in the control
• Password: Blocks out the text entered in the field
• Visible: Determines whether the control is visible or hidden when users first access the
form
• Printable: Determines whether the control appears in the PDF document view of the

Oracle University and BUSINESS & DECISION LATAM SAC use only
form
• Enabled: Determines whether users can enter a value in the control
• Hide Label: Determines the control’s label is displayed or hidden
• Sensitive: Determines whether the value saved in the submission repository is hidden.
Select this check box if users will enter sensitive data that should not be visible when
viewed in the user interface.
• Labels: Enables you to change the options of a control; applies to controls that are
generated from schema elements only (If you add the control from the palette, it has the
Option property. If you add the control from the payload, it has the Labels property.)

Oracle BPM 11g: Implement the Process Model 7 - 42


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Control Properties:


Settings Tab for Other Controls
• The properties for other control settings include:
– Date Format

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Time Format
– Display As
– Message
– # of Rows
– Min # and Max
#
– Options
– Href: For Link
control
– New Window:
For Link Control

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

The control properties tend to be the same for the majority of input controls. The text input
control properties, seen in the previous slide, are typical. However, there are some properties
that are unique for certain controls:
• Date Format: Applies to Date control only. Defines the format of the date.
• Time Format: Applies to Time control only. Defines the format of the time.
• Display As: Applies to controls generated from XSD schema elements only. Enables
you to change the control appearance without affecting how the control handles data.
• Message: Applies to Message control only. Enables you to include a message in the
form. Messages can be either plain text or arbitrary XHTML markup.
• # of Rows: Applies to TextArea control only. Defines the initial size of the text area.
Scroll bars will appear when the input reaches the number of rows you specify.
• Min # and Max #: Applies to table control and controls inside a Repeat control only.
Enables you to define the minimum and maximum values that users can input.
• Options: Applies to Selection controls only. Defines how to populate the choices that
users see in the selections. You must define the choices by using <value>=<label>
y
syntax.
• Href: Applies to Link control only. Defines the address of the link.
• New Window: Applies to Link control only. If this property is selected, the link opens in
a new window.

Oracle BPM 11g: Implement the Process Model 7 - 43


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Patterns

• Patterns enable you to define additional restrictions on the


types of data input.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Common patterns:
– U.S.
U S ZIP Code: \d{5} | \d{5}
\d{5}-\d{4}
\d{4}
– Social Security Number: \d{3}-\d{2}-\d{4}
– Phone number: ###-###-####

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

Most controls automatically ensure that users provide the correct data type. Patterns give you
the flexibility to impose additional restrictions on what users enter in a particular control.
Note that spaces are not allowed in \d{5} | \d{5} \d{4}. They are used here for
\d{5}-\d{4}.
readability only.
\d is a flag indicating “data.” In other words, the flag indicates that “data goes here,” and the
curly braces show how many digits or characters are allowed.

Oracle BPM 11g: Implement the Process Model 7 - 44


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Dynamic Text

• Labels, Help, and Hint can contain dynamic values.


• Example: Use a dynamic header in a Repeat Section.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 7 - 45


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Dynamic HTML

Message, Labels, Help, and Hint can be embedded with HTML


code.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 7 - 46


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Web Form Control Properties: Style Tab

Change a form control appearance by using the Style tab:


• BG Color

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bold
• Border Color
• Border Width
• Border Style
• Italic
• Item Width
• Label
L b lCColor
l andd Si
Size
• Margin
• Option Width
• Padding
• Width

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

Not all of the following properties are available for every web form control.
• BG Color: Specifies that the color appears as background behind the control
p y the control label in bold
• Bold: Displays
• Border Color: Specifies the border color of the control
• Border Width: Specifies the thickness of the control border
• Border Style: Defines the line style of the control border
• Italic: Displays the control label in italic
• Item Width: Changes the layout of options for Radio and Checkbox controls (usually
changed from vertical to horizontal)
• Label Color: Changes the color of the control label
• Label Size: Changes the font size of the control label
• Margin: Adds extra space around the outside of the control
• Option Width: Reduces the option width (usually used by Radio and Checkbox controls
when option values are longer than a single line)
• Padding: Adds extra space within the control boundary
• Width: Specifies the width of the control
In the current release of Oracle BPM, only Oracle skins are supported.

Oracle BPM 11g: Implement the Process Model 7 - 47


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Tips

• Controls cannot be dropped below a panel. Instead, you


can drop the control above the panel and then place the

Oracle University and BUSINESS & DECISION LATAM SAC use only
panel above the control.
• Elements cannot be added after a control is bound to a
repeat control.
• A complex repeat is a section inside a repeat. You must
first add the elements to a section and then drag the
section to the repeat.
• For controls generated from XSD schema:
– The Required property is disabled for controls from XSD.
– The Min # and Max # properties are disabled for controls
from XSD.
– Whether the control is required is based on the minOccurs
a ue in XSD.
value S
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

The minOccurs value determines whether the control is required.


• minOccurs = 0: Control is not required.
• minOccurs = 1: Control is required
required.
• minOccurs > 1: Control is rendered in the form as a repeat control with the minimum
number of items set to the minOccurs value.

Oracle BPM 11g: Implement the Process Model 7 - 48


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 7-1 Overview: Creating a Web Form for


an Existing Human Task
This practice covers the following topics:
• Saving the SalesQuote project to MDS

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Logging in to Business Process Composer as mtwain
to work on the project.
project
• Creating the web form for the EnterQuoteDetails human
task
• Customizing the user interface

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

In this practice, you work on the SalesQuote process. It is more complex and realistic than the
Hello World process that was used to illustrate the concepts in this lesson.

Oracle BPM 11g: Implement the Process Model 7 - 49


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview of web forms


• Introducing the web form designer

Oracle University and BUSINESS & DECISION LATAM SAC use only
• The development approach
• Adding components to a web form
• Customizing components of a web form
• Adding form rules to a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 50


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Review: Creating Form Rules

Oracle University and BUSINESS & DECISION LATAM SAC use only
Toggle to the rules editor.

Enter the name, description,


and rule (JavaScript).

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

Click “rules” to access the form rules editor. This button toggles between the form rules editor
and the web form editor.

Oracle BPM 11g: Implement the Process Model 7 - 51


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Adding Form Rules to a Web Form

• You can use form rules to create a dynamic web form.


• Common applications of form rules include:

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Performing complex calculation
– Performing complex validation
– Populating a dynamic drop-down list
– Showing and hiding elements
– Enabling and disabling elements
• Form rules are pieces of server-side JavaScript code.

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

Oracle BPM 11g: Implement the Process Model 7 - 52


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

General Steps to Create a Form Rule

Click the Add button to


1 create a new rule. 5

Oracle University and BUSINESS & DECISION LATAM SAC use only
2 Test the form and make sure
Click the Edit button to
that the form rule works as
edit the form rule
rule.
expected.

3
Specify a rule name and a
description to remind you
what
what this
this rule
rule does.
does

4
Enter the JavaScript code to
define the rule.

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

Oracle BPM 11g: Implement the Process Model 7 - 53


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

JavaScript Syntax: if-else Statement

Form rules usually use the if-else statement to make the


decision:

Oracle University and BUSINESS & DECISION LATAM SAC use only
Example
if ( condition )
{ if(PurposeOfVisit.value
if(PurposeOfVisit value
true actions; === 'Customer Visit')
} {
[else CustomerName.visible = true;
{ }
statement2; else
}] {
CustomerName.visible = false;
}

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

The if-else statement provides basic selection processing. A Boolean control expression
determines which branch is taken:
• If the expression
p evaluates to true,, the first branch is taken. That is,, the if body
y is
executed.
• If the expression evaluates to false, the second branch is taken. That is, the else
body is executed. The else clause is optional; if it is omitted, nothing is executed if the
control expression evaluates to false.
Note: === is the evaluation operator. It is not the double equal sign that you find in some
other languages.

Oracle BPM 11g: Implement the Process Model 7 - 54


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

JavaScript Syntax: while Loop

while is the simplest loop statement and contains the


following general form:

Oracle University and BUSINESS & DECISION LATAM SAC use only
while ( boolean_expr )
statement;

Example var str = “”,i = 0;


while
hil (i < 10) {
str = str + "i = " + i;
i++;
}

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

The simplest loop construct in Java is the while loop. In the while loop, the loop body is
executed repeatedly while a boolean control expression evaluates to true. When the
control expression evaluates to false, the loop terminates and control passes to the first
statement after the closing brace of the loop body.
Note that the control expression is evaluated before the loop body is executed. If the control
expression evaluates to false the first time, it does not enter the loop body.
Common Mistakes in Using while Loops
• A common mistake in using while loops is to forget to increment the variable that is
used in the control expression. This results in an infinite loop.
• Another common mistake is to put a semicolon at the end of the first line (between the
control expression and the loop body). Doing so places the incrementing of the counter
outside the loop and results in an infinite loop.

Oracle BPM 11g: Implement the Process Model 7 - 55


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

JavaScript Syntax: for Loop

• for loops are the most common loops:

Oracle University and BUSINESS & DECISION LATAM SAC use only
for ( initialization; termination; increment )
statement;

• Example:

var str="",i;
for (i = 0; i < 10; i++)
{
str=str + "i = " + i;
}

• How could this for loop be written as a while loop?

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

The for loop combines components of a loop into a single construct with positions for each
component. The three components that are enclosed in parentheses are separated by
semicolons.
Common Mistakes in Using for Loops
A common coding error in for loops is to put a semicolon after the closing parenthesis. This
is equivalent to an empty loop body that does nothing on each iteration.
Comparing for Loops to while Loops
The for loop shown in this slide is equivalent to the while loop in the previous slide.

Oracle BPM 11g: Implement the Process Model 7 - 56


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Working with Form Rule Identifiers

• The rule refers to form controls by using the Name


property.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Rule identifiers must always be of the following form:
Name.<property>
• Example:
if(PurposeOfVisit.value === 'Customer Visit')
{
CustomerName.visible = true;
}
The Name property of The property of the control
else Name
the Customer
text
{ control
CustomerName.visible = false;
}

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

Common Form Rule Identifier Properties


• visible: Set to true to display a control.
• value: Reads or sets the value of a control
• enable: Set to false to grey out a control so that user cannot change its value.
• expanded: Set to true to expand a group control.
• clicked: Is used by trigger controls. Its initial state is false. When a user clicks a
trigger, its states changes to true.
For more information about form rule identifiers, see the Oracle Fusion Middleware Modeling
and Implementation Guide for Oracle Business Process Management

Oracle BPM 11g: Implement the Process Model 7 - 57


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Debugging Form Rules

Oracle University and BUSINESS & DECISION LATAM SAC use only
The background
color changes to
red if the form rule
has invalid syntax.
The error message
provides a hint about
the cause of the error
and where to look for it.

You should test the form even if it is syntactically correct.

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

The background color changes to red if the form rule does not conform to valid syntax when
you click outside the form or when you press the Tab key.

Oracle BPM 11g: Implement the Process Model 7 - 58


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• Describe the two ways to create a web form

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Describe the relationship between the web forms created
in Business Process Composer and the ADF task flows
• List three types of containers that can be used in web
forms
• Create a simple web form with a tab interface and several
types of components by using the data first approach
• Implement
I l t validation
lid ti and
d user h
help
l iin a web
b fform
• Implement a form rule
• Test a web form

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

Oracle BPM 11g: Implement the Process Model 7 - 59


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 7-2 Overview:


Adding Form Rules to the Web Form
This practice covers the following topics:
• Creating three web form rules that do the following:

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Display the Address field only if the customer indicates a
changed
c a ged add
address.
ess
– Clear all the information about the Sale Rep Information tab
with a single click.
– Calculate Total Net Revenue.
– (Optional) Create a fourth web form rule to calculate the
effective discount.
• Deploying this project in Business Process Composer and
examining the web form in Workspace
• Switching the presentation for the EnterQuoteDetails
human task to the default ADF form

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

Oracle BPM 11g: Implement the Process Model 7 - 60


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

I l
Implementing B i
ti Business Rule

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


T k
R l Tasks

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Objectives

After completing this lesson, you should be able to:


• Describe how business rules are processed at run time

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Define each of the following:
– Decision table
– Condition
– Ruleset
– Rule dictionary
– Bucketset
– Action
• Create a business rule and assign it to a business rule
activity flow element
• Define the data associations for a business rule
• Define business rules that support customization by
business users

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

Oracle BPM 11g: Implement the Process Model 8 - 2


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 3


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Dynamic Process Flow

Conditional
transition

Oracle University and BUSINESS & DECISION LATAM SAC use only
Unconditional
transition

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

The diagram shows a number of places in the process flow where the instance can take
different routes. As illustrated in the practice for the lesson titled “Writing Expressions and
Initializing Variables,” the conditional transition between the Business Practices Outcome
gateway and the Enter Quote Details activity has the condition businessPracticesOutcome ==
“REJECT,” so that is the path that is taken if the reviewer clicks REJECT.
In the practice for the same lesson, the transition between the Is Business Practice Review
Required gateway and the Business Practices Review activity is essentially hard-coded so
that it always takes this path.
You could change the expression in this transition to route based on business data, but there
are many disadvantages
di d t tto thi
this approach:
h
• The expression can become very complex if more than one variable must be checked or
if more than one data object must subsequently be tested.
• Writing expressions for the transition property is a task for the implementer of the
process, but working with business rules is really a task for a business specialist.

Oracle BPM 11g: Implement the Process Model 8 - 4


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Advantages of Using Business Rules

• Easier to create and maintain than procedural code:


– Expressed declaratively

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Executed in a business rules engine
– Declared without any control flow
– Control flow determined by the rules engine
• Easier for business users to work with:
– Allows business users to edit business rules (not code)
– Is more responsive to business because rules are easier to
change
– Provides transparency
— Rules are accessible.
— Rules are consistently applied.

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

Using business rules offers many advantages compared to using procedural code.
• From the development perspective:
- They are easier to create and maintain because they can be expressed
declaratively and are executed in an inference-capable business rules engine.
- Statements are declared without reference to a particular control flow, and then the
control flow is determined by the rules engine.
- The separation of the rule statements from the execution and control flow makes
maintaining the rules much easier.
• From the end-user perspective:
p p
- The business rules provide live editing through a declarative interface.
- The rules become more responsive to business needs because they are easier to
change without redeploying the application.

Oracle BPM 11g: Implement the Process Model 8 - 5


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business Rules Engine

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Human
BPEL BPMN
Rules Workflow
Each user task calls a
human task running on the
human workflow engine.
Unified Run Time

Business rules are


The process
executed on the business
runs on the
rules engine.
BPMN engine.

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

Oracle BPM 11g: Implement the Process Model 8 - 6


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business Rules Activity

Transition can
now be based on

Oracle University and BUSINESS & DECISION LATAM SAC use only
a business rule
output value.

Business rule
activity is added
before the
gateway.
gateway

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

Business rules enable you to determine the flow of your processes based on a group of rules
you define.
The business rule task enables you to do the following:
• Map data object values to the input arguments of a business rule.
• Map the output arguments of a business rule component to data objects.
When a token arrives at a business rule activity, the BPMN service engine invokes the
business rules engine by using the input arguments defined in the data association of the
business rule task. The business rules engine evaluates the defined rules and returns an
p containing
output g the result. The BPMN service engine
g mapsp the output
p from the business
rules engine to the data objects in the process by using the data association defined for the
business rule task. Generally, after a business rule task, you add an exclusive gateway that
determines the flow of the process based on the value of a data object that contains the result
of running the business rule task.

Oracle BPM 11g: Implement the Process Model 8 - 7


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 8


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Two Ways to Work with Rules

Oracle Business Rules provides two ways to work with rules:


• Using IF/THEN rules (called Rules)

Oracle University and BUSINESS & DECISION LATAM SAC use only
– IF <some condition>
– THEN <some action>
• Using a spreadsheet-like table (called Decision Table)
– More complex combination of conditions and actions

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

Oracle BPM 11g: Implement the Process Model 8 - 9


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Ruleset

Rules and decision tables are defined in rulesets.


• A ruleset is a namespace for the constituent elements of
the rules and decision tables.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• A rule consists of:
IF
– Conditions (may use facts and bucketsets)
THEN – Actions (typically initialize and set values on output data
objects)
if driver.age<20 and driver.trained then driver.eligible=true

• A decision table consists of:


– Multiple related rules shown in a spreadsheet style view
if driver.age<20 and driver.trained then driver.eligible=true
If driver.age<20 and driver.trained then driver.eligible=false
if driver.age>=20 then driver.eligible=true

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

A rule is essentially an IF/THEN logical construct. The condition is the IF portion of the
statement, and the action is the THEN portion of the statement.
• A co condition
d t o in a
an IF state
statement
e t typically
typ ca y compares
co pa es some
so e data value(s).
a ue(s) In a business
bus ess
rule, data is stored using facts and bucketsets.
- In the rule example in the slide, the driver object would be represented by a fact.
• Another way to express IF/THEN logic (which is particularly beneficial when the logic is
complex) is through a spreadsheet-style table that matches up specific conditions with
the corresponding action to be taken.
- In the second example in the slide, you see the logic that might comprise a
decision table. Notice that it includes multiple IF/THEN statements.
Note: You learn about decision tables in later in this lesson. Before that, you take a closer
look at rules and their component parts.

Oracle BPM 11g: Implement the Process Model 8 - 10


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Rules Editor: Facts

• The rules editor enables you to create a rule dictionary.

Oracle University and BUSINESS & DECISION LATAM SAC use only
The rule
dictionary

Things that
can be part
of the rule
definition
Contains rules
and decision
tables

• Facts are the data objects used by the ruleset.

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

Business rules are defined in a dictionary that contains the rulesets and all of the component
parts of those rulesets. The dictionary is stored in XML format, and you typically do not
interact with it directly.
The screenshot in the slide shows the SOA rules editor. In the left pane, you see tabs for
creating the various component parts of a rule:
• Facts: These are fact types on which data objects are based. These data objects are
used by the ruleset. They may reference XML schemas, Java classes (java.lang.String,
and so on), RL (Ruleset Language) facts, or ADF-BC facts (you learn about these in the
lesson titled “Developing the User Interface by Using ADF”).
• Functions: Functions may be called in the ruleset. An example off this type off function
f is
one that initializes a data object.
• Globals: These are also data objects that are used in the ruleset but typically used to
define final literal values and, therefore, constants.
• Bucketsets: These are lists or ranges of data used by the condition.
• Links: You define and use links to other business rule dictionaries.
• Decision
D i i functions:
f i Th
These are references
f to the
h code
d that
h executes a given
i rule.
l
These can be called from in another rule.
• Translations: This tab provides an interface for you to define a localization string for the
rule.
Oracle BPM 11g: Implement the Process Model 8 - 11
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Ruleset: Example

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

As mentioned previously, a ruleset can contain IF/THEN rules or a decision table. The
screenshot shows two simple rules:
u e_1 cchecks
• Rule ec s whether
et e the
t e user
use eentered
te ed a value
a ue for
o eeffectiveDiscount
ect e scou t tthat
at was
as <= 0
0.3.
3
• Rule_2 checks whether the user entered a value for effectiveDiscount that was > 0.3.
Depending on which rule fires, an attribute of ApprovalFlowType (and a process data object)
is set to true or false. This controls whether the token is routed to the BusinessPracticeReview
task.
Without Rule_2, effectiveDiscount values greater than 0.3 would cause a fault, because the
pp yp in the working
rule session would not be able to find ApprovalFlowType g memory y of the rule
session. You could, however, omit Rule_1 or Rule_2 if you had a function that ensured that
ApprovalFlowType would be created and given the appropriate true or false value.

Oracle BPM 11g: Implement the Process Model 8 - 12


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Determining Which Rule Fired

Determine which rule fired by using Enterprise Manager.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Note that the status indicates the
firing of a ruleset rule (rather than
a decision table rule).

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

Oracle BPM 11g: Implement the Process Model 8 - 13


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Rules Editor: Decision Table

Oracle University and BUSINESS & DECISION LATAM SAC use only
Rule 2 fires if
the condition is
false.

Each rule has


a condition. Each rule has If Rule 2 fires, its action sets
an action. businessPracticesReviewNeeded
to true.

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

This decision table is functionally exactly equivalent to the IF/THEN rules in a previous slide.
Now that you have seen examples of using both business rules and decision tables, consider
the following questions:
• When do you use rules?
• When do you use decision tables?
• Why might decision tables be preferable?
The answer to the first question deals with complexity. When there are multiple rules, each of
which have multiple conditions and actions, a decision table is much easier to work with. On
the other hand,
hand for a simple IF/THEN condition
condition, a rule is probably quicker to create
create.
But there are two other reasons why using a decision table may be a better approach (both
are covered in more detail later):
• Conflict resolution: A decision table indicates if any of the conditions are in conflict.
• Gap analysis: You can analyze a decision table to determine if some conditions are not
being accommodated.

Oracle BPM 11g: Implement the Process Model 8 - 14


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Determining Which Decision Table Rule Fired

Determine which rule fired by using Enterprise Manager.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Indicates that a decision
table rule fired.

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

When you check the Audit Trail of the instances in Enterprise Manager, you can clearly see
which rules are firing and whether they are IF/THEN rules or decision table rules.
In the example in the slide, assume that the IF/THEN rule previously shown has been made
inactive or deleted. Otherwise, there would be an error because both the IF/THEN rule and
the decision table would attempt to assert the same fact type (ApprovalFlowType).

Oracle BPM 11g: Implement the Process Model 8 - 15


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Additional Conditions

Oracle University and BUSINESS & DECISION LATAM SAC use only
Another condition
based on a different
attribute of data object For Rule 1, the value
Rules 2 and 3 test
of totalNetRevenue is
for the value in
not relevant.
different ranges.

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

Any number of conditions can be added to the decision table. Note that a rule does not have
to care about every condition. In R1, for example, if the effective discount is less than or equal
to 0.3, rule 1 fires, no matter what the value of totalNetRevenue is. R2 and R3 fire if the value
of totalNetRevenue is less than 100000, or between 100000 and 200000. But what happens if
totalNetRevenue is greater than 200000? At the moment, that possibility is not
accommodated.
Also, remember that only one rule fires.

Oracle BPM 11g: Implement the Process Model 8 - 16


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Gap Analysis

Click the Gap


Analysis icon to

Oracle University and BUSINESS & DECISION LATAM SAC use only
check whether a
rule is missing.

The Gap
Analysis
window
shows the
missing rule.

Missing rule
added to the
decision table

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

If the rules do not check for every eventuality, instances may fault. Gap analysis helps you to
check. You click the icon to display a window that reports what is missing. In the example in
the slide, a rule is missing because the current three rules do not check for totalNetRevenues
that are equal to or greater than 200000.
If you select the check box and click OK, the missing rule is added to the decision table.

Oracle BPM 11g: Implement the Process Model 8 - 17


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Conflict Resolution

Oracle University and BUSINESS & DECISION LATAM SAC use only
A new rule 1, which
is now more
specific than rule 2,
conflicts with rule 2.

The decision table


points out this
problem.

Double click on
Double-click oneone of the
of the problems
problems (in
(the red R1
this case R2)orto
R2) to open
open Conflict
the Conflict
Resolution dialog and
box andselect the type
select the
of resolution
type required
of resolution required.

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

The example in the slide shows the addition of a new rule (R1) that conflicts with rule R2.
The conflict is that R1 is more specific than R2, and because only one rule fires, the conflict
must be resolved.
In a case like this example, you usually want the more-specific rule to override the less-
specific rule as follows:
1. Double-click the red R2 (in rule R1, the more specific rule) to open the Conflict
Resolution dialog box.
2. Select Override in the Resolution list.
3. Click OK.

Oracle BPM 11g: Implement the Process Model 8 - 18


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Conflict Resolved

Oracle University and BUSINESS & DECISION LATAM SAC use only
you setR2
After setting R1to
to
R2,the
override R1 the
decision table now
indicates this change.

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

When the conflict has been resolved, the red text in the Conflict Resolution section
disappears, and the table shows that an override is in place.

Oracle BPM 11g: Implement the Process Model 8 - 19


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Quiz

Which of the following are advantages of using a decision table


compared to using an IF/THEN rule? (Choose all that apply.)

Oracle University and BUSINESS & DECISION LATAM SAC use only
a. You cannot use an IF/THEN rule to set a value on an
output
p pparameter,, but yyou can use it with a decision table.
b. You cannot have more than one condition on an IF/THEN
rule, but you can have many conditions on a decision
table.
c. An IF/THEN rule does not warn you of condition conflicts,
but a decision table does
does.
d. You cannot perform gap analysis on an IF/THEN rule, but
you can perform this analysis on a decision table.

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

Oracle BPM 11g: Implement the Process Model 8 - 20


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 21


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Local Bucketsets
Click the Edit
Clicktothe
icon Edit
open
iconEdit
the to open
Edit Bucketset
Bucketset
window
window.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Add aliases
Selecting the if helpful.
condition
gives further
information
about value
ranges for the
condition.

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

Bucketsets that are created locally (local to a particular decision table) can be used only in the
decision table where they were created. They do not have an identifying name.

Oracle BPM 11g: Implement the Process Model 8 - 22


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Aliases

Oracle University and BUSINESS & DECISION LATAM SAC use only
Aliases declared in
the Bucketset editor
bucketset editor
will appear in the
conditions where
they are used.
used

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

Aliases are a way of giving a name to a range of values. In some cases, this may be more
useful and meaningful than numbers. For example, for a range of serial numbers, it may be
more useful to have an alias that shows the range of serial numbers as a year of manufacture.
In other cases, it may actually be better to have the numbers visible.

Oracle BPM 11g: Implement the Process Model 8 - 23


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating Bucketsets

Click to
add a new
bucketset.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Click the
Bucketsets
tab.

Click to add
a new
range.
Select the
data type.

Modify the Use numbers


endpoints rather than a
to create description.
the ranges.

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

To create bucketsets that can be used throughout the business rule:


1. Click the Bucketsets tab.
2 Click the + icon to open the Bucketset editor
2. editor.
3. Use the + icon in the editor to add each range.
Note that changing the endpoints will automatically change the ranges.

Oracle BPM 11g: Implement the Process Model 8 - 24


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 25


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Globals

It is usually a bad idea to have a literal value in a condition


because:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• It is difficult to know what the literal value represents
• Literal values are prone to error
error, mistyping
mistyping, or
misunderstanding
• It is difficult to debug problems with literal values
• It is difficult to make global changes for business reasons
Use globals instead.

Where does this number


come from? Might it be
needed elsewhere?

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

The example in the slide is only one reason for using globals. Globals are any variables or
constants that need to be accessed anywhere in the business rule. The example given in the
slide uses a final global as a constant.

Oracle BPM 11g: Implement the Process Model 8 - 26


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating and Using Globals

Use the Global tab to access


the Globals editor. Note how
a global can be final or not.

Oracle University and BUSINESS & DECISION LATAM SAC use only
InInthe
theExpression
ExpressionBuilder
Builderfor
for
the
thecondition,
condition,replace 0.3 with
replace0.3 with
preApprovedDiscount, a
preApprovedDiscount,
which is a constant.
constant

The name of the global


g
is much more
descriptive than 0.3.

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

Using globals in this way makes it much easier for a business analyst to be in control of
business rules.

Oracle BPM 11g: Implement the Process Model 8 - 27


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Final and Nonfinal Globals

This global will be


modified, so it
cannot be final.

Oracle University and BUSINESS & DECISION LATAM SAC use only
These globals act as
constants, so they
are set as final.

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

Sometimes it is useful to declare a global that is not final. For example, in the screenshot, a
global named result is used to initialize a reference to a new ApprovalFlowType object that
is not final. (In the practice, you do not do this. You simply use ApprovalFlowType.)
Notice also the three final globals. You have already seen the first global, but the last two are
used to store the values needed to determine who is required for a basic approval and who is
required for a high approval. Later, you learn how these globals are used in the ruleset
actions, and you also use them in the practice for the lesson titled “Defining Human
Workflows.”
Only globals that are final can be seen and edited in Business Process Composer.

Oracle BPM 11g: Implement the Process Model 8 - 28


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Functions

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Functions enable you to gather any reusable code into a function that can then be called from
an IF/THEN rule or a decision table rule. By default, when you create a business rule, a
number of standard functions will be available. By clicking the Functions tab, you can create
your own functions.
The example in the slide is from an alternative approach to the practice for this lesson.
Instead of using QuoteRequest as the input data object and using ApprovalFlow (a business
object used to store the result of the ruleset operations) as the output data object to the
business rule, you can use two wrapper objects as input and output data objects. If you did
that, you would probably want to use a function to initialize the RulesOutput wrapper object.
This function would be called by an IF/THEN rule in the ruleset that fires only if RulesInput is
not null (that is, if it needs to be created).
In the function example in the slide, the three lines of code do the following:
• Create a new out object of type RulesOutput.
• Assign the approvalFlow attribute of this RulesOutput object to result. (In the practice,
you create a global named result that creates and references an ApprovalFlow
j )
object.)
• Place the newly created RulesOutput object in working memory for use.

Oracle BPM 11g: Implement the Process Model 8 - 29


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 30


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Creating a Business Rule

Click the + button to


create a business rule.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Enter a name for the rule.

Click Add Input Data


Object to start mapping
data objects to the rule
rule.

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

In the next few slides, you learn how to create a business rule by using the BPM design
editor. It is also possible to use the SOA Composite Editor to create a business rule. But by
creating the business rule in the design editor, you do not have to complete the separate step
of binding the business rule activity to the implementation.

Oracle BPM 11g: Implement the Process Model 8 - 31


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Adding Input and Output Data Objects

Oracle University and BUSINESS & DECISION LATAM SAC use only
Select the
parameter
direction in
the drop-
down list.

Drag and
Drag the
drop the
parameter.
parameter

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

When you click OK in the Create Business Rule dialog box, JDeveloper creates the business
rule. It adds appropriate facts based on the data objects you set as input and output data
objects. JDeveloper also sets up functions.

Oracle BPM 11g: Implement the Process Model 8 - 32


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Data Associations

Oracle University and BUSINESS & DECISION LATAM SAC use only
Select Data Associations, and
th click
then li k the
th Edit button.
b tt

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

Input and output data needs to be mapped to the process.

Oracle BPM 11g: Implement the Process Model 8 - 33


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Checking Data Associations

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

As you saw with mapping parameters for other tasks, you will discover that JDeveloper is
intelligent about setting up the data associations automatically.

Oracle BPM 11g: Implement the Process Model 8 - 34


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Opening the Business Rule in the Main Canvas

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

You can find the business rule that you created in the Business Catalog in the Rules module.
Double-click ApprovalRules.rules to open the ApprovalRules editor in the main canvas.
Because there are no rules yet, the editor opens on the Ruleset tab, where you can start
creating IF/THEN rules or a decision table.
From this point, you create rulesets, facts, functions, globals, bucketsets, and links as
needed. You have a good opportunity to do this in the practice for this lesson.
Notice that when ApprovalRules.rules is open in the main canvas, you can see the
dictionary for ApprovalRules in the Structure pane.

Oracle BPM 11g: Implement the Process Model 8 - 35


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 36


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Testing Business Rules

Approaches to testing business rules:


• Run the process from the workspace.

Oracle University and BUSINESS & DECISION LATAM SAC use only
– Use Enterprise Manager to see which rule fired.
• Run the service from Enterprise Manager
Manager.
– Requires making the business rules functionality a service
– See which rule fired and the output data.
• Run rules engine from a Rules Language (RL) function.

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

Oracle BPM 11g: Implement the Process Model 8 - 37


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

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

Oracle BPM 11g: Implement the Process Model 8 - 38


Running the Process from the Workspace

Oracle University and BUSINESS & DECISION LATAM SAC use only
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Running Decision Service


from Enterprise Manager

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

To test the decision service in this way, you must make the decision service an exposed
service. You learn how to do this in the lesson titled “Implementing Service Tasks.”
Notice that the example allows you to populate just the two values needed by the business
rules, even though the input required by the decision service is a QuoteRequestType (with
many more data types). This was done by using a Mediator to receive the two values and
transform them into a QuoteRequestType before calling the decision service. (This is
explained further in the lesson titled “Implementing Service Tasks.”)

Oracle BPM 11g: Implement the Process Model 8 - 39


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Running Rules Engine from RL Function

Oracle University and BUSINESS & DECISION LATAM SAC use only
Click to run the
testrules function.

Check
Modify to output of
test different function.
values.

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

The screenshot shows the Functions tab of the rules editor.

Oracle BPM 11g: Implement the Process Model 8 - 40


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

RL Testrules Function: Line by Line

Set up some test


values.
Create the

Oracle University and BUSINESS & DECISION LATAM SAC use only
type required
by decision
service.

Set up a watch.

Call decision service.

It t
Iterate
through
listRule.

Required for
test function

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

Oracle BPM 11g: Implement the Process Model 8 - 41


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Topics

• Overview
• Rulesets

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support

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

Oracle BPM 11g: Implement the Process Model 8 - 42


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Business User:
Editing Deployed Business Rules at Run Time

Oracle University and BUSINESS & DECISION LATAM SAC use only
BEFORE
If driver’s age < 21,
deny application.

AFTER
If driver’s age < 25,
deny application.

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

Without programmer assistance and without interrupting the deployed business processes,
business users can use Business Process Composer to open deployed Oracle BPM projects
and edit the Oracle business rules in them. They can change values and commit those
changes to the rule dictionary that is already running, thus altering behavior without having to
change the rule logic.
This feature enables business users to adapt applications to changes such as:
• New government regulations
• Improvements in internal company processes
• Changes g in relationships with customers and suppliers

Oracle BPM 11g: Implement the Process Model 8 - 43


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Similar Interfaces to Create Business Rules

Business Process Composer has a similar interface to create


business rules:

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Users can perform most of the same tasks.
• A simpler interface is provided with less complexity
exposed.
Business Process Composer BPM Studio

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

Business Process Composer users can also create business rules. The Business Process
Composer interface is very similar to the rules editor in BPM Studio.
us ess use
• Business userss ca
can ccreate
eate rulesets
u esets co
containing
ta g dec
decision
s o functions
u ct o s a
and
d IF/THEN
/
expressions. They can create globals, bucketsets, and decision tables in a ruleset.
• The interface hides some of the complexity of ruleset creation, however, and some rule
components cannot be created in Business Process Composer.
• The screenshots in the slide show the rules editor menus for Business Process
Composer (on the left) and BPM Studio (on the right). Notice that facts and functions are
not shown in the Business Process Composer menu. The developer must add these by
using
i BPM St Studio.
di

Oracle BPM 11g: Implement the Process Model 8 - 44


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Best Practice: Define the Vocabulary for a


More Intuitive Interface
• Create well-named globals and bucketsets so that rules
are readable.

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Use functions to abstract complexity and make rules easier
to read and modify.
y
• Use globals to enable a rule to be tuned.
– Example: Change a limit value or required amount
without having to edit the rule logic.
• Use bucketsets to set ranges so that values are
constrained to help avoid problems
problems.
• Use aliases (when you can) for improved readability.

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

There are many techniques you can apply when creating business rules to help business
users customize the rules at run time. We examine these in the next few slides.

Oracle BPM 11g: Implement the Process Model 8 - 45


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Defining Vocabulary: Business-Friendly Aliases

Oracle University and BUSINESS & DECISION LATAM SAC use only
Business alias
for a fact

Business
aliases for
properties

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

• In the screenshot in the slide, you see a fact displayed in the rules editor. Remember
that a fact is a data object type. It can be a Java type, such as String, Decimal, and so
on. It can also be an XML type such as CreditRequestType or ProductItemType. The full
fact names are usually fully qualified with a package name or domain name, as shown
in the Name field in the slide (com.credit.demo.CreditRequestType). Defining an alias
for these facts enables business users to make their changes much more intuitively.
• In the lower portion of the window shown in the slide, you see aliases defined for the
individual properties of the Credit Request fact.

Oracle BPM 11g: Implement the Process Model 8 - 46


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Defining Vocabulary: Simplify the Environment

Oracle University and BUSINESS & DECISION LATAM SAC use only
Make unneeded Associate
properties invisible. properties with list
or range of values.

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

Oracle BPM 11g: Implement the Process Model 8 - 47


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Defining Vocabulary:
Business-Friendly
Business Friendly Custom Operators
A function returning
boolean can be used as a
custom operator.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Custom operator
Encapsulate any available in
sophisticated logic appropriate context
here.

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

Oracle BPM 11g: Implement the Process Model 8 - 48


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Comparison of BPM Studio Functionality


with Business Process Composer
Function: BPM Process Comments
Create/Define Studio Composer

Oracle University and BUSINESS & DECISION LATAM SAC use only
Rule Yes Yes Less complexity
Decision Table Yes Yes exposed in Process
Composer
Globals Yes Yes
Bucketset Yes Yes
Translations Yes Yes
Fact Yes No
Function Yes No
Customize rules at No Yes
runtime

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

Oracle BPM 11g: Implement the Process Model 8 - 49


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Summary

In this lesson, you should have learned how to:


• Describe how business rules are processed at run time

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Define each of the following:
– Decision table
– Condition
– Ruleset
– Rule dictionary
– Bucketset
– A ti
Action
• Create a business rule and assign it to a business rule
activity flow element
• Define the data associations for a business rule

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

Oracle BPM 11g: Implement the Process Model 8 - 50


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 8-1 Overview:


Creating a Business Rule Dictionary
This practice covers the following topics:
• Creating a new rule dictionary

Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating a simple IF/THEN rule
• Testing the rule

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

Oracle BPM 11g: Implement the Process Model 8 - 51


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 8-2 Overview:


Creating a Decision Table
This practice covers creating a decision table for the new
ruleset.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 8 - 52


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Practice 8-3 Overview:


Testing the Business Rule
This practice covers creating a test function to test a business
rule.

Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Oracle BPM 11g: Implement the Process Model 8 - 53


THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY. COPYING eKIT MATERIALS FROM THIS COMPUTER IS STRICTLY PROHIBITED

Oracle University and BUSINESS & DECISION LATAM SAC use only

You might also like