Professional Documents
Culture Documents
Oracle-BPM-11g 2
Oracle-BPM-11g 2
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.
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.
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
iii
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
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
iv
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
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
v
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
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
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
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
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
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
xi
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
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
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
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
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
xv
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
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
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
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
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
xix
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
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
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
suggested prerequisites
• List the course goals
• List the course lessons and suggested schedule
Target Audience
• Process developers
• Developers
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Application developers
• SOA developers
• Architects
Course Description
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
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.
Course Goals
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.
Course Goals
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
Prerequisite Training
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
Prerequisite Skills
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
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
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
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
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
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
Summary
Oracle University and BUSINESS & DECISION LATAM SAC use only
suggested prerequisites
• List the course goals
• List the course lessons and suggested schedule
O i
Overview O
off Oracle
l BPM
Process Implementation
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
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
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process
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
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 University and BUSINESS & DECISION LATAM SAC use only
JDeveloper
EM Console
SOA Infrastructure
Oracle WebLogic Server
Oracle BAM
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
BPM Studio
Plug-In
Oracle University and BUSINESS & DECISION LATAM SAC use only
Business Process JDeveloper
Composer EM Console
Business Process
SOA Infrastructure Workspace
Oracle WebLogic Server
Oracle BAM
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 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 University and BUSINESS & DECISION LATAM SAC use only
Business Process Composer
BPM Studio
• Execution
Monitoring and Analysis Enterprise Manager
Business Process Composer
• Collaborative Work
Business Process Workspace • Management
Administration and Management
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 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.
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
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.
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process
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.
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
Service Task
User Task
Oracle University and BUSINESS & DECISION LATAM SAC use only
Rules Task
Lane
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.
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
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 University and BUSINESS & DECISION LATAM SAC use only
– It may or may not use a merge.
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 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
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 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
Good Credit
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.
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
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process
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
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 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 University and BUSINESS & DECISION LATAM SAC use only
(Process Analyst) Administrator)
Business
B i
BPM
Process BPM Studio
Run Time
Composer
MDS
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 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.
The task outlined in the slide represents a high-level overview of implementing a process
model.
The next slide provides additional details.
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 University and BUSINESS & DECISION LATAM SAC use only
BPM Project Navigator
Main Canvas
Structure Panel
Simulation Documentation
Log Tab Panel Tab
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 University and BUSINESS & DECISION LATAM SAC use only
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.
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 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
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.
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 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.
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.
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
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process
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
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.
• 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
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Overview of the development environment
• Process Accelerators
• Introduction to the RequestQuote process
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.
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.
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 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 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 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 University and BUSINESS & DECISION LATAM SAC use only
Quote
Details
After the contracts are finalized, a system process automatically saves the quote to a file.
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 University and BUSINESS & DECISION LATAM SAC use only
• If either approval fails, the process instance is sent back to Enter Quote Details.
Summary
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
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 University and BUSINESS & DECISION LATAM SAC use only
• Configuring a connection to WebLogic Server that hosts
the SOA and BPM runtime engines
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Gateways of the process
• SOA composite relationship
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
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
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
Topics
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
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
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 University and BUSINESS & DECISION LATAM SAC use only
Business
BPM
Process
Studio
Composer
SOA Infrastructure
Source
Oracle WebLogic Server
Control
Systems
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 University and BUSINESS & DECISION LATAM SAC use only
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
• 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.
MDS Repository
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
fkafka fkafka
jstein jstein
mtwain mtwain
MDS Repository
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 University and BUSINESS & DECISION LATAM SAC use only
this user has access.
(Optional) Specify
user credentials.
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 University and BUSINESS & DECISION LATAM SAC use only
1 2 When the project is
checked out, it is
automatically locked.
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 University and BUSINESS & DECISION LATAM SAC use only
Importing and exporting BPM projects: EXP files
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 University and BUSINESS & DECISION LATAM SAC use only
Project can be renamed.
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.
fkafka fkafka
jstein jstein
Oracle University and BUSINESS & DECISION LATAM SAC use only
mtwain mtwain
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.
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 University and BUSINESS & DECISION LATAM SAC use only
Edit, share, collaborate
and create snapshots.
Version
Application
Implement
Version
Application
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.
Quiz
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.
Quiz
Oracle University and BUSINESS & DECISION LATAM SAC use only
answer.)
a. Editingg
b. Viewing
c. Versioning
Topics
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Home Page
Oracle University and BUSINESS & DECISION LATAM SAC use only
Buttons for
customizing the
Projects page layout
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.
• 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)
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 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.
Oracle University and BUSINESS & DECISION LATAM SAC use only
Project
Information pane
“Recent activity” pane
Quickstart menu
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.
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.
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.
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.
Administering Privileges (3 of 3)
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
Topics
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
Project Templates
Oracle University and BUSINESS & DECISION LATAM SAC use only
New BPM projects
Project template based on template
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 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
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 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
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.
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.
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 University and BUSINESS & DECISION LATAM SAC use only
BPM Studio
Activity-Level Properties
BPM
Oracle University and BUSINESS & DECISION LATAM SAC use only
Studio
MDS
Repository
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.
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.
Oracle University and BUSINESS & DECISION LATAM SAC use only
Activity is sealed.
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
Topics
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
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.
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 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.
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.
End-User Documentation
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Process level
• Activity level
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.
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
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 University and BUSINESS & DECISION LATAM SAC use only
• Using text annotations
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 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 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
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.
Process Analytics
Metrics
Oracle University and BUSINESS & DECISION LATAM SAC use only
What What
happened? is happening?
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 University and BUSINESS & DECISION LATAM SAC use only
Developer must
Default configure.
behavior Oracle BPM
Data
Targets
BPM Cubes BAM Data
(Process Analytics) Objects
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 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 University and BUSINESS & DECISION LATAM SAC use only
2. Configure the OracleBamAdapter in the WebLogic
Console.
Oracle University and BUSINESS & DECISION LATAM SAC use only
property of the BPMNConfig:bpmn bean.
2 Click Apply.
2. Apply
• 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.
Configuring 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
Configure OracleBamAdapter
Oracle University and BUSINESS & DECISION LATAM SAC use only
5. Click Save.
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.
Configuring OracleBamAdapter
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.
Quiz
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
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.
Summary
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
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
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
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
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
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
Topics
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
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
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.
Process Instance
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.
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.
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.
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)
Data Objects
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
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.
Topics
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
Data Objects
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Process data objects
• Subprocess data objects
• Project data objects
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 University and BUSINESS & DECISION LATAM SAC use only
Structure Access
Oracle University and BUSINESS & DECISION LATAM SAC use only
Process data objects From anywhere in the process
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
Activity
Data Objects
Oracle University and BUSINESS & DECISION LATAM SAC use only
Input Output
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
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.
Topics
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
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.
Oracle University and BUSINESS & DECISION LATAM SAC use only
available:Bool cost:Real stock:Real
Employee Product
age:Int
Can be defined in BPM Studio and
used in Business Process Composer
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?
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 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.
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>
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).
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 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
Quiz
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
Topics
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
Data Mapping
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.
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.
Data Association
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.
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 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.
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 University and BUSINESS & DECISION LATAM SAC use only
Drag inputs to Input
Arguments for input
mapping.
Input
Data Objects
Arguments
(Inputs)
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 University and BUSINESS & DECISION LATAM SAC use only
Output
Arguments
Data Objects
(output)
Mapped Data
Association
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.
Topics
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
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
The steps to create the data object are covered in the following two sections.
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating it by using the tools in JDeveloper
Oracle University and BUSINESS & DECISION LATAM SAC use only
1 2
Right-click Select
Business New > Business
Catalog. Object.
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.
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.
Attributes can be simple data types, or they can be other business objects.
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
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.
Oracle University and BUSINESS & DECISION LATAM SAC use only
5
Find the
xsd file.
.xsd file
6
Select the
type and
click OK.
Topics
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
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.
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.
The procedure for creating a project data object is exactly the same as the procedure for
creating a process data object.
Quiz
Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Data object
b Business object
b.
c. Process data object
d. Project data object
Topics
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
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)
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
The table in the slide shows the three types of business indicators, each serving a different
purpose and each defined using specific data types.
Measures
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%
Dimensions
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
100 15
Efforrt
0
50 1 2 3 4
Severity
0
1 2 3 4
Severity
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.
Counters
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
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 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
For details about performing steps 1, 2, 3, and 5 in Business Process Composer, see the
Oracle BPM 11g Modeling course.
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
Quiz
Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Measures
b Counters
b.
c. Dimensions
Summary
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Declaring process data objects to be used in later
practices
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
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
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
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms
User 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
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 University and BUSINESS & DECISION LATAM SAC use only
• Human tasks are executed by the SOA human workflow
engine.
g
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 University and BUSINESS & DECISION LATAM SAC use only
Human Business
BPEL BPMN
Workflow Rules
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.
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms
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
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 University and BUSINESS & DECISION LATAM SAC use only
Request Hello user
task currently has no
implementation.
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.
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.
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.
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.
The sequence shown in the slide shows the basic patterns you can choose. The patterns are
covered in detail later in this lesson.
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.
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 University and BUSINESS & DECISION LATAM SAC use only
10
Click the icon to
see data
associations.
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 University and BUSINESS & DECISION LATAM SAC use only
11
Define the
input
mapping.
i
12
Define the
output
mapping.
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 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
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 University and BUSINESS & DECISION LATAM SAC use only
parameter that was
added in the Human Task
g box.
dialog
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 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.
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.
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms
Oracle University and BUSINESS & DECISION LATAM SAC use only
Simple pattern creates
APPROVE and
REJECT buttons.
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
Sticky User
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
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 University and BUSINESS & DECISION LATAM SAC use only
Initiator pattern creates
a SUBMIT button.
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.
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms
Oracle University and BUSINESS & DECISION LATAM SAC use only
HelloObject hello will be available
as an input or output parameter.
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 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.
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.
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.
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.
Quiz
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.
Topics
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Human task patterns
• Parameters and data association
• Task forms
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.”
Task Forms
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
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.
Select
Oracle University and BUSINESS & DECISION LATAM SAC use only
Auto-Generate Task Form.
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 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
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 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.
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
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.
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).
Summary
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
simplified UI
• A default task form for the human task
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 University and BUSINESS & DECISION LATAM SAC use only
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
Writing E i
W iti Expressions and I iti li i
d Initializing
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
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
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
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
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
• 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
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
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
The title can also be set with the properties of the task, as shown in the screenshot.
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
Can modify
data in a data
Oracle University and BUSINESS & DECISION LATAM SAC use only
association
Opens the
Data Associations
editor
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.
Simple Expression
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.
Variables in Workspace
Oracle University and BUSINESS & DECISION LATAM SAC use only
Variable values
displayed in
workspace
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 University and BUSINESS & DECISION LATAM SAC use only
Simple expression
for today’s date
Simple expression
mode shows a limited
set of functions.
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.
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
Script Task
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
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 University and BUSINESS & DECISION LATAM SAC use only
Process data can be modified
using the Data Associations editor.
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 University and BUSINESS & DECISION LATAM SAC use only
Only the Output tab
is available.
The screenshot shows the Data Associations window for the script task. Notice that there is
only an Output tab.
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.
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.
Quiz
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.
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
XSL Transformations
Oracle University and BUSINESS & DECISION LATAM SAC use only
A script task here can
modify a variable before
the write task is reached.
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.
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.
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.
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 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.
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 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.
The example shows the upper-case function being dragged from the mapping of the source
greeting element to the target greeting element.
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.
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>
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
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
Expression Builder
Oracle University and BUSINESS & DECISION LATAM SAC use only
Click here to add data
or functions to the
expression.
XPath: Example
Oracle University and BUSINESS & DECISION LATAM SAC use only
The String Functions list gives access to
different types of functions.
Modified Title
Oracle University and BUSINESS & DECISION LATAM SAC use only
<% and %> are added
to the beginning and
end of the expression
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
Conditional Transitions
Oracle University and BUSINESS & DECISION LATAM SAC use only
This transition needs an expression to respond
correctly to the outcome of Review Message.
Oracle University and BUSINESS & DECISION LATAM SAC use only
outcome is a example is helloOutcome.
variable of the
human workflow.
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 University and BUSINESS & DECISION LATAM SAC use only
Double-click the transition
p the editor.
to open
Click the
Properties tab.
Oracle University and BUSINESS & DECISION LATAM SAC use only
the expression type. instance takes this transition.
Quiz
Oracle University and BUSINESS & DECISION LATAM SAC use only
a. Simple
b XPath
b.
c. XSLT
d. Java syntax
Summary
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Writing the conditional expressions that determine the
branching
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Deploying the process
• Testing the process by using BPM Workspace
Oracle University and BUSINESS & DECISION LATAM SAC use only
object based on the user login
• Using XPath functions to dynamically determine a date
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
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
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
Topics
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
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
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 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
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.”
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
A web form has Oracle Universal Content Management (UCM) integration for attachments.
Integration with Oracle WebCenter and other technologies is not affected.
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
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
AJAX coding:
g Rich user experience
p ✔
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.
Topics
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
Component Palette
Oracle University and BUSINESS & DECISION LATAM SAC use only
Web form toolbar
D
Data S
Sources pane
To add controls to this web form, drag components from the Component Palette to the Form
Canvas.
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
Component Palette
Oracle University and BUSINESS & DECISION LATAM SAC use only
Selection
S l ti
Controls
Input Controls
Group
Controls
Selection
Control
Other
Controls
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.”
Properties Editor
Oracle University and BUSINESS & DECISION LATAM SAC use only
function.
You learn details about these controls in the section titled “Adding Elements to a Web Form.”
Quiz
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
Answer: b
Topics
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
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
Form-First Workflow
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.
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.
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.
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 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 University and BUSINESS & DECISION LATAM SAC use only
Select the form header.
Oracle University and BUSINESS & DECISION LATAM SAC use only
Each control type has
different options.
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 University and BUSINESS & DECISION LATAM SAC use only
Toggle to the rules editor.
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 University and BUSINESS & DECISION LATAM SAC use only
set as 07-26-1966.
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 University and BUSINESS & DECISION LATAM SAC use only
1 Select the Web Form option.
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 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
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.
Data-First Workflow
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.
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 University and BUSINESS & DECISION LATAM SAC use only
a Select the Web Form option.
Oracle University and BUSINESS & DECISION LATAM SAC use only
Data sources are
available for this 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.
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.
Topics
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
form.
Selection
S l ti
Controls
Input Controls
Group
Controls
Selection
Control
Other
Controls
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.
Input Controls
Oracle University and BUSINESS & DECISION LATAM SAC use only
types. Text
Date
Phone
Money
Quantity
Number
TextArea
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 University and BUSINESS & DECISION LATAM SAC use only
Text xsd: string
Quantity xsd:Integer
Boolean xsd:boolean
Selection Controls
Oracle University and BUSINESS & DECISION LATAM SAC use only
Dropdown Radio
True/False
Checkbox
Group Controls
Oracle University and BUSINESS & DECISION LATAM SAC use only
Section
Tabs
Table
Repeat
Section
Other Controls
Image Message
Oracle University and BUSINESS & DECISION LATAM SAC use only
Link
Button
(Trigger)
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.
Quiz
Oracle University and BUSINESS & DECISION LATAM SAC use only
a. True
b False
b.
Topics
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
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
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
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 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 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
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.
Patterns
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: ###-###-####
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.
Dynamic Text
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dynamic HTML
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
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
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.
Tips
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.
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
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.
Topics
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
Toggle to the rules editor.
Click “rules” to access the form rules editor. This button toggles between the form rules editor
and the web form editor.
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.
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.
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;
}
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 University and BUSINESS & DECISION LATAM SAC use only
while ( boolean_expr )
statement;
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 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;
}
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 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;
}
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.
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.
Summary
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
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
I l
Implementing B i
ti Business Rule
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
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
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
Conditional
transition
Oracle University and BUSINESS & DECISION LATAM SAC use only
Unconditional
transition
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 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.
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 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
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
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.
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
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
Ruleset
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 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 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
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 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).
Oracle University and BUSINESS & DECISION LATAM SAC use only
Rule 2 fires if
the condition is
false.
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 University and BUSINESS & DECISION LATAM SAC use only
Indicates that a decision
table rule fired.
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).
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.
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.
Gap Analysis
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
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.
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.
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.
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.
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.
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.
Quiz
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.
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
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.
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.
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
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.
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.
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
Globals
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.
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 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
Using globals in this way makes it much easier for a business analyst to be in control of
business rules.
Oracle University and BUSINESS & DECISION LATAM SAC use only
These globals act as
constants, so they
are set as final.
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.
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.
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
Oracle University and BUSINESS & DECISION LATAM SAC use only
Enter a name for the rule.
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 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
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.
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
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 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.
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
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.
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
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 University and BUSINESS & DECISION LATAM SAC use only
Click to run the
testrules function.
Check
Modify to output of
test different function.
values.
Oracle University and BUSINESS & DECISION LATAM SAC use only
type required
by decision
service.
Set up a watch.
It t
Iterate
through
listRule.
Required for
test function
Topics
• Overview
• Rulesets
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Bucketsets
• Globals
• Creating business rules
• Testing business rules
• Collaboration support
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.
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 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
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 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.
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 University and BUSINESS & DECISION LATAM SAC use only
Business alias
for a fact
Business
aliases for
properties
• 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 University and BUSINESS & DECISION LATAM SAC use only
Make unneeded Associate
properties invisible. properties with list
or range of values.
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.
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
Summary
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
Oracle University and BUSINESS & DECISION LATAM SAC use only
• Creating a simple IF/THEN rule
• Testing the rule
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Oracle University and BUSINESS & DECISION LATAM SAC use only
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Oracle University and BUSINESS & DECISION LATAM SAC use only