Oracle Fusion Middleware Online Documentation Library

(1)

Oracle® Fusion Middleware

Modeling and Implementation Guide for Oracle Business

Process Management

11g Release 1 (11.1.1.5.0)

E15176-05

April 2011

Describes how to design and implement business processes using Oracle Business Process Studio.


(2)

Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management, 11g Release 1 (11.1.1.5.0)

E15176-05

Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Primary Author: Carolina Arce Terceros, Steven Leslie

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.


(3)

iii

Contents

Preface

... xxiii

Audience... xxiii

Documentation Accessibility ... xxiii

Related Documents ... xxiv

Conventions ... xxiv

Part I

Introduction to Oracle BPM Studio

1

Oracle Business Process Management Suite Overview

1.1 Introduction to the Oracle Business Process Management Suite... 1-1 1.2 Oracle BPM User Personas ... 1-2 1.3 Oracle BPM Suite Components... 1-3 1.3.1 Process Modeling and Implementation... 1-4 1.3.1.1 Oracle BPM Studio ... 1-4 1.3.1.2 Oracle Business Process Composer... 1-4 1.3.1.3 Oracle Metadata Service (MDS) Repository ... 1-5 1.3.1.4 Oracle BPM Projects ... 1-5 1.3.2 Oracle BPM Run Time Components... 1-5 1.3.2.1 Oracle BPM Engine ... 1-5 1.3.2.2 Oracle Human Workflow... 1-6 1.3.2.3 Oracle Business Rules ... 1-6 1.3.2.4 Oracle WebLogic Application Server ... 1-6 1.3.2.5 Oracle Enterprise Manager ... 1-6 1.3.3 Oracle BPM Suite Process Participant Applications... 1-6 1.3.3.1 Oracle BPM WorkSpace... 1-7 1.3.3.2 Oracle BPM Process Spaces... 1-7 1.3.4 Other Oracle BPM Suite Components ... 1-7 1.3.4.1 Process Analytics ... 1-7 1.3.4.2 Guided Business Processes ... 1-7 1.4 Oracle Business Process Analysis (BPA) Suite ... 1-7 1.5 Introduction to the Application Development Life Cycle ... 1-8 1.5.1 Process Modeling... 1-9 1.5.2 Implementation... 1-10 1.5.3 Deployment ... 1-10 1.5.4 Oracle BPM Run Time... 1-11


(4)

iv

1.6 Oracle BPM Use Cases ... 1-11 1.6.1 Use Case: Using BPM Studio to Create Project Templates... 1-11 1.6.2 Use Case: Using BPM Studio to Model Processes and Deploy an Application ... 1-12 1.6.3 Use Case: Using Business Process Composer to Create Process Blueprints ... 1-12 1.6.4 Use Case: Using Business Process Composer to Revise Oracle Business Rules... 1-13 1.6.5 Use Case: Using The Oracle BPA Suite to Model Your Business Processes ... 1-13

2

Overview of Business Process Design

2.1 Introduction to Business Process Management Notation (BPMN) ... 2-1 2.1.1 What is Business Process Management Notation (BPMN) ... 2-1 2.1.2 Business Processes ... 2-1 2.1.2.1 Process Instances ... 2-2 2.1.2.2 Process Tokens ... 2-2 2.1.3 Flow Objects ... 2-2 2.1.3.1 Tasks ... 2-2 2.1.3.2 Events ... 2-2 2.1.3.3 Gateways... 2-2 2.1.3.4 Sequence Flows... 2-2 2.1.4 Data Objects... 2-2 2.2 Introduction to the Sales Quote Example Project... 2-3 2.2.1 Breakdown of the Sales Quote Example ... 2-3 2.2.1.1 Initiate Sales Quote... 2-3 2.2.1.2 Determine Business Practice Review... 2-4 2.2.1.3 Approve Quote ... 2-5 2.2.1.4 Approvals Outcome ... 2-6

3

Introduction to Oracle BPM Studio

3.1 Overview of Oracle BPM Studio... 3-1 3.1.1 Oracle BPM Studio Use Cases... 3-1 3.1.2 Introduction to JDeveloper Roles ... 3-1 3.2 Overview of the Application Development Life Cycle ... 3-2 3.2.1 Introduction to Modeling, Implementation, and Deployment ... 3-2 3.2.2 Workflow: Modeling, Implementing, and Deploying an Application ... 3-2 3.2.3 Workflow: Creating Applications Based on Process Blueprints... 3-3 3.2.4 Workflow: Creating Project Templates ... 3-4 3.2.5 Workflow: Integration between the Oracle BPM Suite and Oracle BPA... 3-5 3.3 Introduction to the Oracle BPM Studio User Interface ... 3-7 3.3.1 Oracle BPM Project Navigator... 3-7 3.3.2 Application Navigator ... 3-8 3.3.3 BPMN Process Editor ... 3-8 3.3.4 BPMN Component Palette ... 3-9 3.3.5 Oracle BPM MDS Browser ... 3-10 3.3.6 Structure View... 3-10 3.3.7 Simulation View... 3-11 3.3.8 Log Window ... 3-12


(5)

v 3.3.9 Documentation Window ... 3-12

Part II

Using Oracle BPM Studio

4

Working with Projects and Project Templates

4.1 Introduction to Oracle BPM Projects... 4-1 4.1.1 Introduction to Project Resources ... 4-1 4.1.2 Sharing Projects Between Oracle BPM Users ... 4-2 4.2 Creating and Working with Projects... 4-2 4.2.1 How to Create a New Project... 4-2 4.2.2 How to Open a Project from the File System... 4-2 4.2.3 How to Export a Project... 4-3 4.2.4 How to Import a Previously Exported Project ... 4-3 4.2.5 How to Edit Project Preferences ... 4-3 4.3 Introduction to Project Templates ... 4-4 4.3.1 Introduction to Edit Policies... 4-4 4.3.1.1 Process Level Edit Policies ... 4-4 4.3.1.2 Activity Edit Policies ... 4-5 4.3.2 Using Data Objects and Variables in Project Templates ... 4-5 4.3.3 Using the Business Catalog in Project Templates ... 4-5 4.4 Working with Project Templates ... 4-6 4.4.1 How to Create a New Project Template ... 4-6 4.4.2 How to Create a Project Template from an Existing BPM Project ... 4-6 4.4.3 How to Set the Edit Policies for a Process in a Project Template... 4-7 4.4.4 How to Set the Edit Policies for an Activity in a Project Template ... 4-7 4.5 Using the Oracle BPM Metadata Service (MDS) Repository... 4-7 4.5.1 Introduction to the Oracle Metadata Service (MDS) Repository... 4-7 4.5.2 Introduction to the Oracle BPM Metadata Service (MDS) Repository ... 4-8 4.5.3 Introduction to the Oracle BPM Metadata Service Browser ... 4-8 4.5.4 How to Configure a Connection to the Oracle BPM Metadata Service Repository... 4-9 4.5.5 How to Refresh the Oracle BPM MDS Repository ... 4-9 4.5.6 How to Publish a Project or Project Template to Oracle BPM MDS ... 4-9 4.5.7 How to Checkout a Project in Oracle BPM MDS ... 4-10 4.5.8 How to Lock or Unlock a Project in Oracle BPM MDS ... 4-10

5

Working with Processes and the Process Editor

5.1 Working with Processes... 5-1 5.1.1 Introduction to Business Processes ... 5-1 5.1.1.1 Types of Processes ... 5-1 5.1.2 How to Create a New Business Process ... 5-2 5.1.3 How to Open a Business Process... 5-2 5.1.4 How to Delete a Business Process ... 5-3 5.1.4.1 What You Need to Know About Deleting a Business Process ... 5-3 5.1.5 How to Edit Process Preferences ... 5-3 5.2 Introduction to the Process Editor... 5-3


(6)

vi

5.3 Working with Flow Objects in Your Process ... 5-4 5.3.1 How to Add Flow Objects from the Process Editor Toolbar... 5-4 5.3.2 How to Add Flow Objects from the Component Palette... 5-5 5.3.3 How to Edit Flow Object Properties ... 5-5 5.4 Documenting Your Process ... 5-5 5.4.1 Introduction to the Documentation Editor ... 5-5 5.4.2 How to Add Documentation to Your Process... 5-6

Part III

Modeling a Process

6

Modeling Business Processes with Oracle BPM

6.1 Using Swimlanes to Organize Your Process... 6-1 6.1.1 Introduction to Roles... 6-1 6.1.1.1 Roles in Context ... 6-2 6.1.2 Introduction to Swimlanes ... 6-2 6.1.2.1 Swimlanes in Context ... 6-3 6.1.3 Adding Roles and Swimlanes to Your Process ... 6-3 6.1.4 Sharing Roles Between Business Process Composer and BPM Studio... 6-3 6.2 Defining the Start and End Point of a Process ... 6-4 6.2.1 Introduction to Start and End Events ... 6-4 6.2.1.1 Default Start Events for Process Patterns and Subprocesses ... 6-4 6.2.1.2 Defining How a Process Instance is Triggered ... 6-4 6.2.1.3 Using Multiple Start Events in a Process ... 6-5 6.2.1.4 Using Multiple End Events in a Process ... 6-5 6.2.2 Introduction to the None Start Event... 6-6 6.2.2.1 The None Start Event in Context... 6-6 6.2.2.2 Data Associations ... 6-7 6.2.3 Introduction to the Message Start Event ... 6-7 6.2.3.1 The Message Start Event in Context ... 6-7 6.2.3.2 Using Process Input and Output Arguments... 6-8 6.2.4 Introduction to the Signal Start Event ... 6-8 6.2.4.1 The Signal Start Event in Context ... 6-8 6.2.5 Introduction to the Timer Start Event... 6-8 6.2.6 Introduction to the None End Event... 6-9 6.2.6.1 The None End Event in Context... 6-9 6.2.7 Introduction to the Error End Event ... 6-9 6.2.8 Introduction to the Message End Event ... 6-10 6.2.9 Introduction to the Terminate End Event ... 6-10 6.3 Adding User Interaction to Your Process... 6-10 6.3.1 Introduction to Human Workflow... 6-11 6.3.1.1 Introduction to Human Tasks... 6-11 6.3.2 Introduction to The User Task ... 6-11 6.3.2.1 The User Task in Context ... 6-12 6.3.2.2 Using Interactive Activities... 6-13 6.3.2.3 Using the User Task in Project Templates ... 6-13 6.3.3 Introduction to the Manual Task... 6-14


(7)

vii 6.3.3.1 The Manual Task in Context... 6-14 6.4 Communicating With Other Processes and Services... 6-15 6.4.1 Introduction to the Service Task... 6-15 6.4.1.1 The Service Task in Context... 6-15 6.4.1.2 Implementing Reusable Services in Project Templates... 6-16 6.4.2 Introduction to the Call Activity ... 6-16 6.4.2.1 Reusable Processes ... 6-16 6.4.2.2 Behavior of the Call Activity When Calling a Reusable Process ... 6-17 6.4.3 Introduction to the Send Task... 6-17 6.4.3.1 The Send Task in Context... 6-17 6.4.4 Introduction to the Receive Task... 6-18 6.4.4.1 The Receive Task in Context ... 6-18 6.4.4.2 Starting a Process with the Receive Task ... 6-18 6.4.5 Using the Send and Receive Tasks to Communicate Between Processes ... 6-18 6.4.6 Introduction to the Message Throw Event... 6-19 6.4.7 Introduction to the Message Catch Event ... 6-20 6.4.8 Using Message Throw and Catch to Communicate Between Processes ... 6-21 6.5 Adding Business Logic Using Oracle Business Rules ... 6-22 6.5.1 Introduction to Oracle Business Rules... 6-22 6.5.2 Introduction to the Business Rules Task ... 6-22 6.5.2.1 The Business Rule Task in Context ... 6-23 6.6 Controlling Process Flow Using Sequence Flows ... 6-23 6.6.1 Introduction to Sequence Flows ... 6-23 6.6.2 Introduction to Unconditional Sequence Flows... 6-23 6.6.3 Introduction to Conditional Sequence Flows ... 6-24 6.6.4 Introduction to Default Sequence Flows ... 6-24 6.7 Controlling Process Flow Using Gateways... 6-25 6.7.1 Introduction to Gateways... 6-25 6.7.1.1 Split-Merge Pairs ... 6-25 6.7.2 Introduction to the Exclusive Gateway ... 6-25 6.7.2.1 The Exclusive Gateway in Context ... 6-26 6.7.2.2 Splitting and Merging Exclusive Gateways ... 6-26 6.7.3 Introduction to the Inclusive Gateway ... 6-27 6.7.3.1 Splitting and Merging Inclusive Gateways ... 6-27 6.7.4 Introduction to the Parallel Gateway... 6-28 6.7.4.1 The Parallel Gateway in Context... 6-28 6.7.4.2 Splitting and Merging Parallel Gateways ... 6-29 6.7.5 Introduction to the Complex Gateway ... 6-29 6.7.6 Introduction to the Event Based Gateway ... 6-30 6.7.6.1 Starting a Process with an Event-Based Gateway ... 6-31 6.8 Controlling Process Flow Using Intermediate Events... 6-31 6.8.1 Introduction to Intermediate Events... 6-31 6.8.2 Introduction to the Timer Catch Event... 6-31 6.8.3 Introduction to the Error Catch Event ... 6-32 6.9 Using Subprocesses to Organize Your Process ... 6-33 6.9.1 Subprocesses and Sequence Flows... 6-34 6.9.2 Subprocesses in Context ... 6-34


(8)

viii

6.9.3 Looping Subprocesses... 6-35 6.10 Changing the Value of Data Objects in Your Process... 6-35 6.10.1 Introduction to the Script Task ... 6-35 6.10.1.1 The Script Task in Context ... 6-35 6.11 Measuring Process Performance Using Measurement Marks ... 6-36 6.11.1 How to Add a Measurement Mark to a Process ... 6-37 6.12 Using Guided Business Processes to Set Project Milestones ... 6-38 6.12.1 Introduction to Guided Business Processes... 6-38 6.12.1.1 Introduction to Activity Guides and Milestones ... 6-38 6.12.2 Working with Guided Business Processes... 6-38

7

Modeling Your Organization

7.1 Introduction to Organizations... 7-1 7.1.1 Introduction to the Organization Editor ... 7-1 7.2 Introduction to Roles ... 7-2 7.3 Introduction to Organizational Charts ... 7-2 7.3.1 Introduction to Organizational Units ... 7-2 7.3.2 Introduction to Calendars ... 7-3 7.3.3 Introduction to Holidays ... 7-3 7.4 Working with Roles ... 7-3 7.4.1 How to Create a New Role... 7-4 7.4.2 How to Add Members to a Role... 7-4 7.5 Working with Organizations... 7-4 7.5.1 How to Create an Organizational Unit... 7-4 7.5.2 How to Create a Calendar ... 7-5 7.5.3 How to Create Holidays ... 7-5

8

Handling Information in Your Process Design

8.1 Introduction to Handling Information in Your Process Design ... 8-1 8.1.1 Basic Data Objects versus Complex Data Objects... 8-2 8.2 Introduction to Data Objects ... 8-3 8.2.1 Supported Data Types for Data Objects ... 8-4 8.2.2 Default Values ... 8-4 8.3 Working with Process Data Objects ... 8-5 8.3.1 How to Add a Process Data Object ... 8-5 8.3.2 How to Edit a Process Data Object... 8-5 8.3.3 How to Delete a Data Object ... 8-6 8.3.4 How to Assign a Value to a Process Data Object... 8-6 8.4 Introduction to Activity Instance Attributes... 8-6 8.5 Working with Activity Instance Attributes... 8-7 8.6 Introduction to Subprocess Data Objects ... 8-8 8.7 Working with Subprocess Data Objects ... 8-8 8.7.1 Adding a Data Object to a Subprocess ... 8-8 8.7.2 Editing a Data Object in a Subprocess ... 8-8 8.7.3 Deleting a Data Object from a Subprocess... 8-9 8.8 Introduction to Project Data Objects ... 8-9 8.8.1 Business Indicators ... 8-10


(9)

ix 8.8.2 Supported Data Types for Project Data Objects... 8-10 8.9 Working with Project Data Objects ... 8-10 8.9.1 How to Add a Project Data Object ... 8-10 8.9.2 How to Edit a Project Data Object... 8-11 8.9.3 How to Delete a Project Data Object... 8-11 8.9.4 How to Assign a Value to a Project Data Object ... 8-11 8.10 Introduction to Arguments... 8-12 8.11 Naming Conventions ... 8-12 8.12 Scope and Access ... 8-13 8.13 Introduction to Data Associations ... 8-14 8.13.1 Introduction to the Data Association Editor... 8-14 8.14 Introduction to Transformations ... 8-15 8.15 Defining Transformations... 8-16 8.15.1 How to Define a Transformation... 8-16 8.15.2 What Happens When You Define a Transformation ... 8-17

9

Importing BPMN Processes from a BPA Repository

9.1 Introduction to Importing Processes from the BPA Repository ... 9-1 9.2 Creating a BPM Project from a BPA Project... 9-2 9.2.1 How to Configure a BPA Project to Use It from Oracle BPM ... 9-3 9.2.2 How to Create a BPM Project from a BPA Project ... 9-3 9.2.3 How to Add a BPA Server... 9-4 9.2.4 What Happens When You Create a BPM Project from a BPA Project... 9-4

Part IV

Analyzing Process Performance

10

Running Simulations in Oracle BPM

10.1 Introduction to Running Simulations in Oracle BPM ... 10-1 10.1.1 Simulation Models and Simulation Definitions ... 10-1 10.2 Creating Simulation Models... 10-2 10.2.1 How to Create and Configure a Simulation Model... 10-2 10.3 Configuring Boundary Events ... 10-4 10.4 Creating Simulation Definitions ... 10-6 10.4.1 How to Create a Simulation Definition ... 10-6 10.5 Running Simulations ... 10-9 10.5.1 How to Run a Simulation ... 10-9 10.5.2 What Happens When You Run a Simulation ... 10-9 10.5.3 Understanding the Simulation View ... 10-9 10.6 Analyzing the Results of a Simulation... 10-10 10.6.1 How to Analyze the Results of a Simulation Using a Chart ... 10-10 10.6.2 How to Generate a Simulation Report... 10-11 10.6.3 What Happens when You Generate a Simulation Report ... 10-12

11

Using Process Analytics

11.1 Introduction to Process Analytics... 11-1 11.1.1 Process and Activity Performance Metrics ... 11-2


(10)

x

11.1.2 Workload Metrics ... 11-2 11.1.3 Human Resource Metrics ... 11-3 11.2 Typical Process Analytics Workflow ... 11-3 11.3 Configuring Projects, Processes and Activities to Generate Sampling Points... 11-3 11.3.1 How to Configure the Sampling Point Generation of a Project... 11-4 11.3.2 What Happens When You Configure a Project To Generate Sampling Points ... 11-5 11.3.3 How to Configure the Sampling Point Generation for a Process ... 11-5 11.3.4 What Happens When You Configure the Sampling Point Generation for a Process...

11-5

11.3.5 How to Configure the Sampling Point Generation for an Activity... 11-5 11.3.6 What Happens When You Configure the Sampling Points for an Activity ... 11-6 11.4 Adding Business Indicators to Projects ... 11-6 11.4.1 How to Add a Business Indicator to a Project... 11-7 11.4.2 What Happens When You Add a Business Indicator to a Process ... 11-8 11.5 Adding Measurement Marks to Processes... 11-8 11.5.1 How to Add Single Measurement Marks to a Process... 11-10 11.5.2 What Happens When You Add a Single Measurement to a Process... 11-11 11.5.3 How to Measure a Business Indicator in a Process Section Using Measurement Marks .

11-11

11.5.4 What Happens When You Measure a Business Indicator in a Process Section Using Measurement Marks 11-12

11.6 Adding Counters to the Activities in a Process... 11-13 11.6.1 How to Add a Counter Mark to an Activity in a Process... 11-13 11.6.2 What Happens When You Add a Counter Mark to an Activity in a Process... 11-14 11.6.3 How to Delete a Counter Mark ... 11-14 11.6.4 What Happens When You Delete a Counter Mark ... 11-14 11.7 Configuring Cubes Generation in a Project ... 11-14 11.7.1 BPM Process Cubes ... 11-14 11.7.2 How to Configure BPM Process Cubes Generation in a Project... 11-15 11.7.3 What Happens When You Enable BPM Process Cubes in a Project ... 11-15 11.8 Enabling Oracle BAM in a Project ... 11-15 11.8.1 How to Enable Oracle BAM in a Project ... 11-15 11.8.2 What Happens When You Enable Oracle BAM... 11-16

Part V

Working with Business Components

12

Using the Business Catalog

12.1 Introduction to the Business Catalog ... 12-1 12.1.1 Non-Synthesized Components ... 12-3 12.1.2 Synthesized Components ... 12-3 12.1.3 Adding Components to the Business Catalog... 12-3 12.1.4 Using Modules to Organize Business Components ... 12-4 12.1.4.1 Predefined Modules ... 12-5 12.2 Adding a New Module ... 12-5 12.2.1 How to Add a New Module ... 12-6 12.2.2 What Happens When You Add a New Module ... 12-6 12.3 Deleting a Module ... 12-6


(11)

xi 12.3.1 How to Delete a Module... 12-6 12.3.2 What Happens When You Delete a Module... 12-6 12.4 Customizing Synthesized Types... 12-6 12.4.1 How to Customize a Synthesized Type ... 12-7 12.4.2 What Happens When You Customize a Synthesized Type ... 12-7

13

Modeling Business Objects

13.1 Introduction to Business Objects ... 13-1 13.1.1 Types of Business Objects... 13-3 13.1.2 Benefits of Modeling Using Business Objects... 13-3 13.1.3 Naming Conventions for Business Objects... 13-4 13.2 Working with Business Objects ... 13-4 13.2.1 How to Add a Business Object ... 13-4 13.2.2 What Happens When You Add a Business Object ... 13-5 13.2.3 How to Modify a Business Object ... 13-5 13.2.4 How to Delete a Business Object ... 13-5 13.2.5 What Happens When You Delete a Business Object... 13-5 13.2.6 How to Document a Business Object... 13-5 13.2.7 What Happens When You Document a Business Object... 13-6 13.3 Using a Business Object in a Process... 13-6 13.3.1 How to Use a Business Object in a Process... 13-6 13.3.2 What Happens When You Use a Business Object in a Process... 13-6 13.4 Adding Business Objects Based on a XML Schema Element or Type ... 13-7 13.4.1 How to Add a Business Object Based on a XML Schema Element or Type ... 13-7 13.4.2 What Happens When You Create a Business Object Based on an XML Schema Element

or Type 13-7

13.4.3 How to add an XML Schema to Your BPM Project ... 13-7 13.4.4 What Happens When You Add a Schema File to Your Project ... 13-8 13.5 Introduction to Business Object Attributes ... 13-8 13.5.1 Supported Data Types for Business Object Attributes... 13-9 13.5.2 Naming Conventions for Business Object Attributes ... 13-9 13.6 Working with Business Object Attributes ... 13-9 13.6.1 How to Add a Business Object Attribute ... 13-9 13.6.2 How to Delete a Business Object Attribute... 13-10 13.6.3 How to Document a Business Object Attribute ... 13-10 13.6.4 What Happens When You Document a Business Object Attribute ... 13-10

14

Using Human Tasks

14.1 Introduction to Human Tasks in BPM... 14-1 14.1.1 Typical Design Workflow... 14-2 14.2 Assigning an Existing Human Task to a User Task... 14-3 14.2.1 How to Assign an Existing Human Task to a User Task... 14-3 14.2.2 What Happens When You Assign an Existing Human Task to a User Task... 14-4 14.2.3 How to Associate the Process Payload to the Human Task Payload ... 14-4 14.3 Creating a Human Task from Oracle BPM Studio... 14-4 14.3.1 How to Create a Human Task from Oracle BPM Studio ... 14-6


(12)

xii

14.3.2 How to Configure the Outcome of a Human Task... 14-6 14.3.3 How to Add a Parameter to Human Task ... 14-7 14.3.4 How to Configure the Outcome Target of a Human Task ... 14-7 14.3.5 What Happens When You Create a Human Task from Oracle BPM Studio... 14-7 14.4 Creating a Human Task Using the SOA Human Task Editor... 14-8 14.4.1 How to Specify an e-mail Address for the Recipient of a Notification... 14-8 14.5 Editing a Human Task from Oracle BPM Studio ... 14-8 14.5.1 How to Edit a Human Task Using the Oracle BPM Simplified Editor... 14-8 14.5.2 How to Edit a Human Task Using the SOA Human Task Editor ... 14-9 14.6 Using Human Task Patterns in Oracle BPM... 14-9

15

Working with Services and References

15.1 Introduction to Services and References ... 15-1 15.1.1 Introduction to Services ... 15-2 15.1.2 Introduction to References ... 15-2 15.1.3 Introduction to Callbacks ... 15-2 15.2 Introduction to Service Adapters in Oracle BPM... 15-3 15.3 Introduction to Oracle Mediator in Oracle BPM ... 15-5 15.4 Introduction to BPEL Processes in Oracle BPM ... 15-8 15.5 Using Services in Oracle BPM... 15-9 15.6 Using References in Oracle BPM ... 15-10 15.7 Customizing Services and References ... 15-10 15.7.1 How to Customize a Service or a Reference ... 15-10 15.7.2 How to Customize an Operation... 15-11 15.7.3 What Happens When You Customize a Service or a Reference... 15-11

16

Using Business Rules

16.1 Introduction to Business Rules in Oracle BPM... 16-1 16.1.1 Using Business Rules in a BPMN Process... 16-2 16.2 Assigning an Existing Business Rule to a Business Rule Task ... 16-3 16.2.1 How to Assign an Existing Business Rule to a Business Rule Task ... 16-3 16.2.2 What Happens When You Assign an Existing Business Rule to a Business Rule Task....

16-4

16.2.3 How to Edit the Business Rule Associated to a Business Rule Task... 16-4 16.3 Creating a Business Rule from Oracle BPM Studio ... 16-4 16.3.1 How to Create a Business Rule from Oracle BPM Studio ... 16-5 16.3.2 How to Add Input and Output Arguments When Creating a Business Rule

Component 16-5

16.3.3 How to Configure the Advanced Properties When Creating a Business Rule Component 16-6

16.3.4 What Happens When You Create a Business Rule Task from Oracle BPM ... 16-6

Part VI

Controlling the Process Flow

17

Controlling the Process Flow


(13)

xiii 17.1.1 Gateways... 17-1 17.1.2 Timer Events... 17-1 17.1.3 Errors ... 17-2 17.1.4 Message Events ... 17-2 17.1.5 Send and Receive Tasks ... 17-2 17.1.6 Loop Markers ... 17-2 17.1.7 Multi-Instance Loop Markers ... 17-2 17.2 Introduction to Loop and Multi-Instance Markers in Subprocesses ... 17-2 17.2.1 How to Configure Loop Markers ... 17-3 17.2.2 How to Configure Multi-Instance Markers ... 17-3

18

Adding Delays, Deadlines, and Time Based Cycles to Your Process

18.1 Introduction to Timer Events ... 18-1 18.2 Adding a Delay to the Process Flow ... 18-2 18.2.1 How to Add a Delay to the Process Flow ... 18-2 18.2.2 What Happens When You Add a Delay to the Process Flow ... 18-3 18.3 Designing a Process to Start Based on a Time Condition ... 18-3 18.3.1 How to Design a Process to Start Based on a Time Condition ... 18-3 18.3.2 What Happens When You Design a Process to Start Based on a Time Condition 18-4 18.4 Configuring a Deadline for an Activity ... 18-4 18.4.1 How to Configure a Deadline for an Activity ... 18-4 18.4.2 What Happens When You Configure a Deadline for an Activity ... 18-5 18.5 Configuring a Deadline for a BPMN Process ... 18-5 18.5.1 How to Configure a Deadline for a BPMN Process... 18-6 18.5.2 What Happens When You Configure a Deadline for a BPMN Process ... 18-7 18.6 Running Additional Activities... 18-7 18.6.1 How to Run Additional Activities While an Activity is Running... 18-8 18.6.2 What Happens When You Run Additional Activities While an Activity is Running...

18-8

18.6.3 How to Run Additional Activities While a Process is Running ... 18-8 18.6.4 What Happens When You Run Additional Activities While a Process is Running 18-9 18.7 Configuring Timer Events ... 18-9 18.7.1 How to Configure a Timer Event To Use a Specific Date and Time ... 18-9 18.7.2 What Happens When You Configure a Timer Event to Use a Specific Date and Time....

18-9

18.7.3 How to Configure a Timer Event to Use an Interval... 18-9 18.7.4 What Happens When You Configure a Timer Event to Use an Interval ... 18-10

19

Handling Errors

19.1 Introduction to Error Handling ... 19-1 19.1.1 Handling Errors Using Exceptions ... 19-2 19.2 Using Business Exceptions ... 19-2 19.3 Using System Exceptions... 19-2 19.4 Typical Flow of an Exception ... 19-3 19.4.1 Typical Flow of an Exception Thrown in a Task... 19-3 19.4.2 Typical Flow of an Exception in a Subprocess ... 19-4


(14)

xiv

19.4.3 Typical Flow of an Exception in a Reusable Process ... 19-5 19.5 Handling Exceptions in a Business Process ... 19-5 19.5.1 How to Handle an Exception Using a Boundary Error Catch Event... 19-7 19.5.2 What Happens When You Handle an Exception Using a Boundary Catch Event . 19-7 19.5.3 How to Handle an Exception Using an Event Subprocess... 19-7 19.5.4 What Happens When You Handle an Exception Using an Event Subprocess... 19-8 19.5.5 How to Configure an Error Event to Catch Business Exceptions... 19-8 19.5.6 How to Configure a Catch Event to Catch System Exceptions... 19-8 19.6 Throwing Exceptions in Subprocesses or Reusable Processes... 19-9 19.6.1 How to Throw an Exception ... 19-9 19.6.2 What Happens When You Throw an Exception ... 19-10 19.6.3 How to Create a Business Exception ... 19-10 19.6.4 What Happens When You Create a Business Exception ... 19-10 19.6.5 How to Configure the ErrorInfo Attribute in a Business Exception ... 19-10 19.7 Handling Exceptions in Subprocesses ... 19-11 19.8 Handling Errors in a Peer Process Using Message Events ... 19-11 19.8.1 How to Handle Errors in a Peer Process Using Message Events ... 19-11 19.8.2 What Happens When You Handle Errors in a Peer Process Using Message Events ...

19-12

20

Communicating With Other BPMN Processes and Services

20.1 Introduction to Communication with Other BPMN Processes and Services ... 20-1 20.1.1 Introduction to Synchronous and Asynchronous Operations ... 20-2 20.2 Communicating With Other BPMN Processes and Services Using Message Events.... 20-2 20.3 Using Message Events to Invoke Asynchronous Services and Asynchronous BPMN

Processes 20-4

20.3.1 How to Invoke Asynchronous Service Operation Using Message Events ... 20-4 20.3.2 How to Receive the Callback Operation of an Asynchronous Service Using Message

Events 20-5

20.3.3 What Happens When You Invoke an Asynchronous Service Operation Using Message Events 20-6

20.3.4 How to Invoke an Asynchronous BPMN Process Operation Using Message Events... 20-6

20.3.5 How to Invoke the Callback Operation of an Asynchronous BPMN Process Using Message Events 20-7

20.3.6 What Happens When You Invoke an Asynchronous BPMN Process Using Message Events 20-8

20.4 Using Message Events Configured as Boundary Events ... 20-8 20.5 Using Service Tasks to Invoke Synchronous Operations in Services and BPMN Processes ...

20-8

20.5.1 How to Invoke a Synchronous Service Operation Using a Service Task ... 20-9 20.5.2 What Happens When You Invoke a Synchronous Service Operation Using a Service

Task 20-10

20.5.3 How to Invoke a Synchronous BPMN Process Operation Using a Service Task.. 20-10 20.5.4 What Happens When You Invoke a Synchronous BPMN Process Operation Using a

Service Task 20-10

20.6 Communicating With Other BPMN Processes and Services Using Send and Receive Tasks. 20-11


(15)

xv 20.7 Using Send and Receive Tasks to Invoke Asynchronous Services and Asynchronous

BPMN Processes 20-11

20.7.1 How to Use a Send Task to Invoke an Asynchronous Service Operation ... 20-12 20.7.2 How to Use the Receive Task to Invoke the Callback Operation of an Asynchronous

Service 20-13

20.7.3 What Happens When You Invoke an Asynchronous Service Using Send and Receive Tasks 20-14

20.7.4 How to Use the Send Task to Invoke an Asynchronous BPMN Process Operation ... 20-14

20.7.5 How to Use a Receive Task to Invoke the Callback Operation of an Asynchronous BPMN Process 20-15

20.7.6 What Happens When You Invoke an Asynchronous BPMN Process Using Send and Receive Tasks 20-16

20.8 Introduction to Invoking a Process Using Call Activities... 20-16 20.9 Invoking a Process Using Call Activities... 20-16 20.9.1 How to Invoke a Process Using Call Activities... 20-16 20.10 Introduction to Communication Between Processes Using Signal Events ... 20-17 20.11 Communicating Between Processes Using Signal Events ... 20-18 20.11.1 How to Broadcast a Signal to Multiple Processes... 20-18 20.11.2 What Happens When You Broadcast a Signal ... 20-19 20.11.3 How to Configure Your Process React to a Specific Signal ... 20-19 20.11.4 What Happens When You Configure a Process To React to a Specific Signal ... 20-19

21

Defining the Process Interface

21.1 Defining the Process Interface... 21-1 21.2 Using Message Events to Define the BPMN Process Interface ... 21-2 21.2.1 Using Message Events to Define the Callback Interface for BPMN Processes ... 21-4 21.3 Using Message Events to Define Asynchronous Operations in a BPMN Processes... 21-5 21.3.1 How to Configure the Start Operation of a BPMN Process as Asynchronous Using

Message Events 21-5

21.3.2 How to Define a Callback Operation Using Message Events ... 21-6 21.3.3 What Happens When You Configure a BPMN Process Start Operation as

Asynchronous Using Message Events 21-7

21.3.4 How to Add an Asynchronous Operation to a BPMN Process Interface Using Intermediate Message Events 21-7

21.3.5 What Happens When You Add an Asynchronous Operation to a BPMN Process Interface Using Message Events 21-8

21.4 Using Message Events to Define a Synchronous Operation in a BPMN Processes Interface.. 21-8

21.4.1 How to Configure the Start Operation of a BPMN Process as Synchronous Using Message Events 21-8

21.4.2 How to Configure the End Event of a Synchronous Process ... 21-9 21.4.3 What Happens When You Configure the Start Operation of a BPMN Process as

Synchronous Using Message Events 21-9

21.5 Using Message Events with an Interface from the Business Catalog to Define Your Process Interface 21-10

21.5.1 How to Use an Interface from the Business Catalog to Define an Operation in a BPMN Process Interface Using Message Start and Catch Events 21-11


(16)

xvi

21.5.2 How to Configure a Message End or a Message Throw Event to Use an Interface from the Business Catalog Using Message Events 21-12

21.5.3 What Happens When You Use an Interface from the Business Catalog to Define an Operation 21-13

21.6 Defining the BPMN Process Interface Using Send and Receive Tasks... 21-13 21.6.1 Defining the Callback Interface for BPMN Processes Using a Send Task... 21-14 21.7 Defining Asynchronous Processes Operations Using Send and Receive Tasks... 21-15 21.7.1 How to Define an Asynchronous Process Operation Using Send and Receive Tasks ...

21-15

21.7.2 How to Add an Asynchronous Process Operation to the Process Interface Using a Receive Task 21-16

21.7.3 How to Define a Callback Process Operation Using a Send Task... 21-16 21.7.4 What Happens When You Define an Asynchronous Operation Using Send and

Receive Tasks 21-17

21.8 Using Send and Receive Tasks to Define a Synchronous Operation in a BPMN Process... 21-17

21.8.1 How to Configure a Process Operation as Synchronous Using Send and Receive Tasks 21-18

21.8.2 What Happens When You Define a Synchronous Operation Using Send and Receive Tasks 21-18

21.9 Using Send and Receive Tasks with an Interface from the Business Catalog to Define Your Process Interface 21-19

21.9.1 How to Use an Interface from the Business Catalog to Define an Operation in a BPMN Process Interface Using Send and Receive Tasks 21-20

21.9.2 How to Configure a Message End or a Message Throw Event to Use an Interface from the Business Catalog Using Send and Receive Tasks 21-20

21.9.3 What Happens When You Use Send and Receive Tasks with an Interface from the Business Catalog to Define an Operation 21-21

21.10 Defining the Process Input and Output... 21-21 21.10.1 How to Add Input and Output Arguments to a BPMN Process... 21-22 21.10.2 How to Edit the Input and Output Arguments of a BPMN Process... 21-22 21.10.3 How to Delete an Input or Output Argument of a BPMN Process... 21-22

22

Writing Expressions

22.1 Introduction to Expressions in Oracle BPM... 22-1 22.2 Writing Conditions in Conditional Sequence Flows ... 22-2 22.2.1 How to Implement a Conditional Sequence Flow... 22-3 22.3 Writing Expressions in Complex Gateways ... 22-3 22.3.1 How to Implement a Complex Gateway... 22-3 22.4 Writing Expressions in Timer Events ... 22-4 22.4.1 How to Use an Expression in a Timer Event ... 22-4 22.5 Writing Expressions in Data Associations ... 22-4 22.5.1 How to Use an Expression in a Data Association ... 22-5 22.6 Writing Conditions in Loop and Multi-Instance Markers in Subprocesses... 22-5 22.6.1 How to Configure Loop Markers ... 22-6 22.6.2 How to Configure Multi-Instance Markers ... 22-7 22.7 Writing Expressions and Conditions Using the Simple Expression Builder ... 22-8 22.7.1 How to Use a Data Object in an Expression ... 22-9 22.7.2 How to Use a Function in an Expression ... 22-9


(17)

xvii 22.8 Simple Expression Builder Supported Operators ... 22-9 22.8.1 Operators Precedence ... 22-11 22.9 Simple Expression Builder Supported Functions ... 22-11 22.9.1 String Functions ... 22-11 22.9.1.1 length... 22-11 22.9.1.2 concatenation ... 22-12 22.9.1.3 contains ... 22-12 22.9.1.4 startsWith... 22-12 22.9.2 Numeric Functions ... 22-12 22.9.2.1 floor... 22-12 22.9.2.2 ceil ... 22-13 22.9.2.3 round ... 22-13 22.9.2.4 abs ... 22-13 22.9.3 DateTime and Interval Functions... 22-14 22.9.3.1 now ... 22-14 22.9.3.2 addition ... 22-14 22.9.3.3 subtraction ... 22-14 22.9.3.4 year ... 22-14 22.9.3.5 month ... 22-15 22.9.3.6 day ... 22-15 22.9.3.7 hours... 22-15 22.9.3.8 minutes... 22-16 22.9.3.9 seconds ... 22-16 22.9.3.10 timezone... 22-16 22.10 Writing Expressions Using the XPath Expression Builder ... 22-17 22.10.1 How to Add a Variable to an XPath Expression ... 22-17 22.10.2 How to Use a Function in an XPath Expression ... 22-18 22.11 Using Arrays... 22-18 22.11.1 Accessing an Attribute of an Element Within an Array ... 22-18 22.11.2 Obtaining the Length of an Array ... 22-19 22.12 Using Literals... 22-19 22.12.1 Using String Literals... 22-19 22.12.2 Using Time Literals ... 22-20 22.12.3 Using Interval Literals... 22-20 22.12.4 Using Array Literals ... 22-21 22.13 XPath BPM Extension Functions ... 22-21 22.13.1 getActivityInstanceAttribute... 22-21 22.13.2 getDataInput... 22-22 22.13.3 getDataObject ... 22-22 22.13.4 getDataOutput ... 22-22 22.13.5 getGatewayInstanceAttribute ... 22-23 22.13.6 getProcessInstanceAttribute... 22-23

Part VII

Using SOA Components


(18)

xviii

23

Using SOA Composites with BPM Projects

23.1 Introduction to SOA Composites ... 23-1 23.1.1 Understanding the Relationship Between SOA Composites and SOA Components ...

23-2

23.1.2 Working with SOA Components ... 23-2 23.1.3 BPMN Process in SOA Composites ... 23-3 23.1.4 How Do BPMN Errors Affect the SOA Composite Status ... 23-4 23.2 Opening the SOA Composite in a BPM Project... 23-4 23.2.1 How to Open the SOA Composite in a BPM Project... 23-4 23.3 Opening BPMN Processes from the SOA Composite in a BPM Project ... 23-4 23.3.1 How to Open a BPMN Process from the SOA Composite in a BMP Project ... 23-4 23.4 Adding a BPMN Process from the SOA Composite Editor... 23-4 23.4.1 How to Add a BPMN Process from the SOA Composite Editor... 23-5 23.4.2 What Happens When You Add a BPMN Process from the SOA Composite Editor...

23-5

23.5 Integrating with BPEL Processes Using the SOA Composite ... 23-5 23.6 Adding a BPMN Process as a Partner Link in a BPEL Process ... 23-6 23.6.1 How to Add a BPMN Process as a Partner Link in a BPEL Process ... 23-6 23.6.2 What Happens When You Add a BPMN Process as a Partner Link in a BPEL Process ...

23-6

23.7 Connecting to a BPMN Process Using Web Services ... 23-6 23.8 Building a BPM Project ... 23-7 23.8.1 How to Build a BPM Project... 23-7 23.8.2 What Happens When You Build a BPM Project ... 23-7

24

Working with Guided Business Processes

24.1 Introduction to Guided Business Processes ... 24-1 24.1.1 Guided Business Process Design Time Architecture... 24-4 24.1.2 Components of a Guided Business Process ... 24-5 24.1.3 Guided Business Process Run-Time Architecture ... 24-5 24.1.3.1 Client Tier ... 24-7 24.1.3.2 Business Logic Tier... 24-8 24.1.3.3 Data Tier... 24-9 24.2 Guided Business Process Use Cases... 24-9 24.2.1 Online Public Sector Form Processing... 24-9 24.2.2 Online Loan Application Procedure ... 24-10 24.3 Standards and Guidelines for Working with Guided Business Processes ... 24-12 24.4 The Typical Flow of Developing a Guided Business Process ... 24-12 24.5 Introduction to Developing a Guided Business Process ... 24-13 24.6 Developing a BPMN Guided Business Process... 24-13 24.6.1 How to Develop a BPMN Guided Business Process ... 24-14 24.6.2 What Happens When You Develop a BPMN Guided Business Process... 24-14 24.6.3 How to Add a New Milestone to a Guided Business Process ... 24-14 24.6.4 What Happens When You Add a Milestone to a Guided Business Process... 24-14 24.6.5 How to Add a User Task to a Milestone ... 24-14 24.6.6 What Happens When You Add a User Task to a Milestone ... 24-15 24.6.7 How to Move a User Task to Another Milestone ... 24-15


(19)

xix 24.6.8 What Happens When You Move a User Task to Another Milestone ... 24-15 24.6.9 How to Order the Milestones in a BPMN Guided Business Process ... 24-15 24.6.10 What Happens When You Order the Milestones in a Guided Business Process.. 24-16 24.6.11 How to Delete a Task from a Guided Business Process... 24-16 24.6.12 What Happens When You Delete a Task from a Guided Business Process ... 24-16 24.6.13 How to Delete a Milestone ... 24-16 24.6.14 What Happens When You Delete Milestone ... 24-16 24.6.15 How to Configure an Optional Task... 24-16 24.6.16 What Happens When You Configure an Optional Task ... 24-17 24.6.17 How to Configure a Parallel Task Flow in a BPMN Guided Business Process... 24-17 24.6.18 How to Branch the Task Flow in a BPMN Guided Business Process ... 24-17 24.6.19 How to Configure a Task to Display a Blocked Icon... 24-17 24.6.20 What Happens When You Configure a Task to Display a Blocked Icon and Message ....

24-18

24.6.21 How to Configure an Icon for a Guided Business Process... 24-18 24.6.22 What Happens When You Configure an Icon for a Guided Business Process... 24-18 24.6.23 How to Configure an Icon for a Milestone ... 24-18 24.6.24 What Happens When You Configure an Icon for a Milestone ... 24-19 24.6.25 How to Configure the Display Mode for a Guided Business Process ... 24-19 24.6.26 What Happens When You Configure the Display Mode for a Guided Business Process

24-19

24.6.27 How to Configure the Display Mode for a Milestone... 24-19 24.6.28 What Happens When You Configure the Display Mode for a Milestone... 24-20 24.6.29 How to Configure the Display Mode for a User Task... 24-20 24.6.30 What Happens When You Configure the Display Mode for a User Task ... 24-20 24.6.31 How to Configure the Task Access Mode for a Guided Business Process... 24-20 24.6.32 What Happens When You Configure the Task Access Mode for a Guided Business

Process 24-21

24.6.33 How to Localize a BPMN Guided Business Process ... 24-21 24.6.34 How to Localize a Milestone... 24-22 24.6.35 How to Localize a User Task... 24-22 24.6.36 What Happens When You Localize a Guided Business Process ... 24-23 24.7 Configuring Activity Guide Properties ... 24-23 24.8 Deploying an Guided Business Process to Oracle Weblogic Server ... 24-25 24.8.1 How to Deploy a Guided Business Process... 24-25 24.8.2 What Happens When You Deploy a Guided Business Process to Oracle WebLogic

Server 24-25

24.9 Testing Guided Business Processes... 24-26 24.9.1 What Happens When You Create a Guided Business Process Instance ... 24-26

25

Building a Guided Business Process Client Application

25.1 Introduction to Building a Guided Business Process Client Application... 25-1 25.2 Developing a Guided Business Process Client Application with Oracle ADF... 25-1 25.2.1 How to Develop a Guided Business Process Client Application ... 25-2 25.2.2 What Happens When You Develop a Guided Business Process Application with


(20)

xx

25.2.3 What Happens at Run Time: How a Guided Business Process Application Is Developed with Oracle ADF 25-4

25.3 Securing the Guided Business Process Client Application... 25-5 25.4 Localizing a Guided Business Process Client Application ... 25-5 25.4.1 How to Configure the Supported Locales for a Guided Business Process Client

Application 25-6

25.5 Guided Business Process Run-time APIs ... 25-7 25.5.1 Guided Business Process query Service API ... 25-7 25.5.2 JNDI Names for the Guided Business Process Enterprise Java Beans... 25-9 25.6 Developing an Example of a User Interface for Guided Business Process Tasks Using

Guided Business Process Run-Time Services 25-9

25.7 Using Guided Business Process Logging ... 25-13 25.7.1 How to Enable Client Side Logging... 25-13 25.7.2 How to Enable Server-Side Logging... 25-13 25.7.3 Configuring Log Levels ... 25-13 25.7.4 How to View Guided Business Process Log Messages... 25-14 25.7.5 Understanding Guided Business Process Log Messages... 25-14

26

Using Approval Management

26.1 Introduction to Approval Management ... 26-1 26.1.1 AMX Components ... 26-2 26.2 Understanding Approval Management Concepts... 26-4 26.2.1 Task... 26-4 26.2.2 Service Data Objects ... 26-6 26.2.3 Stages ... 26-7 26.2.4 List Builders... 26-8 26.2.5 Task Operations ... 26-8 26.2.6 Business Rules for Approval... 26-9 26.2.6.1 List Creation ... 26-9 26.2.6.2 Approver Substitution ... 26-10 26.2.6.3 List Modification... 26-10 26.3 Designing Approval Management Tasks in Oracle JDeveloper ... 26-11 26.3.1 Introduction to the Modeling Process ... 26-11 26.3.2 Before You Begin... 26-11 26.3.3 Specifying General Information ... 26-12 26.3.3.1 Task-Title Globalization ... 26-12 26.3.4 Specifying Task Parameters ... 26-14 26.3.4.1 How to Create Service Data Object (SDO) References... 26-14 26.3.4.2 How to Define Entity Parameters ... 26-15 26.3.4.3 How to Define Collections ... 26-16 26.3.5 Specifying Mapped Attributes... 26-17 26.3.5.1 About Attribute Labels and Attribute-Label Mappings ... 26-18 26.3.5.2 How to Define Attribute-Label Mappings... 26-18 26.3.6 Specifying Routing and Approval Policies ... 26-20 26.3.6.1 How to Model and Configure Stages ... 26-20 26.3.6.2 How to Model Task Participants... 26-22 26.3.6.3 How to Model and Configure List Builders ... 26-23


(21)

xxi 26.3.6.4 How to Use Business Rules to Specify List Builders ... 26-29 26.3.6.5 How to Use Assignment Context... 26-39 26.3.6.6 How to Aggregate Task Approvals ... 26-40 26.3.7 Defining Escalation and Renewal Policies ... 26-41 26.3.8 Specifying Notification Settings ... 26-41 26.3.9 Using Advanced Settings ... 26-42 26.3.9.1 How to Add Callbacks for Notes, Attachments, and Validation ... 26-42 26.3.9.2 How to Define Security Access Rules... 26-43 26.4 Using the End-to-End Approval Management Samples... 26-46 26.5 Using Approval Management Features of the Oracle BPM Worklist and Workspace 26-47 26.5.1 How to Use Task Forms... 26-47 26.5.1.1 Header View... 26-48 26.5.1.2 Task Payload View ... 26-50 26.5.1.3 Task History View ... 26-50 26.5.1.4 Comments and Attachments View ... 26-52 26.5.2 How to Create Mapped Attribute Labels... 26-52 26.5.2.1 Importing and Exporting Attribute-Label Definitions ... 26-54 26.5.2.2 Internationalizing Attribute Labels ... 26-54 26.5.3 Administering Approval Groups... 26-54 26.5.3.1 How to View Approval Groups ... 26-54 26.5.3.2 How to Search for an Approval Group... 26-55 26.5.3.3 How to Add a Static Approval Group ... 26-56 26.5.3.4 How to Add a New Member to a Static Approval Group ... 26-57 26.5.3.5 How to Delete a Member from an Approval Group... 26-59 26.5.3.6 How to Move an Approval Group’s Members ... 26-59 26.5.3.7 How to Nest Approval Groups ... 26-60 26.5.3.8 How to Rename an Approval Group ... 26-61 26.5.3.9 Using Dynamic Approval Groups ... 26-61 26.5.3.10 How to Delete an Approval Group ... 26-64 26.5.4 Using Task Configuration ... 26-65 26.5.4.1 How to Edit Event-Driven Settings ... 26-66 26.5.4.2 How to Edit Data-Driven Settings ... 26-69 26.5.5 Using the Task Listing Region ... 26-72 26.5.5.1 How to Embed the Task Listing Region in an Application... 26-73 26.5.5.2 How to Use Task Listing Region Parameters... 26-80 26.5.6 How to Use the Task History Region to Preview Approvers ... 26-87 26.6 Using the User Metadata Migration Utility ... 26-87


(22)

(23)

xxiii

Preface

Welcome to Modeling and Implementation Guide for Oracle Business Process Management. This document describes how to use Oracle Business Process Studio.

Audience

This guide is intended for process developers who use the Business Process Studio application to create and implement business processes, and create and configure Oracle BPM projects used to created process-based applications using the Oracle Business Process Management Suite.

This manual assumes that you have basic knowledge of business process design and are familiar with Business Process Management Notation (BPMN) 2.0. It also assumes you are familiar with Oracle SOA Suite.

Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our

documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading

technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at

http://www.oracle.com/accessibility/

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an

otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or

organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.


(24)

xxiv

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/support/contact.html or visit

http://www.oracle.com/accessibility/support.html if you are hearing impaired.

Related Documents

For more information, see the following Oracle resources: Oracle Business Process Management

See the following for more information about the Oracle BPM Suite:

Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business

Process Management

Oracle Fusion Middleware User's Guide for Oracle Business Process Management

Oracle SOA Suite

Oracle Fusion Middleware Developer's Guide for Oracle SOA SuiteOracle Fusion Middleware User's Guide for Technology AdaptersOracle Fusion Middleware User's Guide for Oracle Business Rules

Oracle SOA and BPM Suite Installation and Administration

Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle

Business Process Management Suite

Oracle Fusion Middleware Quick Installation Guide for Oracle SOA Suite and Oracle

Business Process Management Suite

Oracle Fusion Middleware High Availability Guide

Conventions

The following text conventions are used in this document:

Convention Meaning

boldface Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.


(25)

Part I

Introduction to Oracle BPM Studio

This part provides a general introduction to the Oracle BPM Studio. It also provides an overview of the Oracle BPM Suite and shows how BPM Studio is used within the overall process development life cycle.

This part contains the following chapters:

■ Chapter 1, "Oracle Business Process Management Suite Overview" ■ Chapter 2, "Overview of Business Process Design"


(26)

(27)

Oracle Business Process Management Suite Overview 1-1

1

Oracle Business Process Management Suite

Overview

This chapter provides a general overview of the Oracle Business Process Management (BPM) Suite.

This chapter includes the following sections:

■ Section 1.1, "Introduction to the Oracle Business Process Management Suite" ■ Section 1.2, "Oracle BPM User Personas"

■ Section 1.3, "Oracle BPM Suite Components"

■ Section 1.5, "Introduction to the Application Development Life Cycle" ■ Section 1.6, "Oracle BPM Use Cases"

1.1 Introduction to the Oracle Business Process Management Suite

The Oracle BPM Suite provides an integrated environment for developing,

administering, and using business applications centered around business processes. The Oracle BPM Suite provides the following:

■ Enables you to create process models based on standards with user-friendly

applications. It enables collaboration between process developers and process analysts. Oracle BPM supports BPMN 2.0 and BPEL from modeling and implementation to run time and monitoring.

■ Enables process analysts and process owners to customize business processes and

Oracle Business Rules.

■ Provides a web-based application for creating business processes, editing Oracle

Business Rules, and task customization using predefined components.

■ Expands business process management to include flexible, unstructured processes.

It adds dynamic tasks and supports approval routing using declarative patterns and rules-driven flow determination.

■ Enables collaboration by providing integration with Oracle Process Spaces which

drives productivity and innovation.

■ Unifies different stages of the application development life cycle by addressing

end-to-end requirements for developing process-based applications. Oracle BPM unifies the design, implementation, run time, and monitoring stages. Oracle BPM enables different personas to participate through all stages of the application life-cycle.


(28)

Oracle BPM User Personas

1-2 Modeling and Implementation Guide for Oracle Business Process Management

See Section 1.2, "Oracle BPM User Personas" for more information on the user personas defined for the Oracle BPM Suite.

The Oracle BPM Suite provides a seamless integration of all stages of the application development life cycle from design-time and implementation to run-time and application management.

The Oracle BPM Suite is layered on the Oracle SOA Suite and shares many of the same product components, including:

■ Business Rules ■ Human Workflow

■ Oracle Adapter Framework for Integration

Figure 1–1 shows a high-level architectural view of the Oracle BPM Suite.

Figure 1–1 The Oracle BPM Suite

This figure depicts the general architecture of the Oracle BPM Suite. Each of these components displayed in this diagram are described in the following sections. ***********************************************************************************************

Section 1.3, "Oracle BPM Suite Components" provides more information on each of these components shown in Figure 1–1.

1.2 Oracle BPM User Personas

Different stages of the application development life cycle require interaction from different types of users. Table 1–1 outlines the typical users of Oracle BPM Suite and their responsibilities. It also lists the components of the Oracle BPM they would use to perform their work.


(29)

Oracle BPM Suite Components

Oracle Business Process Management Suite Overview 1-3

1.3 Oracle BPM Suite Components

This section provides a general description of the major components of the Oracle BPM Suite. See Section 1.5, "Introduction to the Application Development Life Cycle"

for information on how these components interact within the application development process.

Table 1–1 Oracle BPM User Persona

User Persona Description

Process Analyst Process analysts are responsible for creating the initial flow of a business process and documenting its steps. This also includes identifying and defining the KPIs and high level rules that define the routing artifacts of the business process. This persona may also perform simulations to calculate and estimate ROI. Process analysts typically use the Oracle Business Process Analysis (BPA) Suite or Business Process Composer to create process models. They may also use the Process Analyst role within Oracle BPM Studio.

Process Developer Process developers are responsible for implementing the process models created by process analysts. Each step in the process requires an implementation. The process developer is

responsible for integrating the business process with back-end applications like databases.

Process developers typically use Oracle BPM Studio to model and implement the components of a business application. They may occasionally use Business Process Composer for modeling basic processes.

Business Administrator Business administrators are responsible for administering the BPM infrastructure. Typical activities include the installation and setup of BPM environments and the overall management of the BPM Engines that are hosting business processes.

This persona may be delegated responsibilities for administering the organization structure assets like users, groups,

organizational units, calendars and holidays.

The main tool used by business administrators is the Oracle Enterprise Manager and automated tools like Ant. Business administrators also use WorkSpace to manage organizational units, role assignments and perform other activities like creating workflow advanced routing declarations

Process Owner Process owners are responsible for controlling and managing deployed business processes. They are responsible for the overall supervision of the running business process. They often use metric analysis tools like dashboards to understand the current state of the managed business processes.

Process owners typically use Oracle BPM WorkSpace. They also use Business Process Composer to change the behavior of a process by editing Oracle Business Rules. They may also use the Oracle BAM console to view metrics dashboards.

Process Participant Process participants are the people who use the business applications created with the Oracle BPM Suite.

Process participants typically use Oracle BPM WorkSpace or Process Spaces.


(30)

Oracle BPM Suite Components

1-4 Modeling and Implementation Guide for Oracle Business Process Management

1.3.1 Process Modeling and Implementation

This section describes the applications and components used to model and implement business processes and process-based business applications.

The Oracle BPM Suite provides two primary applications for modeling and implementing business processes.

1.3.1.1 Oracle BPM Studio

Oracle BPM Studio is a component of the Oracle BPM Suite that provides a

user-friendly environment where process analysts can create business process models and run process simulations. Oracle BPM Studio supports Business Process

Management Notation (BPMN) 2.0.

Oracle BPM Studio also enables process developers to create working process-based applications. These applications are Oracle BPM projects that are integrated as SOA composite applications.

You can use Oracle BPM Studio to implement business processes with other Oracle components such as adapters, human workflow and business rules. You can then deploy these processes to Oracle BPM run time.

Oracle BPM Studio is a part of the Oracle JDeveloper IDE. Oracle BPM Studio enables IT users to use a single integrated tool to model and edit business processes,

implement the required IT elements, and deploy applications to the run-time environment.

Oracle BPM Studio also provides a BPM role that enables business users to use a simplified version of Oracle JDeveloper that only displays functionality relevant to process design.

See the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more information.

1.3.1.2 Oracle Business Process Composer

Oracle Business Process Composer is a web-based application that enables business users to collaborate with process developers and designers. It provides a user friendly environment for editing processes and process templates created in Oracle BPM Studio.

Process developers can create a catalog of preconfigured components such as services, tasks, and rules in Oracle BPM Studio. This catalog can be included in project

templates that process analysts can use to create new projects using Business Process Composer.

After creating a project based on a project template, process analysts can incorporate business catalog elements and perform other required edits defined by the project template. Process analysts can then deploy these projects to the Oracle BPM run time. Business Process Composer also enables process analysts to create Process Blueprints. These are initial drafts of a process that can be used by process developers who use Oracle BPM Studio to add further implementation details and refinement to the project.

Note: Oracle BPM can also integrate business processes created using the Oracle Business Process Analysis (BPA) Suite. See

Section 1.4, "Oracle Business Process Analysis (BPA) Suite" for more information.


(31)

Oracle BPM Suite Components

Oracle Business Process Management Suite Overview 1-5 Business Process Composer also enables you to edit Oracle Business Rules at run time. This is important because policies tend to evolve faster that business processes.

See the Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management for more information.

1.3.1.3 Oracle Metadata Service (MDS) Repository

Oracle Metadata Service (MDS) provides a repository that is used to store date about applications deployed within an Oracle Fusion Middleware environment. Oracle BPM uses this repository to store information about deployed applications.

Oracle BPM also uses a separate MDS partition to share projects and project templates between process analysts and process developers. Figure 1–1, "The Oracle BPM Suite"

shows how the MDS repository fits within the overall Oracle BPM architecture.

1.3.1.4 Oracle BPM Projects

Oracle BPM projects are containers for the business processes and related resources used to create a process-based business application. An Oracle BPM project can contain the following:

■ Organizational data ■ Activity guides ■ BPMN process models ■ Business catalog ■ Simulation models ■ Other resources

Oracle BPM projects are deployed at run time as SOA composite applications. For more information on working with projects and SOA composite applications see the following documentation:

■ "Working with Projects and Project Templates" in Oracle Fusion Middleware

Modeling and Implementation Guide for Oracle Business Process Management

■ "Working with Projects and Project Templates" in Oracle Fusion Middleware Business

Process Composer User's Guide for Oracle Business Process Management

Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite

1.3.2 Oracle BPM Run Time Components

Oracle BPM run time is responsible for controlling deployed applications. Oracle BPM run time includes the following components.

1.3.2.1 Oracle BPM Engine

The Oracle BPM Engine provides a run-time environment for running business processes. It provides native support for both BPMN and BPEL processes. The BPM engine is composed of three separate components:

■ BPMN Service Engine

The BPMN engine provides an environment for running BPMN processes.

■ BPEL Service Engine


(32)

Oracle BPM Suite Components

1-6 Modeling and Implementation Guide for Oracle Business Process Management

■ Process Core

Provides engine functionality that is shared by the BPMN and BPEL engines. Some of the key functionality performed by the process core includes:

Manage security Generate audit trails Invoke services Manage persistence

1.3.2.2 Oracle Human Workflow

Many end-to-end business processes require human interactions with the process. For example, humans may be needed for approvals, exception management, or

performing activities required to advance the business process. The human workflow service provides features such as:

■ Task routing to users, groups or application roles.

■ Deadlines, escalations, notifications, and other features required for ensuring the

timely performance of a task.

■ Task Forms for presentation of tasks to end users through a variety of

mechanisms, including a workspace and portals.

■ Organization, filtering, prioritization, dispatching rules and other features

required for end users to productively perform their tasks.

1.3.2.3 Oracle Business Rules

Oracle Business Rules enable dynamic decisions at runtime allowing you to automate policies, computations, and reasoning while separating decision logic from underlying process orchestration layer. This allows more agile rule maintenance and empowers business analysts with the ability to modify rule logic without programmer assistance and without interrupting business processes.

1.3.2.4 Oracle WebLogic Application Server

Oracle WebLogic Server is an application server that provides a platform for creating and running J2EE-compliant applications.

1.3.2.5 Oracle Enterprise Manager

The Oracle Enterprise Manager is a web-based application that enables system administrators to control and manage applications running on the Oracle SOA Suite. Enterprise Manager enables business administrators to configure and manage business applications and process instances.

1.3.3 Oracle BPM Suite Process Participant Applications

The following sections describe the components of the Oracle BPM Suite that are used by process participants to perform their day-to-day work. These applications enable process participants to interact with running business applications managed by Oracle BPM run time.


(33)

Oracle Business Process Analysis (BPA) Suite

Oracle Business Process Management Suite Overview 1-7

1.3.3.1 Oracle BPM WorkSpace

Oracle BPM WorkSpace and Oracle Process Spaces allow process participants to interact with the applications you create using Oracle BPM. The Oracle BPM WorkSpace user interface provides tabs for each of the following:

Process Instances: This tab enables process participants to view running process

instances.

Task List: This tab enables process participants to view and work with their

assigned tasks.

Process Dashboards: This tab provides out-of-the-box dashboards for monitoring

process performance, task performance and workload.

Custom Dashboards: This tab enables process participants to define and use

custom dashboard based on the measurement data generated by process instances. Oracle BPM WorkSpace also enables business administrators to configure and

maintain organizations and roles. See the Oracle Fusion Middleware User's Guide for Oracle Business Process Management for more information.

1.3.3.2 Oracle BPM Process Spaces

Oracle Process Spaces is a collaborative workspace built on top of Web Center Spaces and enables more productivity by increasing collaboration.

See the Oracle Fusion Middleware User's Guide for Oracle Business Process Management for more information.

1.3.4 Other Oracle BPM Suite Components

The following sections describe other components of the Oracle BPM Suite.

1.3.4.1 Process Analytics

Business Process Analytics enables process participants to monitor the performance of a running process-based applications. It measures the key performance indicators defined in a BPM project and stores them in a database. Process participants and analysts can view the metrics stored in the process analytics databases using WorkSpace dashboards or Oracle BAM.

1.3.4.2 Guided Business Processes

Guided Business Processes enable process analysts and developers to group the interactive activities in a business process into a set of milestones that are meaningful to the process participants. They outline the steps the process participants have to complete, hiding the complexity of the business process.

See "Introduction to Guided Business Processes" in Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management

1.4 Oracle Business Process Analysis (BPA) Suite

The Oracle BPA Suite is a separate Oracle product suite based on the Aris platform from IDS Scheer. The Oracle Business Process Analysis (BPA) Suite provides comprehensive modeling, analysis and simulation capabilities for enterprise wide business processes. Oracle BPA supports capturing business architecture artifacts such as strategic objectives, goals, higher level KPIs, risks and controls, and conceptual models such as value chain diagrams.


(34)

Introduction to the Application Development Life Cycle

1-8 Modeling and Implementation Guide for Oracle Business Process Management Additionally, the Oracle BPA Suite supports the following:

■ Alignment of business processes with business strategy.

■ Service discovery & linking to business processes. Drives service requirements for

the Oracle SOA Suite.

■ Loading and creating simulation scenarios which allow you to determine optimal

resource allocation. Simulations allow you to perform throughput analysis, activity based costing and resource utilization. Additionally, you can create simulation analysis reports for easy analysis of simulation results.

■ Comprehensive version management including check-in, check-out, and change

management capabilities.

The business architecture defined by the Oracle BPA Suite is the formal link between strategic objectives and the actual business applications created using Oracle BPM. The Oracle BPA Suite supports modeling of Business Architecture artifacts such as strategy maps, goals, objectives, risk and controls and linking them to business processes. This provides the ability to prioritize efforts, justify decisions, and trace activities of the business process improvement initiatives to strategic goals of the business, hence improving business/IT alignment. It provides tremendous value as it offers a clear understanding of which BPM projects to undertake, which processes are currently most strategic to the company, and which services are most aligned with business strategy.

The Oracle BPA Suite complements the functionality of the Oracle BPM Suite by adding orthogonal dimensions to the modeling phases including organization goals. See the Oracle BPA Quick Start Guide for more information

Processes created in the Oracle BPA Suite can be imported into the Oracle BPM Suite. Using Oracle BPM Studio, you can integrate your business process with other Oracle technologies including adapters, business rules, and human tasks.

See the Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management for more information on using business processes created in Oracle BPA within Oracle BPM Studio.

1.5 Introduction to the Application Development Life Cycle

This section outlines the stages of the development life cycle of an Oracle BPM application. It describes how different components of Oracle BPM are used within each stage.

Figure 1–2 lists the four stages of the application development life cycle, the user personas applicable to each stage, and the Oracle BPM tools and applications that are used.


(35)

Introduction to the Application Development Life Cycle

Oracle Business Process Management Suite Overview 1-9

Figure 1–2 Stages of the Oracle BPM Application Development Life Cycle

This figure shows each of the components of the Oracle BPM Suite within the four stages of the application development life cycle.

***********************************************************************************************

1.5.1 Process Modeling

The first stage of the application development life cycle is process modeling. During this stage a process analyst creates process models based on real-word business processes and problems.

Oracle BPM provides three distinct tools for modeling business processes. Each tool has a different role within the Oracle BPM Suite. The tool you use depends on your business requirements, the stage of the application development cycle, and your user persona.

■ Oracle BPM Studio

Oracle BPM Studio runs on the Oracle JDeveloper IDE platform. Oracle BPM Studio provides a Process Analyst role that displays a simplified set of JDeveloper functionality that focuses on designing process models.

Oracle BPM Studio enables process analysts and process developers to design and implement detailed process flows that are deployed to Oracle BPM run time and run as working applications. Additionally, detailed process flows from Oracle BPA Suite or Business Process Composer can be brought inside Oracle BPM Studio for further implementation, then deployed to the Oracle BPM run time.

■ Oracle Business Process Composer

Business Process Composer is a collaboration tool that enables process analysts to collaborate with process developers.

■ Oracle Business Process Analysis (BPA) Suite

The Oracle BPA Suite enables you to create robust models of your business processes from high-level models of your entire organization down to lower-level business processes that you can implement as running processes.

See Section 1.6, "Oracle BPM Use Cases" for more information on how each of these tools fit within the typical Oracle BPM uses cases. See Section 3.2, "Overview of the Application Development Life Cycle" for more information on how Oracle Business


(36)

Introduction to the Application Development Life Cycle

1-10 Modeling and Implementation Guide for Oracle Business Process Management

Process Composer and Oracle BPM Studio interact within the application development life cycle.

1.5.2 Implementation

After process analysts model business processes, process developers are responsible for creating business applications based on these models. Using Oracle BPM Studio, process developers implement reusable services and integrate other business systems. Implementation may include the following types of tasks generally performed by process developers:

■ Data mapping and transformation ■ System fault handling

■ Designing and implementing user interfaces using Oracle Human Workflow. ■ Designing Oracle Business Rules

■ Creating dashboards

After a process developer finishes the implementation of the application, it is compiled and deployed like other SOA composite applications. It can be compiled and deployed using Oracle BPM Studio.

1.5.3 Deployment

Deployment is the process of transferring an Oracle BPM project from the

development environment to the run-time environment. This can be either a testing or production run-time environment.

After finishing the integration of business processes with back-end systems and reusable services, process developers create and compile a working process-based application. The application is then deployed to Oracle BPM run time.

Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM run time:

■ Deployment directly from Oracle BPM Studio

Applications created with Oracle BPM can be deployed directly to the run-time environment like any other SOA composite application. This is typically

performed by a process developer using BPM Studio within a test or development environment.

See the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for more information on deploying SOA composite applications.

■ Deployment directly from Oracle Business Process Composer

Oracle BPM enables you to deploy projects created from project templates directly to the same run-time environment where Business Process Composer is installed. When creating a project, you can specify an approval workflow that must be completed before the project is deployed.

You can deploy from Business Process Composer when it is installed in the same server infrastructure as Oracle BPM run time. Deploying from Business Process Composer enables process analysts to easily deploy and test process-based business applications. The is generally done in a testing environment.


(1)

IdentityPropagationType ipt2 = new IdentityPropagationType(); ipt2.setMode("dynamic");

ipt2.setType("saml");

ipt2.setPolicyReferences(prts2);

sct2.setRootEndPointURL("http://sta00048.us.oracle.com:7001"); sct2.setIdentityPropagation(ipt2);

server2.setSoapClient(sct2);

showServerColumn

If the task flow is run in federated mode, the server column in the task list, by default, is not displayed. To display the column, this parameter must be passed as true.

wfCtxID

This is a workflow context token string and is used to create workflow context inside the task flow. If the application Single Sign On is enabled or is secured using ADF security, this parameter is not required. The workflow context is shown below.

Example 26–11 Workflow Context

IWorkflowContext wfCtx = wfSvcClient.getTaskQueryService().authenticate(username, password,

realm, null;

wfCtxID = wfCtx.getToken();

showViewsPanel

The views panel displays only if passed as true. By default, it is not displayed. ■ showTaskDetailsPanel

The task details panel displays only if passed as true. By default, it is not displayed.

refreshURL

This string enables task details in the task listing region to display in an inline frame. If action is taken on the task details page, the action refreshes the task listing area with the p age URL in which the task flow/portlet is contained. Since the task flow does not know the URL of the container page, the URL must be passed as a parameter. Get the parameter by calling the getRequestURL()

method on the request object. You can pass the full URL either by calling the

getRequestURL() method on the request object, or by passing the URL using the following format:

/context-root/faces/page-name

For example: /FederatedWorklist/faces/test.jspx

localeSource

A string parameter that passes the locale source. It can be from the browser (BROWSER) or from the identity context (IDENTITY).

showActionDropdown

The action dropdown does not display only if passed as false. By default, it is displayed.


(2)

Using Approval Management Features of the Oracle BPM Worklist and Workspace

showViewFilter

The view filter dropdown does not display only if passed as false. By default, it is displayed.

showCreateTODOTaskAction

Specifies if the Actions menu displays the TODO action. To hide the TODO action, set this parameter to false. By default the Actions menu inclueds the TODO action.

showAssignmentFilter

The assignment filter dropdown does not display only if passed as false. By default, it is displayed.

showStatusFilter

The status filter dropdown does not display only if passed as false. By default, it is displayed.

showSearchControl

The search box does not display only if passed as false. By default, it is displayed. ■ displayColumnsList

This comma-delineated list of strings enables the list of columns to be displayed in the region in the order specified.

sortColumn

This string specifies the name of the column to be used for sorting tasks by default in the region.

sortOrder

This string specifies the sort order for sorting tasks, that is ascending (ASC) or descending (DESC).

Filter ParametersassignmentFilter

This string specifies the value to be used as the selection of the assignment filter for tasks. If not set, the values default to My and Group. For more information, see

Section 26.5.5.2.1, "Using Assigment Filter Constraints."

viewFilter

This string specifies the value to be used as the selection of the view name to filter the tasks. If not set, the value defaults to Inbox.

taskTypesFilterList

A strings parameter that specifies the comma-delineated list of the task type(s) to be used for filtering the tasks that are displayed.

attributesFilterOperator

A string that specifies the operator (and/or) to be used as the predicate join criterion for the field-specified in Attribute Filter list.

attributesFilterList

A string parameter that specifies the comma-delineated list of name value pairs to be used to filter tasks based on attribute values. (The name is task column name and value is column value.)


(3)

Example

If the user wants to see the task with attribute filter values as priority = 1 and status = ASSIGNED and promoted flexfield textAttribute1 = NorthAmerica, then the user would set the values as the following:

attributeFilterList: priority=1, status=ASSIGNED, textAttribute1=NorthAmerica The attribute filter operator would be the following:

attributeFilterOperator: and

26.5.5.2.1 Using Assigment Filter Constraints The following is a list of assignment filter constraints:

■ My

■ Group ■ My+Group ■ Reportees ■ Creator ■ Owner ■ Reviewer ■ Previous ■ Admin

26.5.5.2.2 Passing Column Constraints The list below contains the column constants that can be passed in thedisplayColumnList parameter. The constant value is the value that should be passed. For example, for TITLE_COLUMN = "title", the "title" should be passed, not "TITLE_COLUMN".

Primary Column Contraints

STARTDATE_COLUMN = "startDate";

TASKDEFINITIONNAME_COLUMN = "taskDefinitionName"; OWNERROLE_COLUMN = "ownerRole";

UPDATEDDATE_COLUMN = "updatedDate";

COMPOSITEVERSION_COLUMN = "compositeVersion"; CREATOR_COLUMN = "creator";

FROMUSER_COLUMN = "fromUser";

PERCENTAGECOMPLETE_COLUMN = "percentageComplete"; OWNERGROUP_COLUMN = "ownerGroup";

ENDDATE_COLUMN = "endDate";

COMPOSITENAME_COLUMN = "compositeName"; DUEDATE_COLUMN = "dueDate";

COMPOSITEDN_COLUMN = "compositeDN"; TASKDISPLAYURL_COLUMN = "taskDisplayUrl"; UPDATEDBY_COLUMN = "updatedBy";

OUTCOME_COLUMN = "outcome";

TASKNAMESPACE_COLUMN = "taskNamespace"; APPROVERS_COLUMN = "approvers";

APPLICATIONCONTEXT_COLUMN = "applicationContext"; OWNERUSER_COLUMN = "ownerUser";

CATEGORY_COLUMN = "category"; ACQUIREDBY_COLUMN = "acquiredBy";


(4)

Using Approval Management Features of the Oracle BPM Worklist and Workspace

ORIGINALASSIGNEEUSER_COLUMN = "originalAssigneeUser"; Other Column Constraints

ACQUIREDBY_COLUMN = "acquiredBy"; ASSIGNEDDATE_COLUMN = "assignedDate"; APPROVERS_COLUMN = "approvers"; ASSIGNEES_COLUMN = "assignees";

ASSIGNEESDISPLAYNAME_COLUMN = "assigneesDisplayName"; ASSIGNEEGROUPS_COLUMN = "assigneeGroups";

ASSIGNEEGROUPSDISPLAYNAME_COLUMN = "assigneeGroupsDisplayName"; ASSIGNEEUSERS_COLUMN = "assigneeUsers";

ASSIGNEEUSERSDISPLAYNAME_COLUMN = "assigneeUsersDisplayName"; OUTCOME_COLUMN = "outcome";

CREATEDDATE_COLUMN = "createdDate"; ELAPSEDTIME_COLUMN = "elapsedTime";

DIGITALSIGNATUREREQUIRED_COLUMN = "digitalSignatureRequired"; PASSWORDREQUIREDONUPDATE_COLUMN = "passwordRequiredOnUpdate"; ENDDATE_COLUMN = "endDate";

EXPIRATIONDATE_COLUMN = "expirationDate";

EXPIRATIONDURATION_COLUMN = "expirationDuration"; FROMUSER_COLUMN = "fromUser";

FROMUSERDSIPLAYNAME_COLUMN = "fromUserDisplayName"; HASSUBTASK_COLUMN = "hasSubtask";

STATE_COLUMN = "State"; TASKID_COLUMN = "taskId"; VERSION_COLUMN = "version";

TASKNUMBER_COLUMN = "taskNumber"; UPDATEDBY_COLUMN = "updatedBy";

UPDATEDBYDISPLAYNAME_COLUMN = "updatedByDisplayName"; UPDATEDDATE_COLUMN = "updatedDate";

VERSIONREASON_COLUMN = "versionReason"; CREATOR_COLUMN = "creator";

OWNERUSER_COLUMN = "ownerUser"; OWNERGROUP_COLUMN = "ownerGroup"; OWNERROLE_COLUMN = "ownerRole"; PRIORITY_COLUMN = "priority"; DOMAINID_COLUMN = "domainId"; INSTANCEID_COLUMN = "instanceId"; PROCESSID_COLUMN = "processId";

PROCESSNAME_COLUMN = "processName"; PROCESSTYPE_COLUMN = "processType"; PROCESSVERSION_COLUMN = "processVersion"; TITLE_COLUMN = "title";

TITLERESOURCEKEY_COLUMN = "titleResourceKey"; IDENTIFICATIONKEY_COLUMN = "identificationKey"; TASKDEFINITIONID_COLUMN = "taskDefinitionId";

TASKDEFINITIONNAME_COLUMN = "taskDefinitionName"; APPLICATIONNAME_COLUMN = "applicationName"; ASSIGNEETYPE_COLUMN = "assigneeType";

CATEGORY_COLUMN = "category";

COMPONENTNAME_COLUMN = "componentName"; COMPOSITEDN_COLUMN = "compositeDN";

COMPOSITEINSTANCEID_COLUMN = "compositeInstanceId"; COMPOSITENAME_COLUMN = "compositeName";


(5)

CONVERSATIONID_COLUMN = "conversationId"; DUEDATE_COLUMN = "dueDate";

PARTICIPANTNAME_COLUMN = "participantName";

PERCENTAGECOMPLETE_COLUMN = "percentageComplete"; READBYUSERS_COLUMN = "readByUsers";

STARTDATE_COLUMN = "startDate";

PARENTTASKVERSION_COLUMN = "parentTaskVersion"; TASKGROUPINSTANCEID_COLUMN = "taskGroupInstanceId";

SUBTASKGROUPINSTANCEID_COLUMN = "subTaskGroupInstanceId"; ROOTTASKID_COLUMN = "rootTaskId";

PARENTTASKID_COLUMN = "parentTaskId"; CORRELATIONID_COLUMN = "correlationId"; TASKDISPLAYURL_COLUMN = "taskDisplayUrl"; STAGE_COLUMN = "stage";

LOCALE_COLUMN = "locale";

26.5.6 How to Use the Task History Region to Preview Approvers

The History component is an ADF declarative UI component used to render the past and future participants for an initiated task, and for a task before initiation. The component can edit the future participants, and can be embedded in any ADF page. Parameters are the following:

■ Task Object

■ Workflow Service Client ■ Workflow context ■ showTabularView ■ showGraphicalView

If any of the first three parameters are passed as null, or if the correlation ID of a task object is null, the component does not show the approval list. Instead, it shows a message explaining the possible cause why it failed to show the approval list. The last two parameters are used to indicate whether tabular or graphical views are to be shown. By default, both tabular and graphical views are shown. The value true/false can be passed to last two parameters.

26.6 Using the User Metadata Migration Utility

The user metadata migration utility, hwfMigrator, is a tool that automates the process of migrating Workflow user-configurable data from one SOA server to another by executing a shell script.

For more information about the user metadata migration utility, see Moving Human Workflow Data from a Test to a Production Environment in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.


(6)