Oracle® Fusion Middleware

Business Process Composer User's Guide for Oracle Business Process Management

11g Release 1 (11.1.1)

E15177-02

July 2010

Oracle Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management, 11g Release 1 (11.1.1)

E15177-02

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

Primary Author:  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.

Contents

List of Figures

List of Tables

Preface

- Intended Audience

- Documentation Accessibility

- What's New In This Release

- Structure

- Related Documents

- Conventions

Part I Introduction to Oracle Business Process Composer

1 Oracle Business Process Management Suite Overview

- 1.1 Introduction to the Oracle Business Process Management Suite

- 1.2 Oracle BPM User Personas

- 1.3 Oracle BPM Suite Components

- 1.3.1 Process Modeling and Implementation

- 1.3.1.1 Oracle BPM Studio

- 1.3.1.2 Oracle Business Process Composer

- 1.3.1.3 Oracle Metadata Service (MDS)

- 1.3.1.4 Oracle BPM Projects

- 1.3.2 Oracle BPM Run Time Components

- 1.3.2.1 Oracle BPM Engine

- 1.3.2.2 Oracle Human Workflow

- 1.3.2.3 Oracle Business Rules

- 1.3.2.4 Oracle WebLogic Application Server

- 1.3.2.5 Oracle Enterprise Manager

- 1.3.3 Oracle BPM Suite Process Participant Applications

- 1.3.3.1 Oracle BPM WorkSpace

- 1.3.3.2 Oracle BPM Process Spaces

- 1.3.4 Other Oracle BPM Suite Components

- 1.3.4.1 Process Analytics

- 1.3.4.2 Guided Business Processes

- 1.4 Oracle Business Process Analysis (BPA) Suite

- 1.5 Introduction to the Application Development Life Cycle

- 1.5.1 Process Modeling

- 1.5.2 Implementation

- 1.5.3 Deployment

- 1.5.4 Oracle BPM Run Time

- 1.6 Oracle BPM Use Cases

- 1.6.1 Use Case: Using BPM Studio to Create Project Templates

- 1.6.2 Use Case: Using BPM Studio to Model Processes and Deploy an Application

- 1.6.3 Use Case: Using Business Process Composer to Create Process Blueprints

- 1.6.4 Use Case: Using Business Process Composer to Revise Oracle Business Rules

- 1.6.5 Use Case: Using The Oracle BPA Suite to Model Your Business Processes

2 Overview of Business Process Design

- 2.1 Introduction to Business Process Management Notation (BPMN)

- 2.1.1 What is Business Process Management Notation (BPMN)

- 2.1.2 Business Processes

- 2.1.2.1 Process Instances

- 2.1.2.2 Process Tokens

- 2.1.3 Flow Objects

- 2.1.3.1 Tasks

- 2.1.3.2 Events

- 2.1.3.3 Gateways

- 2.1.3.4 Sequence Flows

- 2.1.4 Data Objects

- 2.2 Introduction to the Sales Quote Example Project

- 2.2.1 Breakdown of the Sales Quote Example

- 2.2.1.1 Initiate Sales Quote

- 2.2.1.2 Determine Business Practice Review

- 2.2.1.3 Approve Quote

- 2.2.1.4 Approvals Outcome

3 Introduction to Oracle Business Process Composer

- 3.1 Oracle Business Process Composer Overview

- 3.1.1 Oracle Business Process Composer Use Cases

- 3.2 Overview of the Application Development Life Cycle

- 3.2.1 Workflow: Create Projects Based on Project Templates

- 3.2.2 Workflow: Creating Project Blueprints

- 3.2.3 Workflow: Editing Business Rules at Run Time

- 3.3 Signing On to Oracle Business Process Composer

- 3.4 Using the Oracle Business Process Composer Welcome Page

- 3.4.1 Using the Oracle BPM Metadata Services Repository Browser

- 3.5 Introduction to the Oracle Business Process Composer Interface

- 3.5.1 The Application Menu

- 3.5.2 The Project Navigator, Project Menus, and the Project Toolbar

- 3.5.2.1 Project Navigator

- 3.5.2.2 Project Menus

- 3.5.2.3 Project Toolbar

- 3.5.3 Editors

- 3.5.3.1 Process Editor

- 3.5.3.2 Activity Guide Editor

- 3.5.3.3 Business Rules Editor

- 3.5.3.4 Data Associations Editor

- 3.5.3.5 Expression Editor

- 3.5.4 Additional Browsers and Editors

- 3.5.4.1 Project and Process Validation Browser

- 3.5.4.2 Documentation Editor

- 3.5.4.3 Approval Workflow Browser

Part II Using Oracle Business Process Composer

4 Working with Projects and Project Templates

- 4.1 Introduction to Oracle BPM Projects

- 4.1.1 Introduction to Project Resources

- 4.1.1.1 Editable Project Resources

- 4.1.1.2 The Business Catalog

- 4.1.2 Introduction to the Oracle BPM MDS Repository

- 4.2 Introduction to Project Editing and the Project Menu

- 4.2 Introduction to the Oracle BPM Metadata Service (MDS) Browser

- 4.2.1 Introduction to the Project Navigator

- 4.2.2 Introduction to the Project Menu

- 4.2.2.1 Normal Mode

- 4.2.2.2 Edit Mode

- 4.3 Creating and Working with Projects

- 4.3.1 How to Create a New Project

- 4.3.2 How to Open a Project Using the Project Browser

- 4.3 How to Save Changes to a Project

- 4.3.3 How to Publish a Project to the Oracle BPM Metadata Service Repository

- 4.3.4 How to Configure Project Autosave

- 4.3.5 How to Discard Changes to a Project

- 4.3.6 How to Export a Project to Your Local File System

- 4.4 Working with Project Templates

- 4.4.1 Introduction to Edit Policies

- 4.4.1.1 Process Level Edit Policies

- 4.4.1.2 Component Level Edit Policies

- 4.4.2 Using Data Objects and Variables in Project Templates

- 4.5 Validating a Project

- 4.6 Introduction to Project Deployment

- 4.6.1 Introduction to the Deployer Security Role

- 4.6.2 Introduction to Approval Routing

- 4.7 Deploying an Oracle BPM Project to Run Time

- 4.7.1 How to Deploy a Project to Oracle BPM Run Time

- 4.7.2 How to Deploy a Project Using an Approval Workflow

- 4.7 How to Edit a Deployed Project

- 4.7.3 How to Export a Project as a SAR File

5 Working with Processes and the Process Editor

- 5.1 Working with Processes

- 5.1.1 Introduction to Business Processes

- 5.1.1.1 Types of Processes

- 5.1.2 How to Create a New Business Process

- 5.1.3 How to Open a Business Process

- 5.1.4 How to Delete a Business Process

- 5.1.4.1 What You Need to Know About Deleting a Business Process

- 5.2 Introduction to the Process Editor

- 5.2.1 The Process Editor Toolbar

- 5.2.2 The Process Editor Canvas

- 5.2.3 The Component Palette

- 5.2.3.1 Basic Flow Elements

- 5.2.3.2 BPMN Flow Elements

- 5.2.3.3 Business Catalog

- 5.3 Working with Flow Elements

- 5.3.1 Adding a Flow Element from the Component Palette

- 5.3.2 Adding a Flow Element from a Component Menu

- 5.3.3 Adding Sequence Flows to a Process

- 5.3.4 Deleting a Flow Element

- 5.3.4.1 What You Need to Know About Deleting a Flow Element

- 5.3.5 Adding Tasks Directly from the Business Catalog

- 5.4 Documenting Your Process

- 5.4.1 Introduction to the Documentation Editor

- 5.4.1.1 Inserting Links in Your Documentation

- 5.4.2 How to Add Documentation to Your Process

6 Modeling Business Processes with Oracle BPM

- 6.1 Using Swimlanes to Organize Your Process

- 6.1.1 Introduction to Roles

- 6.1.1.1 Roles in Context

- 6.1.2 Introduction to Swimlanes

- 6.1.2.1 Swimlanes in Context

- 6.1.3 Adding Roles and Swimlanes to Your Process

- 6.1.4 Sharing Roles Between Business Process Composer and BPM Studio

- 6.2 Defining the Start and End Point of a Process

- 6.2.1 Introduction to Start and End Events

- 6.2.1.1 Default Start Events for Process Patterns and Subprocesses

- 6.2.1.2 Defining How a Process Instance is Triggered

- 6.2.1 Using Multiple Start Events in a Process

- 6.2.1.3 Using Multiple End Events in a Process

- 6.2.2 Introduction to the None Start Event

- 6.2.2 The None Start Event in Context

- 6.2.2.1 Data Associations

- 6.2.3 Introduction to the Message Start Event

- 6.2.3.1 The Message Start Event in Context

- 6.2.3.2 Using Process Input and Output Arguments

- 6.2.4 Introduction to the Signal Start Event

- 6.2.4.1 The Signal Start Event in Context

- 6.2 Introduction to the Timer Start Event

- 6.2.5 Introduction to the None End Event

- 6.2.5.1 The None End Event in Context

- 6.2.6 Introduction to the Error End Event

- 6.2.7 Introduction to the Message End Event

- 6.2.8 Introduction to the Terminate End Event

- 6.3 Adding User Interaction to Your Process

- 6.3.1 Introduction to Human Workflow

- 6.3.1.1 Introduction to Human Tasks

- 6.3.2 Introduction to The User Task

- 6.3.2.1 The User Task in Context

- 6.3.2 Using Interactive Activities

- 6.3.2.2 Using the User Task in Project Templates

- 6.3.3 Introduction to the Manual Task

- 6.3.3.1 The Manual Task in Context

- 6.4 Communicating With Other Processes and Services

- 6.4.1 Introduction to the Service Task

- 6.4.1.1 The Service Task in Context

- 6.4.1.2 Implementing Reusable Services in Project Templates

- 6.4.2 Introduction to the Send Task

- 6.4.2.1 The Send Task in Context

- 6.4.3 Introduction to the Receive Task

- 6.4.3.1 The Receive Task in Context

- 6.4.3.2 Starting a Process with the Receive Task

- 6.4.4 Using the Send and Receive Tasks to Communicate Between Processes

- 6.4.5 Introduction to the Message Throw Event

- 6.4.6 Introduction to the Message Catch Event

- 6.4.7 Using Message Throw and Catch to Communicate Between Processes

- 6.5 Adding Business Logic Using Oracle Business Rules

- 6.5.1 Introduction to Oracle Business Rules

- 6.5.2 Introduction to the Business Rules Task

- 6.5.2.1 The Business Rule Task in Context

- 6.6 Controlling Process Flow Using Sequence Flows

- 6.6.1 Introduction to Sequence Flows

- 6.6.2 Introduction to Unconditional Sequence Flows

- 6.6.3 Introduction to Conditional Sequence Flows

- 6.6.4 Introduction to Default Sequence Flows

- 6.7 Controlling Process Flow Using Gateways

- 6.7.1 Introduction to Gateways

- 6.7.1.1 Split-Merge Pairs

- 6.7.2 Introduction to the Exclusive Gateway

- 6.7.2 The Exclusive Gateway in Context

- 6.7.2.1 Splitting and Merging Exclusive Gateways

- 6.7.3 Introduction to the Inclusive Gateway

- 6.7.3.1 Splitting and Merging Inclusive Gateways

- 6.7.4 Introduction to the Parallel Gateway

- 6.7.4.1 The Parallel Gateway in Context

- 6.7.4.2 Splitting and Merging Parallel Gateways

- 6.7.5 Introduction to the Complex Gateway

- 6.7.6 Introduction to the Event Based Gateway

- 6.8 Controlling Process Flow Using Intermediate Events

- 6.8.1 Introduction to Intermediate Events

- 6.8.2 Introduction to the Timer Catch Event

- 6.8.3 Introduction to the Error Catch Event

- 6.9 Using Subprocesses to Organize Your Process

- 6.9.1 Subprocesses and Sequence Flows

- 6.9.2 Subprocesses in Context

- 6.9.3 Looping Subprocesses

- 6.10 Changing the Value of Data Objects in Your Process

- 6.10.1 Introduction to the Script Task

- 6.10.1.1 The Script Task in Context

- 6.11 Measuring Process Performance Using Measurement Marks

- 6.11.1 How to Add a Measurement Mark to a Process

- 6.12 Using Guided Business Processes to Set Project Milestones

- 6.12.1 Introduction to Guided Business Processes

- 6.12.1.1 Introduction to Activity Guides and Milestones

- 6.12.2 Working with Guided Business Processes

7 Working with Data Objects and Expressions

- 7.1 Introduction to Data Objects

- 7.1.1 Introduction to Process and Project Data Objects

- 7.1 Using Data Objects in Project Blueprints

- 7.1.2 Using Data Objects in Projects Based on Project Templates

- 7.1.3 Introduction to Data Associations

- 7.1.4 Introduction to the Data Association Editor

- 7.2 Working with Data Objects and Data Associations

- 7.2.1 How to Create a Data Object

- 7.2.2 How to Delete a Data Object

- 7.2.2.1 What You Need to Know About Deleting Data Objects

- 7.2.3 How to Configure Data Associations for a Flow Object

- 7.3 Introduction to Expressions

- 7.3.1 Operator Precedence

- 7.3.2 Introduction to the Expression Editor

- 7.4 Defining Expressions

- 7.4.1 How to Define an Expression for a Conditional Sequence Flow

- 7.4.2 How to Define Expressions in Data Associations

8 Using Oracle Business Rules

- 8.1 Introduction to Oracle Business Rules

- 8.1.1 Introduction to Rule Conditions

- 8.1.2 Introduction to Rule Actions

- 8.1.3 Introduction to Decision Tables

- 8.1.4 Introduction to Facts and Bucketsets

- 8.1.5 Introduction to Rulesets

- 8.1.6 Introduction to Decision Functions

- 8.1.7 Introduction to Decision Points

- 8.1.8 Introduction to Dictionaries

- 8.2 Introduction to the Business Process Composer Rules Editor

- 8.3 Viewing and Editing Business Rules in Business Process Composer

- 8.3.1 How to Open a Business Rule

- 8.3 How to Add a Bucketset

- 8.3.2 How to Edit an Existing Bucketset

- 8.3.3 How to View Globals in the Oracle Rules Dictionary

- 8.3 How to Add a Rule to a Ruleset

- 8.4 How to Edit the Oracle Business Rules at Run Time

- 8.5 Assigning a Rule to a Business Rules Task

9 Performing Administrative Tasks

- 9.1 Managing Security Roles Using Business Process Composer

- 9.1.1 Default Security Roles in Oracle BPM

- 9.2 Assigning Users and Groups to Security Roles

- 9.2.1 What You Need to Know About Security Role Assignment

- 9.3 Managing Projects

- 9.3.1 What You Need to Know About Managing Projects

List of Figures

- 1-1 The Oracle BPM Suite

- 1-2 Stages of the Oracle BPM Application Development Life Cycle

- 2-1 The Sales Quote Example

- 2-2 Initiate Sales Quote

- 2-3 Determine Business Practice Review

- 2-4 Approve Quote

- 2-5 Approval Outcome

- 3-1 Using BPM Studio to Create Project Templates

- 3-2 Using Oracle Business Process Composer to Create Project Blueprints

- 3-3 Using Oracle Business Process Composer to Edit Oracle Business Rules at Run Time

- 3-4 Oracle Business Process Composer Sign-on Screen

- 3-5 Oracle Business Process Composer Welcome Page

- 3-6 The Oracle Business Process Composer Application User Interface

- 4-1 Oracle BPM Project Navigator

- 4-2 The Oracle BPM Metadata Service (MDS) Browser

- 4-3 Project Navigator.

- 4-4 The Project Toolbar in Normal Mode

- 4-5 The Project Toolbar in Edit Mode.

- 4-6 Oracle Business Process Composer Project Browser

- 4-7 The Deploy Project Dialog

- 5-1 The Process Editor Window

- 5-2 The Documentation Editor

- 6-1 A Simple Business Process Split Across Two Swimlanes

- 6-2 Using Multiple Start Events within a Process

- 6-3 The None Start Event

- 6-4 The None Start Event within the Sales Quote Example Process

- 6-5 The Message Start Event

- 6-6 The Message Start Event within the Sales Quote Example Process

- 6-7 The Signal Start Event

- 6-8 The Timer Start Event

- 6-9 The None End Event

- 6-10 The None End Event within the Sales Quote Example Process

- 6-11 The Error End Event

- 6-12 The Message End Event

- 6-13 The User Task

- 6-14 The Enter Quote User Task

- 6-15 The Manual Task

- 6-16 Example of a Manual Task

- 6-17 The Service Task

- 6-18 The Service Task within the Sales Quote Example Process

- 6-19 The Send Task

- 6-20 The Receive Task

- 6-21 Using the Send and Receive Tasks to Communicate Between Processes

- 6-22 The Message Throw Event

- 6-23 The Message Catch Event

- 6-24 Using Message Throw and Catch Events Between Processes

- 6-25 The Business Rule Task

- 6-26 The Business Rules Task within the Sales Quote Example Process

- 6-27 The Unconditional Sequence Flow

- 6-28 Conditional and Default Sequence Flows

- 6-29 The Exclusive Gateway

- 6-30 The Exclusive Gateway within the Sales Quote Example Process

- 6-31 The Inclusive Gateway (Split)

- 6-32 The Inclusive Gateway (Merge)

- 6-33 The Parallel Gateway (Split)

- 6-34 The Parallel Gateway (Merge)

- 6-35 Example of a Parallel Gateway

- 6-36 The Complex Gateway (Split)

- 6-37 The Complex Gateway (Merge)

- 6-38 The Event-based Gateway

- 6-39 The Timer Catch Event

- 6-40 The Error Catch Event as a Boundary Event on a Service Task

- 6-41 Example of a Collapsed Subprocess

- 6-42 Example of an Expanded Subprocess

- 6-43 Example of a Subprocess

- 6-44 The Script Task

- 6-45 The Script Task within the Sales Quote Example Project

- 6-46 Data Associations Used by the Set Business Indicators Script Task

- 6-47 Expression Used to Change the Value of Discount Project Variable

- 7-1 Relationship Between Basic and Complex Data Objects

- 7-2 Scope of Process and Project Data Objects

- 7-3 Relationship between a Flow Object, Implementation and an External Service or Process

- 7-4 Data Associations between a process

- 7-5 The Data Association Editor

- 7-6 The Oracle Business Process Composer Expression Editor

- 8-1 The Globals Tab of the Oracle Business Rules Editor

- 8-2 The Bucketsets Tab of the Oracle Business Rules Editor

- 8-3 The Rulesets Tab of the Oracle Business Rules Editor

- 9-1 Oracle Business Process Composer Administration

List of Tables

- 1-1 Oracle BPM User Persona

- 3-1 Oracle Business Process Composer Welcome Page Features

- 3-2 Application Menu Items

- 3-3 Project-related Menus

- 4-1 Project Navigator

- 4-2 Project Toolbar Items in Normal Mode

- 4-3 Project Toolbar Items in Edit Mode

- 4-4 Process Level Edit Policies

- 4-5 Component Level Edit Policies

- 4-6 Approval Routing

- 4-7 The Deploy Project Dialog Properties

- 5-1 Process Types

- 5-2 Process Editor Menu

- 6-1 Default Start and End Events for Each Type of Process

- 6-2 Interactive Activities

- 7-1 Basic Data Objects

- 7-2 Flow Objects that Accept Data Associations

- 7-3 The Data Association Editor User Interface

- 7-4 Arithmetic Operators

- 7-5 Unary Operators

- 7-6 Equality and Relational Operators

- 7-7 Conditional Operators

- 7-8 The Expression Editor User Interface

- 9-1 Oracle WebLogic Server Security Realm

- 9-2 Default Security Roles in Oracle BPM

Preface

This guide describes the Oracle Business Process Composer application.

Intended Audience

This guide is intended for process analysts who use the Business Process Composer application to create and edit the business processes and Oracle BPM projects used to created process-based applications using the Oracle Business Process Management Suite.

This guide is also intended for process developers who must use Business Process Composer. See Section 1.2, "Oracle BPM User Personas" for more information on these user personas.

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

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.

Deaf/Hard of Hearing Access to Oracle Support Services

To reach Oracle Support Services, use a telecommunications relay service (TRS) to call Oracle Support at 1.800.223.1711. An Oracle Support Services engineer will handle technical issues and provide customer support according to the Oracle service request process. Information about TRS is available at http://www.fcc.gov/cgb/consumerfacts/trs.html, and a list of phone numbers is available at http://www.fcc.gov/cgb/dro/trsphonebk.html.

What's New In This Release

This is a new manual describing the initial release of the Oracle Business Process Composer.

Structure

The following sections describe the structure of this guide:.

Part I, "Introduction to Oracle Business Process Composer"

This part contains general information about the Oracle Business Process Management Suite, process design, Business Process Management Notation (BPMN), and the Oracle Business Process Composer application.

Chapter 1, "Oracle Business Process Management Suite Overview"

This chapter provides a general overview of the Oracle Business Process Management Suite. It describes how Oracle BPM interacts with the overall Oracle SOA Suite architecture. It also describes each component of Oracle BPM.

Part I, "Overview of Business Process Design"

This chapter contains a brief introduction to Business Process Management Notation (BPMN). It also contains a description of the Sales Quote example project.

Section 3, " Introduction to Oracle Business Process Composer"

This chapter contains a general introduction to Oracle Business Process Composer. It provides information on the typical use cases for the application and an introduction to the application's user interface.

Part II, "Using Oracle Business Process Composer"

This part contains information on using Business Process Composer application to create and edit business processes and Oracle BPM projects.

Chapter 4, "Working with Projects and Project Templates"

This chapter provides an introduction to Oracle BPM projects and project templates. It also contains information on publishing projects to the Oracle BPM Metadata Service (MDS) repository and deploying projects to Oracle BPM run time.

Chapter 5, "Working with Processes and the Process Editor"

This chapter provides information on creating and editing business processes using Oracle Business Process Composer. It also contains a detailed description of the Process Editor user interface.

Chapter 6, "Modeling Business Processes with Oracle BPM"

This chapter describes how to model business processes using Oracle BPM and Business Process Management Notation (BPMN) 2.0. It provides detailed information on Oracle's implementation of the BPMN 2.0 specification.

Chapter 7, "Working with Data Objects and Expressions"

This chapter describes how to handle information within your project and processes. It also provides detailed information on using data associations and the expression editor.

Chapter 8, "Using Oracle Business Rules"

This chapter describes how to edit Oracle Business Rules using Business Process Composer. It also provides procedures for editing Oracle Business Rules at run time.

Chapter 9, "Performing Administrative Tasks"

The chapter provides information on using the Business Process Composer administration tools. It provides procedures for managing users and Oracle BPM projects.

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 BPM Modeling and Implementation Guide

- Oracle Fusion Middleware Business Process Management User's Guide

Oracle SOA and BPM Suite Installation and Administration

- Oracle Fusion Middleware Installation Guide for Oracle SOA Suite

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

- Oracle Fusion Middleware High Availability Guide

Conventions

The following conventions are also used in this manual:

Convention

Meaning

. . .

Vertical ellipsis points in an example mean that information not directly related to the example has been omitted.

. . .

Horizontal ellipsis points in statements or commands mean that parts of the statement or command not directly related to the example have been omitted

boldface text

Boldface type in text indicates a term defined in the text, the glossary, or in both locations.

< >

Angle brackets enclose user-supplied names.

[ ]

Brackets enclose optional clauses from which you can choose one or none.

Part I

Introduction to Oracle Business Process Composer

This part provides a general introduction to the Oracle Business Process Composer application. It also provides an overview of the Oracle BPM Suite and shows how Business Process Composer 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"

- Chapter 3, " Introduction to Oracle Business Process Composer"

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.
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

The following sections of this chapter provide more information on each of these components shown in the figure above.

Section 1.2, "Oracle BPM User Personas" describes the different types of users who may use the Oracle BPM Suite. It also lists applications and components typically used by each type of user.

Section 1.3, "Oracle BPM Suite Components" describes each component of the Oracle BPM Suite.

Section 1.5, "Introduction to the Application Development Life Cycle" describes each stage of the application development cycle using Oracle BPM Suite.

Section 1.6, "Oracle BPM Use Cases" describes the typical use cases for Oracle BPM Suite.

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.

These user personas are used within the examples in this guide.

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 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.

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.

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.

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.

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 BPM Modeling and Implementation Guide 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 Oracle 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.

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 Chapter 3, " Introduction to Oracle Business Process Composer" for more information.

1.3.1.3 Oracle Metadata Service (MDS)

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 BPM Modeling and Implementation Guide

- "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
The BPEL engine provides an environment for running BPEL processes.

- 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 are a component of the Oracle SOA Suite that enable dynamic decisions at run time allowing, among other features, applications to rapidly adapt to regulatory and competitive pressures. This increased agility is possible because process analysts using Oracle Business Rules can create and change business rules that are separated from the application code. By using Oracle Business Rules, process analysts can change business rules without stopping business processes. Also, externalizing business rules enables process analysts to manage business rules directly, without involving process developers.

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.

1.3.3.1 Oracle BPM WorkSpace

Oracle BPM WorkSpace and the 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 Business Process Management User's Guide 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 Business Process Management User's Guide 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 BPM Modeling and Implementation Guide

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.

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 BPM Modeling and Implementation Guide 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.

Figure 1-2 Stages of the Oracle BPM 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 opened in 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 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 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.

- Deployment using an exported SAR file
Oracle BPM Studio and Business Process Composer enable you to export applications using a SAR file. The SAR file can be deployed to run time by business administrators using Oracle Enterprise Manager.

In a production environment, this is generally how applications are deployed.

- Deployment Using the WebLogic Scripting Tool (WLST)
Oracle BPM provides customized WLST commands for managing and deploying Oracle BPM projects.

1.5.4 Oracle BPM Run Time

After an application is deployed, the run-time environment makes the Oracle BPM application available to process participants based on the roles assigned in the organization where the business processes were deployed. This stage is divided into two distinct functions:

- User interaction
Process participants and process owners are responsible for interacting with the running application using Oracle BPM WorkSpace.

Process analysts and owners can also monitor the process and revise Oracle Business Rules at run time using Business Process Composer.

- Process management and monitoring
Process owners are responsible for monitoring and maintaining running processes using Oracle BPM WorkSpace. Process analysts and owners use Oracle Process Analytics to monitor the real-time performance of business processes.

- System administration
Business administrators are responsible for maintaining running business applications and the overall run-time infrastructure using Oracle Enterprise Manager and the Oracle Weblogic Server administration console.

1.6 Oracle BPM Use Cases

This section describes typical uses cases of the Oracle BPM Suite from process modeling to run time.

1.6.1 Use Case: Using BPM Studio to Create Project Templates

This use case involves using Oracle BPM Studio to create project templates. These templates are used by process analysts to create new projects using Business Process Composer.

Typical Workflow for Using Oracle BPM Studio to Create Project Templates

1. Determine the business requirements. (process analyst)

2. Model the required business processes using Oracle BPM Studio (process analyst / process developer).
Process analyst can use the Process Analyst role in Oracle JDeveloper.

3. Implement the processes by integrating each element of the process with back-end systems and reusable services. (process developer).

4. Create a project template using Oracle BPM Studio (process developer).

5. Publish the project template to the Oracle BPM MDS repository (process developer).

6. Create a new Oracle BPM project based on a project template (process analyst).

7. Implement the required reusable services defined by the project template (process analyst).

8. Deploy the project to Oracle BPM run time (process analyst).

1.6.2 Use Case: Using BPM Studio to Model Processes and Deploy an Application

This use case involves using Oracle BPM Studio to create process models. These models are used to create working business applications that are deployed to the Oracle BPM run time.

Typical Workflow for Using Oracle BPM Studio to Model Processes

1. Determine the business requirements (process analyst).

2. Model the required business processes using Oracle BPM Studio (process analyst / process developer).
Process analyst can use the Process Analyst role in Oracle JDeveloper.

3. Implement the processes by integrating each element of the process with back-end systems and reusable services. (process developer).

4. Compile the Oracle BPM project as a composite application (process developer).

5. Deploy the application to the run time environment (process developer, business administrator).

6. Interact with the deployed processes as part of a running business application (process participants, process owner).

7. Maintain and monitor the running process-based applications (business administrator, process owner).

1.6.3 Use Case: Using Business Process Composer to Create Process Blueprints

This use case involves creating process blueprints using Business Process Composer. These blueprints are then shared with process developers who import them into Oracle BPM Studio, where they perform further refinement and implementation.

Typical Workflow for Using Business Process Composer to Create Process Blueprints

1. Create process blueprints using Business Process Composer (process analyst).

2. Provide implementation details for the business process and prepare the process-based business application for deployment (process developer).

3. Create project templates and publish them to the Oracle BPM Metadata Store repository using Oracle BPM Studio (process developer).

4. Create a project based on a the project template (process analyst).

5. Edit the project as defined by the edit policies of the project template (process analyst).

6. Deploy the project to Oracle BPM run time (process analyst, process administrator).

1.6.4 Use Case: Using Business Process Composer to Revise Oracle Business Rules

The use case involves using Business Process Composer to edit Oracle Business Rules at run time. After an application is deployed, process analysts and owners can open the deployed project and edit Oracle Business Rules.

Typical Workflow for Using Business Process Composer to Revise Oracle Business Rules

1. Model a set of business processes (process analyst).

2. Implement and deploy an application (process developer).

3. Edit the Oracle Business Rules at run time using Business Process Composer (process owner).

1.6.5 Use Case: Using The Oracle BPA Suite to Model Your Business Processes

This use case involves using the Oracle BPA Suite to model your business processes. These processes can be imported into Oracle BPM Studio.

Typical Workflow for Using the Oracle BPA Suite and Oracle BPM Suite to Model Processes

1. Determine the business requirements (process analyst).

2. Design your business architecture by capturing strategic objectives, process maps, and value chain diagrams using Oracle BPA. (process analyst).

3. Perform strategic analysis to determine potential process candidates for Oracle BPM projects (process analysts).

4. Design detailed process flows for the process candidates identified above (process analyst).

5. Import your process models into Oracle BPM Studio (process analyst, process developer).

6. Implement the processes by integrating each process component with back-end systems and reusable services (process developer).

7. Deploy the business processes as a BPM project to the run time environment (process developer, business administrator).

8. Interact with the deployed processes as part of a business application (process participant, process owner).

9. Maintain the processes (business administrator, process owner).

2 Overview of Business Process Design

This chapter provides an overview of business process design. It provides a basic introduction to Business Process Management Notation (BPMN). This introduction is primarily designed to introduce the BPMN-specific terminology used within this guide.

See Chapter 6, "Modeling Business Processes with Oracle BPM" for more detailed information about Oracle's implementation of BPMN 2.0.

This chapter also describes the Sales Quote example. This project is used throughout the examples within the Oracle BPM documentation set.

This chapter includes the following sections:

- Chapter 2, "Introduction to Business Process Management Notation (BPMN)"

- Chapter 2, "Introduction to the Sales Quote Example Project"

2.1 Introduction to Business Process Management Notation (BPMN)

This section provides a brief introduction to Business Process Management Notation (BPMN). It is primarily designed to introduce the BPMN terminology used throughout this guide.

2.1.1 What is Business Process Management Notation (BPMN)

Business Process Management Notation (BPMN) is an industry standard notation for defining business processes. Oracle BPM supports BPMN 2.0.

For more information on BPMN see: http://www.bpmn.org.

2.1.2 Business Processes

A business process can be generally defined as a sequence of tasks that, after performed, result in a well-defined outcome. As the term business process implies, a business process usually represents work that is performed within the context of a company or organization.

The Sales Quote example project shows an example of a business process. It contains a sequence of tasks that result either in the approval or rejection of a sales quote.

Within the context of Oracle BPM, a business process is also something that can be managed by software. Oracle BPM enables you to model real-world business processes like the Sales Quote example and integrate them within an IT environment.

2.1.2.1 Process Instances

A process instance refers to the specific instance of a business process. While a business process generally defines how an organization performs its work, a process instance refers to the work of a specific person within that organization. In Oracle BPM, this person is referred to as a process participant.

For example, the Sales Quote example shows the overall definition, or model, of a business process, including the roles of the process participants who are responsible for performing the work. It defines how a sales quote is created and approved and defines the types of people responsible for performing that work.

In contrast, a process instance refers to a specific sales quote and the specific people responsible for approving it.

This distinction between process and process instance is important because Oracle BPM enables you to model business processes, convert them into running business applications, and manage the process instances created within those applications.

2.1.2.2 Process Tokens

Process tokens are an abstract concept in BPMN. They refer to the current point of execution within a process. A business process can have multiple tokens that indicate that the process is running in multiple paths.

For example, gateways are often used to split the path of a process. Splitting a process path creates multiple process tokens.

2.1.3 Flow Objects

Flow objects are the BPMN components that represent the work performed within a process. The following sections describe the types of flow objects available in BPMN.

2.1.3.1 Tasks

In Oracle BPM, tasks are used to represent the work performed by a process.

2.1.3.2 Events

Events define something that happens during a process.

2.1.3.3 Gateways

Gateways are used to determine the flow of your process.

2.1.3.4 Sequence Flows

Sequence flows are used to connect flow objects.

2.1.4 Data Objects

While flow objects are used to define the behavior of a business process, data objects are used to define and store the information used by a business process. Data objects are variables that are defined during the modeling and implementation of a process. A process instance uses these variables to store specific information.

For example, the Sales Quote example defines several data objects used to store information about the sales quote. At run time, the process instance generates and stores specific values for these variables.

2.2 Introduction to the Sales Quote Example Project

The Sales Quote project provides real-world examples of different Oracle BPM features. This project is used within the Oracle BPM documentation set to provide examples of the features being described.

The Sales Quote example is shown in Figure 2-1.

Figure 2-1 The Sales Quote Example

2.2.1 Breakdown of the Sales Quote Example

The following sections describe how the Sales Quote example process works. This example can be broken down into the following high-level tasks:

- Section 2.2.1.1, "Initiate Sales Quote"

- Section 2.2.1.2, "Determine Business Practice Review"

- Section 2.2.1.3, "Approve Quote"

- Section 2.2.1.4, "Approvals Outcome"

These high-level tasks are described in the following sections. Within each section, the specific flow objects required to perform each task are detailed.

2.2.1.1 Initiate Sales Quote

The initial flow objects within the Sales Quote project are used to set the initial values for data objects and initiate the process instance as shown in Figure 2-2.

Figure 2-2 Initiate Sales Quote

The Initiate Sales Quote Portion Performs the Following:

1. Define start point (none start event)

2. Initialize data objects (script task)

3. Initiate the process instance (user task with initiator pattern)

4. Set values for the business indicator data objects (script task)

2.2.1.2 Determine Business Practice Review

The next set of flow objects in the Sales Quote example determine if a review of corporate business practices is necessary. If a review is required, the process proceeds to a part of the process flow that performs the review. If a review is not required, the process proceeds directly to the approval stage.

Figure 2-3 shows the BPMN flow objects used to perform the business practice review.

Figure 2-3 Determine Business Practice Review

The following procedure demonstrates how a process path passes through the business practice review.

Determine Business Practice Review

1. Determine Approval Flow (business rules task).
This stage begins with a business rules task which implements an Oracle Business Rule to determine whether a business practice review is required.

2. Check Approval Flow (exclusive gateway).

- If Yes, perform Business Practice Review (user task).

- If No, the process flow proceeds directly to the approve quote stage.

3. Approvals (parallel gateway).

2.2.1.3 Approve Quote

The next set of flow objects in the Sales Quote example defines how the sales quote is approved. After the business practice review is finished, the quote moves to the approval phase as shown in Figure 2-4.

In this example, the approval process is defined by two separate flows that are executed simultaneously. These are:

- Approve the sales quote.
This process path is also split into two paths. In this example, it is possible for the quote to be self approved, which means that the quote is approved based on certain criteria, or it may require explicit approval from a process participant.

- Approve the terms of the contract related to the sales quote.
This process path requires a process participant to approve the terms of the sales contract.

After these parallel process paths complete, they are merged. The process path then proceeds to the approval outcome stage.

Figure 2-4 Approve Quote

Approve Quote

1. Approvals (parallel gateway - split)

1. Check for self approval (gateway)
Approve Quote

Set Approve Quote Outcome

2. Approve Terms

2. Merge Approve Quote (parallel gateway - merge)

2.2.1.4 Approvals Outcome

The approvals outcome stage represents the final stage of the Sales Quote example. It begins with a check to determine if the sales quote has been approved.

If the sales quote is approved, the process proceeds to the final process flow which proceeds to the end event.

If the sales quote is not approved, the process flow returns to the enter quote task where the quote must be reentered and the process repeats.

Figure 2-5 Approval Outcome

Approval Outcome

1. Approvals outcome (exclusive gateway)
The approvals outcome is implemented using an exclusive gateway. This gateway contains two outgoing sequence flows which determine the path the process takes out of the exclusive gateway.

1. Approved
This is implemented with a default sequence flow.

Finalize Quote

Save Quote

End Event

2. Rejected: Sends the process flow back to the enter quote.
This is implemented with a conditional sequence flow. The expression used for this conditional sequence flow determines if the process path continues

3 Introduction to Oracle Business Process Composer

This chapter provides an introduction to the Oracle Business Process Composer application.

This chapter includes the following sections:

- Chapter 3, "Oracle Business Process Composer Overview"

- Chapter 3, "Overview of the Application Development Life Cycle"

- Chapter 3, "Introduction to the Oracle Business Process Composer Interface"

- Chapter 3, "Signing On to Oracle Business Process Composer"

- Chapter 3, "Using the Oracle Business Process Composer Welcome Page"

3.1 Oracle Business Process Composer Overview

Oracle Business Process Composer is a web-based application that enables process analysts to create and customize business processes. These processes are contained within an Oracle BPM Project. Business Process Composer enables process analysts to easily collaborate with process developers who use Oracle BPM Studio to create process-based business applications.

See the following section for more information on the use cases for Business Process Composer.

3.1.1 Oracle Business Process Composer Use Cases

There are three typical use cases for Oracle Business Process Composer:

- Create, edit and deploy projects based on project templates.
Process templates are created in Oracle BPM Studio and are stored within the Oracle BPM Metadata Service partition. Using Business Process Composer, you can use these templates to create new or modify existing business processes.

You can then re-publish them to the Oracle BPM Metadata Service partition or deploy them to the Oracle BPM run time.

See Section 4.4, "Working with Project Templates" for information on using project templates in Business Process Composer. For information on creating project templates see the Oracle BPM Modeling and Implementation Guide

- Create process blueprints.
Process blueprints are the first draft of a business process. They allow you to create abstract definitions of your business processes. These processes are included within a basic Oracle BPM Project that can be shared between Oracle BPM Studio and Business Process Composer.

However, process blueprints do not contain any of the implementation details required for an Oracle BPM application. Process developers can use Oracle BPM Studio to add the required implementation.

From Business Process Composer, you can publish the project to the Oracle BPM MDS partition where process developers can add the required technical implementation using Oracle BPM Studio.

- Edit business rules for in-flight processes
You can use Business Process Composer to edit Oracle Business Rules in a running application. Oracle Business Rules enable you to define business policies within your process using the business rules task. You can easily change these policies at run time without having to remodel your business process or redeploy your business application.

3.2 Overview of the Application Development Life Cycle

Oracle Business Process Composer is a collaboration tool that enables process analysts to easily interact with process developers. It provides a user-friendly interface for creating process-based business applications based on project templates. These templates are created using Oracle BPM Studio.

Business Process Composer also provides an environment for creating process blueprints. Process blueprints are implemented as part of an Oracle BPM project and can easily be shared with process developers who are using Oracle BPM Studio to implement business processes as part of a business application.

The following sections describe typical scenarios by showing the interactions between different Oracle BPM components and the persona, including process analysts and process developers. However, the exact workflow you use depends on your business needs. There may be multiple iterations where process analysts and developers collaborate to create and refine a business process.

3.2.1 Workflow: Create Projects Based on Project Templates

Figure 3-1 shows a typical workflow for using Oracle BPM Studio at the beginning of the development cycle to create process templates. These templates are used to create new Oracle BPM projects. These projects can edited by process analysts using Business Process Composer.

Figure 3-1 Using BPM Studio to Create Project Templates

The following steps describe each stage of this workflow:

1. Create a project template using Oracle BPM Studio (process developer)

2. Publish the project template to the Oracle BPM Metadata Service (MDS) partition (process developer)

3. Create a project based on a project template using Business Process Composer. (process analyst)

4. Edit the processes within the project based on the edit policies defined in the template (process analyst).

5. Validate the project (process analyst).

6. Deploy the project or return the project to the process developer.

1. Deploy the process directly to Oracle BPM run time (process analyst, business administrator). This may require an approval workflow.

2. Republish the project to the Oracle BPM MDS partition. (process analyst) Republishing the project enables you to share it with other process analysts or with process developers who are responsible for implementing your business processes within an overall application.

3. Export the project as an SAR file (process analyst). This file can be deployed to Oracle BPM run time (process administrators).

3.2.2 Workflow: Creating Project Blueprints

Figure 3-2 shows a typical workflow for using Business Process Composer to perform the initial process modeling stages of the application development life cycle. This workflow involves using Business Process Composer to create project blueprints which can be opened in Oracle BPM Studio where process developers complete the implementation.

Figure 3-2 Using Oracle Business Process Composer to Create Project Blueprints

The following steps describe each stage of this workflow:

1. Create blueprints using Business Process Composer (process analyst)

2. Publish the project containing the process blueprint to the Oracle Metadata Service (MDS) repository (process analyst)

3. Open the project in Oracle BPM Studio (process developer)

4. Implement the project as part of a process-based business application. (process developer)

5. Deploy the project to run time or save as a project template

1. Deploy the process to run time (process developer, business administrator), or

2. Save the application as a project template (process developer

3. Export the project as a SAR file (process analyst), which is then deployed to Oracle BPM run time (business administrator).

3.2.3 Workflow: Editing Business Rules at Run Time

Figure 3-3 shows the workflow for creating and deploying a process-based business application, then using Business Process Composer to edit the Business Rules at run time.

Figure 3-3 Using Oracle Business Process Composer to Edit Oracle Business Rules at Run Time

1. Model your business processes and create a process-based business application using Oracle BPM Suite. This can include a combination of the workflows defined in the previous sections. (process analyst / process developer)

2. Deploy the application to Oracle BPM run time. (process analyst / process developer)

3. Edit business rules during run time using Business Process Composer (process analyst).

3.3 Signing On to Oracle Business Process Composer

Before signing on to Business Process Composer your business administrator must provide the following:

- URL: The location of your Business Process Composer installation.

- Username: The username you use to access Business Process Composer.

- Password: The security credential you use to access Business Process Composer.

Note:
Oracle Application Server Single Sign-On is enabled by default in Oracle BPM Suite. OracleAS Single Sign-On enables you to use one sign on session to access multiple web-based applications. If OracleAS Single Sign-On is enabled and you have previously signed on to another application, the Business Process Composer sign on screen may not appear.

To access Oracle Business Process Composer

1. Go to the Business Process Composer URL.
Figure 3-4 shows the sign-on screen that appears after the Oracle BPM application loads.

Figure 3-4 Oracle Business Process Composer Sign-on Screen

2. Enter your username and password, then click Login.

3.4 Using the Oracle Business Process Composer Welcome Page

After signing in to Business Process Composer, the Welcome Page appears. This page, as shown in Figure 3-5, provides quick access to frequently used Business Process Composer features.

Figure 3-5 Oracle Business Process Composer Welcome Page

Table 3-1 describes each of the options available from the welcome page.

Note:
The options you see on the Welcome Page depend on the security roles you have been granted. For example, only users with the Administrator security role see the Administration option.

Table 3-1 Oracle Business Process Composer Welcome Page Features

Feature

Description

Project Menu

Create and open projects using the Business Process Composer project navigator.

Open a Project

Open projects using a hierarchical Oracle BPM MDS browser.

Create a New Project

Create new projects using the new project wizard.

Administration

Access the Business Process Composer administration pane, which enables you to map roles and administer project locks.

Help

Display the online version of this guide.

3.4.1 Using the Oracle BPM Metadata Services Repository Browser

The Oracle BPM MDS browser enables you to easily navigate among the projects and folders of the repository.

Note:
You can only browse Oracle BPM projects using the MDS Browser. You can view project templates when using the create project wizard to create a project. See Chapter 4, "Creating and Working with Projects" for more information.

3.5 Introduction to the Oracle Business Process Composer Interface

The Business Process Composerapplication contains a single window that provides access to all of the product functionality necessary to create and edit business processes.

Figure 3-6 shows the Business Process Composer application user interface.

Figure 3-6 The Oracle Business Process Composer Application User Interface

The application window is divided into the main areas described in the following sections.

3.5.1 The Application Menu

The menu located in the upper right-hand corner of the application window provides access to general application functionality as described in Table 3-2.

Table 3-2 Application Menu Items

Menu Item

Description

Home

Navigates to the following depending on context:

- From the Business Process Composer administration utility, this link returns to either the Welcome Page or the Oracle BPM project you were viewing previously.

- From a project returns to the main project page.

Administration

Enables access to the Business Process Composer administration utility. This utility enables you to delete projects, reset project locks, and manage security roles.

This link is only visible to users who have been granted the Administrator security role. See Chapter 9, "Performing Administrative Tasks" for more information.

Preferences

Enables you to configure application preferences, including:

- Enable and configure autosave

- Configure Business Process Composer to use your browser's locale settings.

See Section 4.3.4, "How to Configure Project Autosave".

Help

Displays the Oracle Help version of this guide.

Sign Out

Sign out the current user.

3.5.2 The Project Navigator, Project Menus, and the Project Toolbar

Business Process Composer contains three separate UI elements for working with projects.

3.5.2.1 Project Navigator

The project navigator enables you to create and access projects and view and edit project resources.

See Chapter 4, "Introduction to the Project Navigator" for information on using the project navigator and working with projects.

3.5.2.2 Project Menus

Business Process Composer contains two project-specific menus described in Table 3-3.

Table 3-3 Project-related Menus

Menu

Description

Project

Enables you to create, open, and close projects.

Tools

Provides project related tools for validating, exporting, and deploying a project.

3.5.2.3 Project Toolbar

Business Process Composer also contains a separate toolbar for working with projects. This toolbar appears on the right side of the application window. The items displayed depend on the current edit mode of the project.

See Section 4.2, "Introduction to Project Editing and the Project Menu" for more information on the project toolbar and project edit modes.

3.5.3 Editors

Editors allow you to work with various elements of an Oracle BPM project. Editors appear in the center of the Business Process Composer interface. Each editor appears as a tabbed pane, allowing you to open multiple resources at the same time.

The different types of editors available in Business Process Composer are described in the following sections.

3.5.3.1 Process Editor

The process editor enables you to view and edit business processes. You can access the process editor by opening a process from the project navigator.

The editor window also contains a component palette. The exact components available depend on the following:

- In projects based on project templates, the component palette contains BPMN flow objects and elements from the business catalog. This includes services, Human Tasks, and Oracle Business Rules that are defined by the project template.

- In projects containing process blueprints, the component palette only contains BPMN flow objects that can be used within your process.

See Chapter 5, "Working with Processes and the Process Editor" for more information.

3.5.3.2 Activity Guide Editor

The Activity Guide editor enables you to view, create, and edit milestones within an activity guide. You can access the Activity Guide editor by opening a milestone from the Oracle BPM Project navigator. See Section 8.2, "Introduction to the Business Process Composer Rules Editor".

3.5.3.3 Business Rules Editor

The business rules editor enables you to view and edit Oracle Business Rules. You can access the business rules editor by opening a business rule from the project navigator. See Section 8, "Using Oracle Business Rules" for more information.

3.5.3.4 Data Associations Editor

The data associations editor enables you to define the input and output for flow objects that contain implementations. To access the data associations editor, click the Data Associations button in the process editor.

See Section 7.1, "Introduction to Data Objects" for information on using data associations.

3.5.3.5 Expression Editor

The expression editor enables you to define the expressions used within data associations and conditional sequence flows. See Chapter 7, "Introduction to Expressions" for information on using expressions and accessing the expression editor.

3.5.4 Additional Browsers and Editors

Business Process Composer contains additional editors for viewing and editing other project components. These appear in the lower portion of the application window.

Note:
These editors are not displayed by default. They appear after performing actions related to each window. However, you can display them manually by clicking the Restore Pane icon in the lower right corner of the Business Process Composer application.

3.5.4.1 Project and Process Validation Browser

The project and process browsers display any validation errors for each individual process or the whole project. See Section 4.5, "Validating a Project" for more information on project validation.

3.5.4.2 Documentation Editor

The documentation editor enables you create and edit documentation for your processes. See Section 5.4, "Documenting Your Process" for more information.

3.5.4.3 Approval Workflow Browser

The approval workflow browser displays the approval workflow and status when deploying a project to Oracle BPM run time. See Section 4.6, "Introduction to Project Deployment" for more information.

Part II

Using Oracle Business Process Composer

This part describes how to use Business Process Composer to model your business processes. It includes a general overview of the application. It also contains a detailed description of Oracle's BPMN 2.0 implementation.

This part contains the following chapters:

- Chapter 4, "Working with Projects and Project Templates"

- Chapter 5, "Working with Processes and the Process Editor"

- Chapter 6, "Modeling Business Processes with Oracle BPM"

- Chapter 7, "Working with Data Objects and Expressions"

- Chapter 8, "Using Oracle Business Rules"

- Chapter 9, "Performing Administrative Tasks"

4 Working with Projects and Project Templates

This chapter describes how to create and use projects using Oracle Business Process Composer.

This chapter includes the following sections:

- Section 4.1, "Introduction to Oracle BPM Projects"

- Section 4.2, "Introduction to Project Editing and the Project Menu"

- Section 4.3, "Creating and Working with Projects"

- Section 4.4, "Working with Project Templates"

- Section 4.5, "Validating a Project"

- Section 4.6, "Introduction to Project Deployment"

- Section 4.7, "Deploying an Oracle BPM Project to Run Time"

4.1 Introduction to Oracle BPM Projects

Projects are the core element of an Oracle BPM application. A project is a container for the resources used to create and support a business application. These include business processes and shared resources including data objects, services, Business Rules, Human Tasks, and roles.

You can create new projects directly in Business Process Composer or you can create and edit projects based on project templates.

Oracle BPM projects promote collaboration between business users and process analysts. Projects can be shared between Business Process Composer and Oracle BPM Studio or deployed to run time.

See Section 3.2, "Overview of the Application Development Life Cycle" for information on how projects are created, edited and shared within the development life cycle.

4.1.1 Introduction to Project Resources

Each project contains one or more business processes and may include other resources used by the business processes or application. The latter include reusable resources that allow you to connect your application to other applications and systems.

Note:
Oracle BPM Studio enables you to view, create, and edit all elements of an Oracle BPM project. Some of these are not visible from Business Process Composer.
See the Oracle BPM Modeling and Implementation Guide for more information.

4.1.1.1 Editable Project Resources

Using Business Process Composer you can create and edit project resources. These resources are accessible from the Project Navigator as show in Figure 4-1.

Figure 4-1 Oracle BPM Project Navigator

Using the Oracle BPM Project navigator, you can create and edit the following resources:

- Processes
Processes are the core element of a business application. A process is a related set of tasks or activities. An Oracle BPM application can contain one or more processes. Business Process Composer enables you to create and edit BPMN processes.

See Chapter 5, "Working with Processes and the Process Editor" for information on creating and working with processes.

- Activity Guide
An activity guide is part of Guided Business Processes that enables you to define milestones for a project. Each project contains one activity guide where you can define project milestones. Business Process Composer enables you to use milestones previously defined in a project template or create new milestones.

See Section 6.12, "Using Guided Business Processes to Set Project Milestones" for more information on creating and using project milestones.

- Oracle Business Rules
Oracle Business Rules are statements that describe business policies or describe key business decisions. In Business Process Composer, Oracle Business Rules are editable components of a project, but they also appear as part of the business catalog.

See Chapter 8, "Using Oracle Business Rules" for information.

4.1.1.2 The Business Catalog

Project templates may include resources defined in the business catalog. These are reusable services created by process developers using Oracle BPM Studio.

Using Business Process Composer, process analysts can implement these reusable services within a BPM process. Although you cannot create or edit these components in Business Process Composer, you can assign them to specific BPMN artifacts.

Reusable project resources are accessible from the component palette.

The reusable resources in the business catalog are:

- Human Tasks
See Section 6.3, "Adding User Interaction to Your Process" for more information on using human tasks within an Oracle BPM process.

- Oracle Business Rules
Oracle business rules are statements that describe business policies or describe key business decisions. Business rules are integrated into a process using the business rules task.

See Chapter 8, "Using Oracle Business Rules" for information on working with Oracle Business Rules using Business Process Composer. See Section 6.5.2, "Introduction to the Business Rules Task" for more information on using the business rules task within a BPMN process.

- Services
Services are reusable components that allow your business process to communicate with other processes and system resources including Oracle Adapters.

4.1.2 Introduction to the Oracle BPM MDS Repository

Oracle Metadata Service (MDS) repository is a component of Oracle Fusion Middleware that stores information about deployed applications. Oracle BPM uses this repository when applications are deployed to Oracle BPM run time.

Additionally, Oracle BPM also uses a partition in the MDS Repository to share projects and project templates between Oracle BPM Studio and Business Process Composer.

The Oracle BPM Metadata Services repository is installed and configured by your system administrator when installing Business Process Composer.

See Section 3.2, "Overview of the Application Development Life Cycle" for more information on how MDS is used to share projects and project templates between Oracle BPM Studio and Business Process Composer.

See Section 4.6, "Introduction to Project Deployment" for more information on how open projects and create projects based on project templates stored in MDS.

4.2 Introduction to Project Editing and the Project Menu

Business Process Composer enables you to view projects in the Oracle BPM Metadata Service (MDS) repository. When you must edit a project, you can lock a project so that other users cannot edit the project while you are making changes.

There are three possible modes related to editing for an Oracle BPM project:

- Normal: The project can be opened for viewing.

- Edit: The project is being edited by the current user. To other users, the project appears locked to other users.

- Locked: The project is being edited by another user.

4.2 Introduction to the Oracle BPM Metadata Service (MDS) Browser

The Oracle BPM MDS browser enables you to navigate the directories and projects published to the Oracle BPM Metadata Service partition. Figure 4-2 shows the MDS browser displaying several project folders and published projects.

Figure 4-2 The Oracle BPM Metadata Service (MDS) Browser

4.2.1 Introduction to the Project Navigator

The project navigator enables you to create and access projects and view and edit project resources.

Figure 4-3 shows the project navigator with the resource tree expanded.

Figure 4-3 Project Navigator.

The project navigator is divided into three main areas as described in Table 4-1.

Table 4-1 Project Navigator

Area

Description

Project List

Provides a drop-down list of available projects. This list is based on the security roles assigned to you.

Processes

Displays the processes within the current project.

Activity Guide

Displays the milestones defined in the activity guide for this project.

Business Rules

Displays the business rules defined for this project.

4.2.2 Introduction to the Project Menu

Business Process Composer contains different project menus. The items available from the menu depend on the current edit state.

4.2.2.1 Normal Mode

Figure 4-4 shows the appearance of the project toolbar in normal mode.

Figure 4-4 The Project Toolbar in Normal Mode

Table 4-2 Project Toolbar Items in Normal Mode

Toolbar Item

Description

Shared / Private

Displays whether the project is shared or private. This option is unavailable until you select the edit option.

Read-Only

Contains a drop-down menu item that enables you to change your project to Edit mode. When you select Edit, the project is locked in the Oracle MDS repository and you can begin making changes.

The project lock is maintained until one of the following occur:

- You publish your changes to MDS.

- You discard your changes

- An administrator resets the project lock.

Repository

Contains a drop-down menu item that enables you to refresh the Oracle BPM MDS repository.

4.2.2.2 Edit Mode

Figure 4-5 shows the appearance of the project toolbar in edit mode.

Figure 4-5 The Project Toolbar in Edit Mode.

Table 4-3 describes each of these toolbar items.

Table 4-3 Project Toolbar Items in Edit Mode

Toolbar Item

Description

Validate

Validates the project. Any errors are displayed in the error browser.

Save

Saves all of the edited project resources. The project remains locked so that you can continue making changes.

Shared / Private

Displays a drop-down menu that enables you to toggle between shared or private editing modes.

Editing

Displays a drop-down menu containing the following options:

- Discard: Discards any changes you have made since the last saved version. The lock is reset and other users can lock and edit the project.

- Publish: Publishes the project to the Oracle BPM MDS. The lock is reset and other users can lock and edit the project.

Repository

Displays a drop-down menu that contains the following options:

- Refresh: Refreshes information about the project from the Oracle BPM MDS repository.

- Discard: Discards any changes you have made since the last saved version. The lock is reset and other users can lock and edit the project.

- Publish: Publishes the project to the Oracle BPM MDS. The lock is reset and other users can lock and edit the project.

4.3 Creating and Working with Projects

The following sections describe how to create and use Oracle BPM projects.

4.3.1 How to Create a New Project

Using the project navigator, you can create a new Oracle BPM project. Before creating a new project, you should decide whether to create it based on an existing project template or to create a process blueprint.

Process blueprints are not based on project templates. These projects contain only basic business processes created by process analysts. After you create a project blueprint, you can use Oracle BPM Studio to finish the project implementation to publish the project or create project templates.

To create a new project:

1. Start Oracle Business Process Composer.

2. From the Project menu select Create New Project.

3. Select the type of project you want to create. This can be a project based on a project template or a process blueprint.
See Section 4.4, "Working with Project Templates" for more information.

If you are creating a project based on a project template, select the appropriate template.

4. Click Next.

5. Enter a name for your new project.

6. If desired, select from the following options:

- Enable Sharing: Enables other users to view your project in Oracle BPM MDS. If you do not enable sharing, you can still publish your project manually to BPM MDS.

- Begin Editing Now: Locks the project after creation allowing you to begin editing the project. Other users cannot view your changes or edit the project until you publish it to BPM MDS.

7. Click Next.

8. Select the destination directory in the Oracle BPM Metadata Services partition where you want to create the project, then click Next.

9. Specify the deployment options for this project.
Use Workflow for Approval: Requires workflow approval before a project can be deployed.

Specify Users or Groups: Determines the users or groups who must approve project deployment.

Note:
You can only specify workflow approval when creating a new project. You cannot change this setting after the project is created.

See Section 4.6.2, "Introduction to Approval Routing" for more information on approval workflow.

10. Click Finish.

If you created a new project based on a template, the project is created with the required processes and business catalog elements. If you created new project without using a template, you must manually add the required processes.

See Chapter 5, "Working with Processes and the Process Editor" for information on creating and editing processes.

4.3.2 How to Open a Project Using the Project Browser

Business Process Composer enables you to open projects that are stored within the Oracle BPM Metadata Service repository.

To open a project using the project browser:

1. From the Project menu select Open Project.

2. Select the type of project you want to open using the project navigator as shown in Figure 4-6.

Figure 4-6 Oracle Business Process Composer Project Browser

Projects: Projects that are stored in the Oracle BPM Metadata Service repository.

Deployed Projects: Projects that have been deployed to Oracle BPM run time.

Opening a deployed project enables users to edit Oracle Business Rules at run time. This option is only available if you have been granted the SOADesigner security role. See Section 8.4, "How to Edit the Oracle Business Rules at Run Time" for more information.

3. Select the project you want to open, then click OK.

4. After the project opens, select the Read Only drop-down menu from the project toolbar, then select Edit to begin editing.

4.3 How to Save Changes to a Project

You can manually save a private copy of your changes as you are editing a project.

To save changes to the current project:

1. Click Save in the process editor toolbar.

All unsaved changes for each project component are saved. The project continues to be locked and you can continue editing.

4.3.3 How to Publish a Project to the Oracle BPM Metadata Service Repository

Business Process Composer enables you to publish projects to the Oracle BPM Metadata Service (MDS). Publishing a project enables you to share it with other Oracle BPM users.

To publish a project

1. Select Publish from the Repository.

After publishing a project, your changes are saved in the Oracle BPM MDS repository and the project lock is reset. If project sharing is enabled, other Business Process Composer and Oracle BPM Studio users can view and edit the project.

4.3.4 How to Configure Project Autosave

You can configure Business Process Composer to automatically save a project after a specific interval.

To configure autosave:

1. Click Preferences in the Business Process Composer toolbar.

2. Select the Autosave check box to enable autosave functionality

3. Enter a value in the Autosave Interval field.

4. Click OK.

Note:
Autosave is configured for the entire project. All edited project elements are saved at the same time when autosave is configured.

4.3.5 How to Discard Changes to a Project

While editing project elements, you can revert your changes and return to the most recent published version of a project.

To discard changes made to the current project:

1. Select Discard from the Edit menu.

2. Click OK to confirm discarding changes to the current project.

Note:
After discarding your changes they cannot be recovered.

4.3.6 How to Export a Project to Your Local File System

Projects exported from Business Process Composer can be imported into Oracle BPM Studio. Exporting a project is useful when you have created a project containing process blueprints that must be sent to a process developer for implementation.

Exporting a project to your local file system enables you to share projects without using the Oracle BPM MDS repository.

For information on importing a project into Oracle BPM Studio see the Oracle BPM Modeling and Implementation Guide.

To export a project

1. Open the project you want to export

2. From the Tools menu, select Export Project.

3. Choose a location on your local file system and click Save.

Your exported project is saved as a .EXP file on your local file system.

4.4 Working with Project Templates

Project templates allow you to incorporate reusable Oracle SOA and Oracle BPM Suite services including Human Tasks, Business Rules, and Adapters. These services are stored as part of the business catalog and are viewed using the component catalog.

Using Oracle BPM Studio you can convert a normal project to a template and publish it to the BPM MDS. Once a template is available in MDS, you can create new projects based on the template.

See the Oracle BPM Modeling and Implementation Guide for more information on creating process templates.

Project templates are based on normal Oracle BPM projects, but often do not have all of the required services implemented. After creating a new project based on a project template, a business analyst can implement the required services from the business catalog.

The specific services required for each activity are defined by the editor policies of the project template. After the process analyst incorporates the required services, the project can be deployed to Oracle BPM run time.

4.4.1 Introduction to Edit Policies

Project templates also allow you to define edit policies for processes and flow objects within a process. Edit policies determine what parts of a process can be changed or edited when creating a new project based on a project template. Edit policies are defined for the entire process. However, you can also define edit policies for individual flow objects.

See the Oracle BPM Modeling and Implementation Guide for information on defining edit policies in a process template.

Edit policies allow the creator of a project template to define what elements of a process can and cannot be changed when a project is created from a template.

Note:
You cannot change the edit policy settings of processes and elements using Business Process Composer.

4.4.1.1 Process Level Edit Policies

Within a project template, each process contains an edit policy which determines the changes you can make to the process using Business Process Composer.

Table 4-4 describes the process level edit policies.

Table 4-4 Process Level Edit Policies

Edit Policy

Description

Activity Sealed

User cannot make any changes to the activities within the process.

Flow Sealed

The overall flow of the process cannot be changed. A user can edit specific implementation details, but cannot change the process flow

4.4.1.2 Component Level Edit Policies

Within a process, there are also edit policies that apply to the flow objects within a process. Component-level edit policies can be configured for the tasks and activities in a process.

Table 4-5 describes the edit policies values that can be configured for component level edit policies.

Table 4-5 Component Level Edit Policies

Edit Policy

Description

Sealed

The component cannot be modified

Can modify implementation

The user may redefine this component if necessary.

Must implement

The user is required to implement this component for it to function correctly.

Use process permission

Uses the default edit policy defined by the process.

4.4.2 Using Data Objects and Variables in Project Templates

A project template defines the data objects used within a project. These can be the Oracle BPM default types or complex data objects created by process template developers within Oracle BPM Studio.

When editing a process template in Business Process Composer, you can add and create new data objects as necessary. However, you can only create new data objects based on types that are previously defined in the project template. You cannot create new types of complex data objects.

You can use any of the data objects defined in a project template in data associations and expressions. See Section 7, "Working with Data Objects and Expressions" for more information.

4.5 Validating a Project

Project validation enables you to check your project for any errors. When you validate a project, errors are displayed in the errors panel.

4.6 Introduction to Project Deployment

You can use Business Process Composer to deploy a project to the Oracle BPM run time. Deployment is available only within the same environment where the Business Process Composer application is installed.

The deployment option is only available for projects that were created based on project templates. These projects have the required implementation. After a process analysts makes the changes required by the edit policies defined in the project template and validates the project, it is ready for deployment.

4.6.1 Introduction to the Deployer Security Role

Business Process Composer uses the Deployer security role to allow process analysts and developers to deploy projects directly to Oracle BPM run time. When a user is assigned the Deployer security role, the Deploy Project option is available from the Tools menu.

You can assign this security role to users or groups using the Business Process Composer administration tool. See Section 9.1, "Managing Security Roles Using Business Process Composer" for more information.

Additionally, users who are assigned the Deployer security role in Business Process Composer must also be granted one of the following SOA infrastructure application roles:

- SOAAdmin

- SOAOperator

Business administrators can assign these application roles using the Oracle Enterprise Manager. See the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle BPM Suite for more information.

4.6.2 Introduction to Approval Routing

Approval routing defines the approval process that must be followed before an Oracle BPM Project can be published to run time using Business Process Composer. You can define the required approval routing when you create a new project using Business Process Composer.

Note:
Approval routing is defined when you create a new project. After creating a project, you cannot change the type of approval routing.

Table 4-6 describes the different types of approval routing available in Oracle BPM.

Table 4-6 Approval Routing

None

No approval routing is specified. Any user granted the deployer security role can deploy the project directly to Oracle BPM run time.

Simple

Specifies only one approver for the workflow.

Simple Sequential

Specifies a sequential list of approvers.

Simple FYI

Specifies multiple approvers, but the approval workflow does not wait for all approvers to process the task.

Parallel

Specifies a list of approvers who must approve the project deployment concurrently and in parallel.

4.7 Deploying an Oracle BPM Project to Run Time

Business Process Composer enables you to deploy a project to Oracle BPM run time. There are two ways of deploying a project described in the following sections.

4.7.1 How to Deploy a Project to Oracle BPM Run Time

Users who are assigned the deployer role can deploy projects directly to Oracle BPM run time. The deployer role does not require approval from other BPM users. The following procedures define how to deploy a project when approval workflow is not enabled.

To deploy a project to run time:

1. From the Tools menu select Deploy Project.
Business Process Composer validates the project. If there are no errors in the project, the deployment process continues.

2. Provide the required information in the Deploy Project dialog shown in Figure 4-7.

Figure 4-7 The Deploy Project Dialog

The properties in the Deploy Project dialog are described in the following table.

Table 4-7 The Deploy Project Dialog Properties

New Revision ID

Specifies a revision ID for the deployed application.

Deployer Username

Used for deploying the Oracle BPM project to run time. The username specified here is defined by the SOA infrastructure. It is not related to the username used to access the Business Process Composer application. See Section 4.6.1, "Introduction to the Deployer Security Role" for more information.

Password

Specifies the password corresponding to the Deployer Username defined above.

3. Click Deploy.

The project is deployed to Oracle BPM run time. The project is available from the list of deployed projects in the project browser.

4.7.2 How to Deploy a Project Using an Approval Workflow

When you create a new project, Business Process Composer enables you to specify an approval workflow. This workflow defines the users who must approve a project before the project is deployed to Oracle BPM run time.

Note:
This deployment option is only available if approval workflow was enabled when the project was created. See Section 4.3.1, "How to Create a New Project" for more information.

To deploy a project using approval workflow:

1. From the Tools menu select Deploy Project.
Business Process Composer validates the project. If there are no errors in the project, the deployment process continues.

4.7 How to Edit a Deployed Project

You can use Business Process Composer to open deployed Oracle BPM projects. Opening a deployed project enables you to edit the Oracle Business Rules contained in the project and deploy your changes back to Oracle BPM run time.

See Section 8.4, "How to Edit the Oracle Business Rules at Run Time" for more information on editing Oracle Business Rules at run time.

4.7.3 How to Export a Project as a SAR File

You can export a project as a SAR file from Business Process Composer. Your system administrator can use this file to deploy a project using the Oracle Enterprise Manager administration console.

To export a project as a SAR file:

1. From the Tools menu select Export as SAR file.

2. Enter a revision ID, then click OK.
Business Process Composer validates the project. If the project contains errors, these are displayed in the project validation tab.

See Section 4.7.3, "How to Export a Project as a SAR File" for more information on validating your project and correcting validation errors.

3. If the project contains no errors, click OK to save the SAR file to your local file system.

5 Working with Processes and the Process Editor

This chapter provides information about creating and using business processes in Oracle BPM. It provides a general introduction to business processes and describes the process editor window. It also provides procedural information for creating and using processes.

See Chapter 6, "Modeling Business Processes with Oracle BPM" for information on using Business Process Management Notation (BPMN) to design a business process.

This chapter includes the following sections:

- Section 5.1, "Working with Processes"

- Section 5.2, "Introduction to the Process Editor"

- Section 5.3, "Working with Flow Elements"

- Section 5.4, "Documenting Your Process"

5.1 Working with Processes

This section provides information about creating and using business processes in Business Process Composer.

5.1.1 Introduction to Business Processes

A business process can be generally defined as a sequence of tasks that after it performed result in a well-defined outcome.

Business processes are the core components of process-based business applications created with the Oracle BPM Suite. Although projects are higher level wrappers that contain all the resources of a business application, the processes within the project determine how the application works.

This flow is defined by various BPMN flow objects.

Business processes are generally created by process analysts who determine the business requirements that must be addressed and define the corresponding process flow.

5.1.1.1 Types of Processes

Business Process Composer enables you to create different types of BPMN processes depending on what work the process must perform. Table 5-1 describes the different types of processes supported by Oracle BPM.

Table 5-1 Process Types

Process Type

Description

Synchronous Service

Synchronous services are processes that can be invoked from other processes or services synchronously. In a synchronous service, the calling process waits until the process completes before continuing.

Asynchronous Service

Asynchronous services are processes that can be invoked from other processes or services asynchronously. In an asynchronous service, the calling process does not wait until the process completes before continuing.

Manual Process

Manual processes are processes that require user interaction. Manual processes begin and end with none start and end events.

See Section 6.2.1.1, "Default Start Events for Process Patterns and Subprocesses" for information on the default start and end events used for each process types.

5.1.2 How to Create a New Business Process

Business processes are created within an Oracle BPM project. You can add one or more processes to your project.

To create a new business process

1. Open your project.

2. Select Edit from the project toolbar.

3. In the project navigator, right-click Processes, then select New then Process.

4. Select the type of process you want to create. See Section 5.1.1.1 for more information on process types.

5. Enter a name and optional description.

6. Click Ok.

The new process is opened in the process editor.

New business processes are created with a start and end event connected by a default sequence flow. The type of start and end events depend on the type of process you created.

See Section 6.2, "Defining the Start and End Point of a Process" for more information.

5.1.3 How to Open a Business Process

After opening an Oracle BPM project, you can open any of the processes it contains. Processes are opened in the process editor window.

To open a business process

1. Open your project.

2. Expand the Processes node in the project navigator.

3. Double-click the process you want to open.

The process opens in the process editor window. Before you can begin editing the process, you must ensure that you have locked the project.

5.1.4 How to Delete a Business Process

You can delete processes from your project. However, you should ensure that there are no remaining references to the deleted process elsewhere in your project.

To delete a business process for a project:

1. Open your project.

2. Expand Processes in the Project Navigator.

3. Right-click the process you want to delete, then select Delete.

5.1.4.1 What You Need to Know About Deleting a Business Process

When you delete a business process from a project, you must ensure that you remove any references to it from other parts of your process.

For example, if the deleted process was invoked from another process through a message throw event, you must ensure that you have reconfigured the invoking process so it is no longer referring to the deleted process.

5.2 Introduction to the Process Editor

The process editor is a graphical editor that enables you to create business processes by adding BPMN flow objects. You can drag BPMN flow objects from the component palette to the process editor.

Figure 5-1 shows the process editor window.

Figure 5-1 The Process Editor Window

You can open multiple processes simultaneously in Business Process Composer. Each process opens in its own tab within the editor window.

The different areas of the process editor are described in the following sections.

5.2.1 The Process Editor Toolbar

The process editor window contains a toolbar enabling access to the Business Process Composer features described inTable 5-2.

Table 5-2 Process Editor Menu

Menu Item

Description

Undo

Reverts the last change made to your process.

Redo

Reverses the last undo action you performed.

Delete

Deletes the selected element from the process.

Add to Milestone

Enables you to add the selected user task to a milestone.

Autolayout

Automatically adjusts the layout of your process.

Print

Prints the process using your browser's printer setup.

Data associations

Displays the data associations editor. This button is only available when creating a project based on a template that has data objects defined.

Select

Enables you to select a flow object in the process editor.

Activity drop down menu

Enables you to select from the list of BPMN activities. This is useful when you are adding multiple flow objects of the same type.

Gateway drop-down menu

Enables you to select from the list of BPMN gateways. This is useful when you are adding multiple flow objects of the same type.

Event drop-down menu

Enables you to select from the list of BPMN events. This is useful when you are adding multiple flow objects of the same type.

Sequence flow drop-down menu

Enables you to select from the list of BPMN sequence flows and boundary events. This is useful when you are adding multiple flow objects of the same type.

Zoom slider

Zooms in and out of your process.

5.2.2 The Process Editor Canvas

The process editor canvas is the central area of the process editor window. It enables you to create the graphical representation of your process using BPMN flow objects. In addition to a process flow, the process editor canvas also displays swimlanes.

5.2.3 The Component Palette

The component palette appears within the editor window and enables you to add BPMN sequence flows and business catalog elements to your process. It enables you to drag and drop artifacts to the process editor window.

Note:
The component palette is only available after you enter edit mode for the project.

The component palette contains different panels that are described in the following sections.

5.2.3.1 Basic Flow Elements

This panel enables you to select frequently used BPMN flow elements.

5.2.3.2 BPMN Flow Elements

This panel enables you to select all BPMN flow elements.

5.2.3.3 Business Catalog

This panel enables you to select reusable services from the business catalog. See Section 4.1.1.2, "The Business Catalog" for more information.

These services are grouped according to the following categories:

- Services

- Human Tasks

- Oracle Business Rules

Note:
Business catalog components cannot be created or edited using Business Process Composer. They are created in Oracle BPM Studio and included as part of a project template.
When creating a project based on a project template you can use Business Process Composer to assign reusable services from the business catalog to the corresponding flow objects.

5.3 Working with Flow Elements

This section describes the basic mechanics of using the process editor to add flow elements to a process. See Chapter 6, "Modeling Business Processes with Oracle BPM" for information on designing your business process using BPMN 2.0.

5.3.1 Adding a Flow Element from the Component Palette

You can add flow elements to your process by dragging and dropping them from the component palette into your process.

5.3.2 Adding a Flow Element from a Component Menu

The process editor window provides four separate drop-down menus that allow you to select the BPMN flow object you want to add to a process. The component drop-down menus enable you to add multiple flow elements of the same type quickly.

For example, if you know must add multiple user tasks to a process, you can select it from the component menu and add them to a process. You do not have to drag and drop each one from the component palette.

To add a flow element from a component menu:

1. Open the process where you want to add flow elements.

2. Ensure you have selected Edit from the project menu.

3. Select the flow object you want to add from drop-drop down menus.
The cursor shows the icon associated with the type of flow object.

4. Position the cursor to the point in your process where you want to add the flow object, then right-click.

5.3.3 Adding Sequence Flows to a Process

Sequence flows define the order or sequence that the work is performed within a process. For more information see Section 6.6, "Controlling Process Flow Using Sequence Flows".

To add sequence flows to your process:

1. Open your process.

2. In the component palette select BPMN Flow Elements.

3. Expand Sequence Flows.

4. Click and drag from component palette to the activity from where the sequence flow originates.

5. Click the mouse, then drag the end arrow over the activity to where the sequence flow connects.

6. Click the mouse again.

5.3.4 Deleting a Flow Element

You can delete flow elements from a BPMN process.

To delete a flow element from a process:

1. Click the Select tool.

2. Select the flow element you want to delete.

3. Click the Delete button.

5.3.4.1 What You Need to Know About Deleting a Flow Element

When you delete a flow object from a process, the incoming and outgoing sequence flows are also deleted. When you delete a flow element, any configuration changes you have made are lost.

5.3.5 Adding Tasks Directly from the Business Catalog

Business Process Composer enable you to easily add tasks by dragging business catalog elements from the component catalog.

The tasks that you can add are:

- Business rules task

- Service task

- User task

To add a task based on a business catalog component:

1. Open your process

2. In the component catalog, navigate to the Business Catalog

3. Expand the node of the type of catalog component you want to add.

4. Click and drag the catalog component to the process editor canvas.

5. Configure the appropriate data associations.

6. Click Apply

7. Connect the necessary sequence flows to the new task.

To associate a catalog component to an existing task

1. Open your process.

2. In the component catalog, navigate to the Business Catalog.

3. Expand the node of the type of catalog component you want to add.

4. Click and drag the catalog component over the task.

5. Configure the appropriate data associations.

6. Click Apply.

5.4 Documenting Your Process

Oracle BPM enables you to create documentation for your process using the documentation editor. You can added documentation for an entire process or for individual flow objects within a process.

Oracle BPM enables you to create two separate types of documentation:

- Normal: Documentation that is available to end users of your process using the Oracle WorkSpace application.

- Use Case: Documentation used to make your process more understandable to other process analysts and developers who may revise you process later. It is also useful when creating project templates.
You can define use-case documentation for each of the activities, events, and gateways within your process.

Note:
You cannot create documentation for sequence flows or measurement marks.

5.4.1 Introduction to the Documentation Editor

The documentation editor contains a toolbar and editor pane that enables you to enter the documentation for your process.

Figure 5-2 The Documentation Editor

5.4.1.1 Inserting Links in Your Documentation

When adding links in your documentation, you should include a full URL as part of the link. For example, you should refer to external links as http://www.oracle.com, instead of just www.oracle.com.

5.4.2 How to Add Documentation to Your Process

Business Process Composer enables you to add documentation to your processes and the flow objects within your processes.

To add documentation to a process:

1. Open the process where you want to add documentation.

2. Click Restore Pane to display the documentation editor. The Restore Pane icon is located in the lower right corner of the Business Process Composer user interface.

3. Click the Documentation tab, then select the tab for the process.

4. Select the type of documentation you want to create from the Documentation Type drop-down menu.

5. Enter your documentation in the editor window.

6. Click Apply to save your changes. Click Apply to save your changes.

Note:
You should apply your changes before selecting another process or process element. If you navigate away from the documentation editor before applying your changes, they are not saved.

To add documentation to a specific flow object within a process:

1. Open the process where you want to add documentation.

2. Right-click the flow object where you want to add documentation, then select Documentation.

3. Select the type of documentation you want to create from the Documentation Type drop-down menu.

4. Enter your documentation in the editor window.

5. Click Apply to save your changes.

Note:
You should apply your changes before selecting another process or process element. If you navigate away from the documentation editor before applying your changes, they are not saved.

6 Modeling Business Processes with Oracle BPM

This chapter describes how to use create and model business processes using Business Process Management Notation and Modeling (BPMN) within the Oracle Business Process Management Suite.

This chapter provides specific information on about Oracle's implementation of BPMN 2.0. See Chapter 2, "Overview of Business Process Design" for a general introduction to BPMN using the Sales Quote example project. For general information about BPMN, including the formal specification, see http://www.bpmn.org.

This chapter is organized around different types of tasks your business process must perform. It includes the following sections:

- Section 6.1, "Using Swimlanes to Organize Your Process"

- Section 6.2, "Defining the Start and End Point of a Process"

- Section 6.3, "Adding User Interaction to Your Process"

- Section 6.4, "Communicating With Other Processes and Services"

- Section 6.5, "Adding Business Logic Using Oracle Business Rules"

- Section 6.6, "Controlling Process Flow Using Sequence Flows"

- Section 6.7, "Controlling Process Flow Using Gateways"

- Section 6.8, "Controlling Process Flow Using Intermediate Events"

- Section 6.9, "Using Subprocesses to Organize Your Process"

- Section 6.10, "Changing the Value of Data Objects in Your Process"

- Section 6.11, "Measuring Process Performance Using Measurement Marks"

- Section 6.12, "Using Guided Business Processes to Set Project Milestones"

6.1 Using Swimlanes to Organize Your Process

This section shows you how to organize your process using swimlanes. It also describes how to use roles to determine which members of your business organization are responsible for performing the work of your process-based application.

6.1.1 Introduction to Roles

A key to designing a business process is determining the people/roles required to complete each of the tasks that require user interaction. Within your process, roles are used to model who is responsible for performing the work performed within your business processes. Roles allow you to define functional categories that represent job functions or responsibilities within your organization.

The roles defined in you process are also referred to as logical roles. When your Oracle BPM project is deployed to the run time environment, these roles are mapped to LDAP roles that correspond to the users in your real-world organization.

Roles are assigned to the horizontal swimlanes that display the roles responsible for completing activities and tasks within your process. Business Process Composer enables you to create and edit the required roles within your process and assign them to swimlanes.

Using Oracle BPM Studio, you can also map roles to specific users using LDAP. Oracle BPM Studio also enables you to create more robust organizational models using organizational units, calendars, and holidays.

6.1.1.1 Roles in Context

Process analysts are generally responsible for determining what roles are required when designing a business process.

The Sales Quote example project defines the following roles:

- Sales Rep: Sales representatives are responsible for creating and updating a sales quote until is approved by the other roles defined in the project.

- Approvers: Represent users who are responsible for approving the combination of products and pricing structure defined by the sales quote.

- Business Practices: Represent users who are responsible for viewing and approving the sales quote. Additionally, they have the authority to add additional approvers during the review of the sales quote.

- Contracts: Represent users who are responsible for approval of the terms specified in the sales quote and also for creating the formal legal documents that can be forwarded to the customer.

See Chapter 2, "Introduction to the Sales Quote Example Project" for more information on the Sales Quote example project.

6.1.2 Introduction to Swimlanes

Swimlanes are used for grouping flow objects based on the roles defined within your process. Swimlanes visually display the role responsible for performing each flow object within your process. Swimlanes are defined by the horizontal lines that run across the process editor.

Each swimlane is associated with a role, however you can have multiple swimlanes that are assigned to the same role. Swimlanes can make your process more readable when you must use the same role in different parts of the same process.

All flow objects must be placed within a swimlane.

When you create a new process, Oracle BPM Studio and Business Process Composer create a default swimlane. You can add additional swimlanes to your process as necessary. When adding interactive and manual activities to a process, you must assign a role to the swimlane.

When you create a new manual process, you must specify a role as part of the wizard for creating the process.

Note:
You cannot remove the role for a swimlane that contains a start or end event.

6.1.2.1 Swimlanes in Context

Figure 6-1 shows a simple process split across multiple swimlanes. In this example, the SalesRep role is assigned to the first swimlane. Because the Enter Quote user task appears inside this swimlane, process participants assigned to the SalesRep role are responsible for performing this task.

Figure 6-1 A Simple Business Process Split Across Two Swimlanes

In a real-world business process, the combination of swimlanes and flow objects within them can be complex. The Sales Quote example project, as shown in Figure 2-1, is an example of a more complex process using multiple swimlanes.

6.1.3 Adding Roles and Swimlanes to Your Process

You can add roles and swimlanes to your BPMN process.

To add a new swimlane and role to your process:

1. Open the process where you want to add a swimlane.

2. From the component palette, select a flow object, then drag and drop it on the process canvas below an existing swimlane.

The new swimlane is created. If you added a user or manual task, the swimlane contains a default role name.

6.1.4 Sharing Roles Between Business Process Composer and BPM Studio

Oracle BPM Studio enables you to integrate roles within a complex organization models based on organizational units, calendars and holidays.

When editing a project or creating a project based on a project template in Business Process Composer, you can access the roles defined within the project. However, you cannot view or edit the organizational information defined within the project.

Additionally, you can create new roles using Business Process Composer. These roles are incorporated as part of the overall organization information of the project.

6.2 Defining the Start and End Point of a Process

This section describes the BPMN flow objects used to define the start and end of process.

6.2.1 Introduction to Start and End Events

Start events are BPMN flow objects that define the starting point of a process.There are different types of start events that determine how process instances are created.

End events, in contrast define the end point of a process. There are different types of end events that determine what happens when the process instance is completed.

Note:
In Oracle BPM, all BPMN processes must have at least one start and one end event.

Since start events define the beginning of a process, they do not have incoming sequence flows. Likewise, end events cannot have outgoing sequence flows.

However, except the none end and start events, start and end events can have input and output to processes.

6.2.1.1 Default Start Events for Process Patterns and Subprocesses

When you create a new process Oracle BPM Studio and Business Process Composer create a default start and end event. The type of start and end event created depends on the type of process you are creating.

Table 6-1 shows the default start and end events for each process pattern.

Table 6-1 Default Start and End Events for Each Type of Process

Process Type

Default Start and End Event Types

Default process (Oracle BPM Studio only)

Message start and end event

Asynchronous service

Message start and end event

Synchronous service

Message start and end event

Manual process

None start and end event

See Section 5.1, "Working with Processes" for more information on the different types of processes supported by Oracle BPM.

Subprocesses contain none start and end events by default. These are the required start and end events and cannot be changed.

Event subprocesses contain a message start and none end event by default. However, you can change the start event to reflect the type of event you are handling.

6.2.1.2 Defining How a Process Instance is Triggered

Oracle BPM supports the following ways of triggering a process instance:

- Using a message, signal, or timer start event.

- Using a none start event followed by a receive task. The receive task must be configured to create a process instance.

- Using a none start event followed by a user task defined with the initiator pattern.

6.2.1 Using Multiple Start Events in a Process

You can define multiple start points in a BPMN process. Multiple start points enable you to specify multiple ways of creating a process instance, depending on which start event is used.

Figure 6-2 shows an example process that contains both a message start and timer start event.

Figure 6-2 Using Multiple Start Events within a Process

This process can be started using a message event when called from another process or service. It can also be started based on a time interval if the process instance must be created automatically.

Using multiple start events enables you to have multiple ways of starting a process without having to create two separate processes.

6.2.1.3 Using Multiple End Events in a Process

End events mark the end of a process path. When you have only one end event in your process and the token reaches the end event, the process is terminated when the end event is reached.

When you are using multiple ends it is possible for different tokens to take different paths within a process. In normal cases, all parallel paths must reach an end event before the process is completed.

However, in the following special cases, a process instance can be terminated before all process paths have completed:

- Error end event: When an error end event is reached, all process activity is stopped. Like the error throw event, the error end event stops the flow of a process. See Section 6.2.6, "Introduction to the Error End Event" for more information.

- Terminate end event: The terminate end event causes all work on a process to stop immediately. There is no error handling or other clean up of the running process. See Section 6.2.8, "Introduction to the Terminate End Event" for more information.

6.2.2 Introduction to the None Start Event

The none start event is used when no instance trigger is specifically defined. Process analysts can use the none start event as a placeholder when the necessary start event of a process is unknown or is defined and implemented later by process developers.

Figure 6-3 shows the default notation for the none start event

Figure 6-3 The None Start Event

None start events are also used to specify the beginning of a process where the process instance is created by another flow object. In general, the none start event does not trigger a new process instance.

However, when used with the following, the none start even does trigger a new process instance:

- Receive task. The receive task must have the Create Instance property set to true.

- User task implemented with the initiator pattern

Like other start events, the none start event cannot have incoming sequence flows. It can only have default out-going sequence flows.

Note:
None events are always used to define the beginning of subprocesses.

6.2.2 The None Start Event in Context

Figure 6-4 shows an example of the none start event within the Sales Quote example project. In this example, the none start event defines the start of the process. Additionally, since the process contains a user task implemented with the initiator pattern, the none start event triggers a process instance.

Figure 6-4 The None Start Event within the Sales Quote Example Process

6.2.2.1 Data Associations

The none start event does not accept process input arguments.

6.2.3 Introduction to the Message Start Event

The message start event triggers a process instance when a message is received. This message can be sent from another BPMN or BPEL process or from a service.

Messages are types of data used for of exchanging information between processes. Just as data objects are used to define the data used within a project, messages are used to define the data used between processes or between a process and a service.

Figure 6-5 shows the default notation of the message start event.

Figure 6-5 The Message Start Event

Like other start events, the message start event cannot have incoming sequence flows. Message start events require a default outgoing sequence flow.

You can exposed a BPMN process as service which enables other processes and applications to invoke the process. To expose a process as a service, your process must begin with a message start event. For more information see "Communicating with Other BPMN Processes and Services" in the Oracle BPM Modeling and Implementation Guide.

6.2.3.1 The Message Start Event in Context

Figure 6-6 shows a modified version of the Sales Quote process. Here, the process begins with a message start event which initiates the process instance.

Figure 6-6 The Message Start Event within the Sales Quote Example Process

6.2.3.2 Using Process Input and Output Arguments

The message start event enables you to specify input and output arguments to a process. These arguments define the message that other processes or services must send to the process during invocation.

6.2.4 Introduction to the Signal Start Event

The signal start event is similar to a message start event in that it is based on communication from another process or service. However, the message start event responds to a message sent to a specific process. In contrast, the signal start event is a response to a signal broadcast to multiple processes.

Signals can be broadcast from a BPMN process using the signal throw event. Using a combination of signal throw and signal start events, you can invoke multiple processes simultaneously.

The signal start and throw events are generally added to a process by process developers. For information on implementing the signal throw event, see "Introduction to Communicating Between Processes Using Signal Events" in the Oracle BPM Modeling and Implementation Guide.

Figure 6-7 shows the default notation for the signal start event.

Figure 6-7 The Signal Start Event

6.2.4.1 The Signal Start Event in Context

The signal start and throw events are generally added to a process and implemented by process developers.

6.2 Introduction to the Timer Start Event

The timer start event triggers the creation of a process instance based on a specific time condition. You can configure the timer start event to trigger a process instance based on the following:

- A specific date and time. For example, a process could be triggered on December 31, at 11:59 PM.

- A recurring interval. For example, a process could be triggered every 10 hours, 5 minutes, 32 seconds.

Figure 6-8 shows the default notation for the timer start event.

Figure 6-8 The Timer Start Event

6.2.5 Introduction to the None End Event

The none end event is used to mark the end of a process path. When a token reaches a none end event, it is consumed. If there are no other tokens within the process instance, the instance is complete.

The none event is used when your process is not required to perform any action after it completes. It can also be used as a place-holder by process analysts, to be changed later during implementation by a process developer.

Figure 6-9 shows the default notation for the none end event.

Figure 6-9 The None End Event

The none end event is always used to mark the end of a subprocess and event subprocess.

6.2.5.1 The None End Event in Context

Figure 6-10 shows an example of the none end event within the Sales Quote example process. In this example, the Sales Quote service task is used to perform the task of saving information about the sales quote to a database.

Figure 6-10 The None End Event within the Sales Quote Example Process

Since no other work must be performed when the token reaches the end of a process, a none end event is used. After all process tokens reach the none end event, the process instance completes.

6.2.6 Introduction to the Error End Event

The end error event is used when your the end of a process is the result of some error condition.

Errors end events are normally used with the error boundary event. The error boundary event is used to alter the process flow based on a specific error. This flow usually ends using an error end event. See Section 6.8.3, "Introduction to the Error Catch Event" for more information on using the error intermediate event.

Figure 6-11 shows the default notation for the error end event.

Figure 6-11 The Error End Event

For information implementing the error end event, see the Oracle BPM Modeling and Implementation Guide.

6.2.7 Introduction to the Message End Event

The message end event is used to send a message to another process or service when the process is completed. The message end event is always used with either a message start event or message catch event.

Note:
When creating a process that has multiple end events, you must ensure that any tokens that reach a message end event were created by a message start. For example, you cannot use a message end event to end a process instance initiated by a timer start.

Figure 6-12 shows the default notation for the message end event.

Figure 6-12 The Message End Event

For information on how implement message throw events, see "Communicating With Other BPMN Processes and Services Using Message Events" in the Oracle BPM Modeling and Implementation Guide.

6.2.8 Introduction to the Terminate End Event

The terminate end event is used to immediately terminate a process. When a terminate end event is reached, the process ends immediately. There is no error handling or additional clean up performed.

6.3 Adding User Interaction to Your Process

Most business applications require interaction from process participants within your organization. This interaction can be as simple as entering information into a form or can involve multiple work flows and multiple users.

This section describes the BPMN flow objects that are used to model how process participants interact with your business processes.

6.3.1 Introduction to 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.

Oracle Human Workflow provides comprehensive support for human participation by providing the following features:

- Human interactions with processes, including assignment and routing of tasks to the correct users or groups

- Deadlines, escalations, notifications, and other features required for ensuring the timely performance of a task (human activity)

- Deadlines, escalations, notifications, and other features required for ensuring the timely performance of a task (human activity)

- Organization, filtering, prioritization, and other features required for process participants to productively perform their tasks

- Reports, reassignments, load balancing, and other features required by supervisors and business owners to manage the performance of tasks

For more information see "Getting Started with Human Workflow" in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

6.3.1.1 Introduction to Human Tasks

Human Tasks are a component of Oracle Human Workflow. Human tasks enable you to interleave human interactions with connectivity to systems and services within an end-to-end process flow. Human tasks are responsible for handling all interactions with users or groups participating in the business process. They do this by creating and tracking tasks for the appropriate users in the organization. Users typically access tasks through a variety of clients, including the worklist application, E-mail, portals, or custom applications.

Human tasks enable process developers to define how process participants interact with process-based applications created using the Oracle BPM and SOA suites.

Using Human Tasks, process developers can define the interface and workflow for end-user interaction by creating the following:

Human Tasks are reusable services that can be used within other processes that require the same UI.

- Roles and assignments

- Deadlines and escalations

- Presentations

Human tasks are created using Oracle BPM Studio.

Note:
Using Business Process Composer, human tasks can be used in projects and project templates created in BPM Studio. You cannot create or edit Human Tasks in Business Process Composer.

6.3.2 Introduction to The User Task

The user task represents a part of your process where a process participant is required to perform work. This can be a simple interaction, such as entering a form, or part of a more complicated workflow that requires input from multiple process participants.

Figure 6-13 shows the default notation for the user task.

Figure 6-13 The User Task

In the Oracle BPM Suite, process participants interact with your business application using the Oracle BPM WorkSpace. The specific user interface elements, including the screens and panels that process participants see, are created using Oracle Human Tasks.

When designing a process, process analysts often only add the user task to a process diagram. Process developers then create the necessary Human Tasks and implement them as part of creating the overall process-based business application.

When a token reaches a user task, the corresponding Human Task is performed. The toke it waits until the Human Task is completed before continuing to the next flow object.

See Section 5.3.5, "Adding Tasks Directly from the Business Catalog" for procedures on how to assign elements from the business catalog to a user task.

For information on how implementing user tasks, see "Using Human Tasks" in the Oracle BPM Modeling and Implementation Guide.

Like other flow objects, the user task may contain incoming and outgoing data associations.

User tasks may also contain incoming and default outgoing sequence flows.

Note:
Using Business Process Composer, you can only assign Human Tasks to User Task that were created as part of a project template in Oracle BPM Studio. You cannot create new human tasks or edit existing ones.

6.3.2.1 The User Task in Context

In the Sales Quote demo process, the Enter Quote task, shown in Figure 6-14, represents the work of entering information about the quote.

Figure 6-14 The Enter Quote User Task

After the end-user enters information about the sales quote the process flow passes through the outgoing sequence flow to the next flow object in the process.

6.3.2 Using Interactive Activities

Oracle BPM Studio enables you to add interactive activities to a process directly from the component palette. Interactive activities are short cuts based on the task routing and approval features of Oracle Human Workflow. See " Getting Started with Human Workflow" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for more information.

Note:
Interactive activities are not available from the Business Process Composer component palette. To model user interaction with Business Process Composer, you can add a generic user task to your process. Interactive activities can later be implemented later by process developers using Oracle BPM Studio.

Table 6-2 shows the interactive activities are available from the Oracle BPM Studio component palette:

Table 6-2 Interactive Activities

Pattern

Description

Complex

Uses a complex routing flow that is defined within the Human Task.

Management

Uses the management chain pattern where the assignee is set to the management chain pattern for the process participant belonging to the group or role assigned to the swim lane.

FYI

Bases assignment on the participant, role, or group defined in the swimlane. Similar to the user interactive activity, but the FYI activity does not wait until completion before continuing.

Group

Uses the group vote pattern. The assignee for the task is automatically set to the role or group associated with the lane. This interactive activity can only be added to swimlanes that are assigned to roles or groups.

Initiator

The initiator pattern is used to create a process instance.

6.3.2.2 Using the User Task in Project Templates

Using Oracle BPM Studio, add Human Tasks to the business catalog. Process analysts can use these in Business Process Composer when working with projects created from project templates.

Note:
You cannot create or edit Human Tasks using Business Process Composer. Human Tasks are created using Oracle BPM Studio

When adding the user task to a project template to be used within Business Process Composer, you should follow these guidelines:

- Process developers must create any required Human Task services within Oracle BPM Studio before using the template in Business Process Composer. Human Tasks can implemented within a user task or this implementation can be performed when editing the project based on the project template.

- However, if the Human Task service is being implemented for user task that is sealed within a project template, you must also perform the implementation before using the project template in Business Process Composer.

6.3.3 Introduction to the Manual Task

The manual task represents a task performed by process participants that is outside of the scope of Oracle BPM. Manual tasks are used as placeholders within your process to show work that is not manage the BPMN service engine at run time. Additionally, manual tasks do not appear in the WorkSpace application.

Note:
Manual tasks are not managed by Oracle BPM. The Oracle BPM run time does not track the start and completion of the manual task.

Figure 6-15 shows the default notation for the manual task.

Figure 6-15 The Manual Task

Manual tasks can only have one default incoming and one default outgoing sequence flow.

Unlike most BPMN flow objects, the manual task does not allow you to manipulate data objects. Data objects associated with the previous flow element are passed through as-is to the next flow element.

6.3.3.1 The Manual Task in Context

In the context of the Sales Quote example process, a manual task could be added for printing and signing a copy of a formal contract as shown in Figure 6-16.

Figure 6-16 Example of a Manual Task

In this example, signing the formal contract is something that you may want to explicitly show as part of your business process. However, since it is not managed by the BPMN Service Engine, a manual task is used.

6.4 Communicating With Other Processes and Services

Oracle BPM enables you to define interactions across business processes within a process-oriented application. The following sections describe the BPMN flow objects used to model communication between processes.

This section describes how to use these flow objects to create process models using Business Process Composer. For information on how to implement these flow objects within a process-based application, see the Oracle BPM Modeling and Implementation Guide.

6.4.1 Introduction to the Service Task

The service task enables you to communicate with other processes and services. Process analysts can add the service task when they know that a process must invoke an external service or process.

Process developers can then implement the necessary services. You can use the service task to invoke the following:

- Other BPMN processes

- BPEL processes

- SOA service adapters

- Mediators that are exposed as services

See Section 5.3.5, "Adding Tasks Directly from the Business Catalog" for information on for procedures on how to assign elements from the business catalog to a service task.

The service task has similar behavior to the send and receive task pair and the message throw and catch event pair. The primary difference is that the service task is used to invoke processes and services synchronously. When the service task invokes a process or service, the token waits at the service task until a response is returned. After the response is received, the token continues to the next sequence flow in the process.

See "Using Service Tasks to Invoke Synchronous Operations in Services and BPMN Processes" in the Oracle BPM Modeling and Implementation Guide for more information on how to implement the service task with these types of processes and services.

Figure 6-17 shows the default notation for the service task.

Figure 6-17 The Service Task

6.4.1.1 The Service Task in Context

Figure 6-18 shows an example of the service task used to save the finalized sales quote to a database.

Figure 6-18 The Service Task within the Sales Quote Example Process

6.4.1.2 Implementing Reusable Services in Project Templates

Oracle BPM enables you to incorporate reusable services in project templates. These services are components of the business catalog.

6.4.2 Introduction to the Send Task

The send task sends a message to a system or process outside the current process. Once this message is sent, the task is complete and running of the process continues to the next task in the process flow.

The send task is frequently paired with the receive task to invoke a process or service and receive a response in return. The send and receive tasks are used to invoke processes and services asynchronously. If you are invoking a process or service synchronously, use the service task.

Note:
The send and receive tasks perform similar functionality to the throw and catch message events. However, you cannot use the send task to invoke a process that is initiated with a message start event.

Figure 6-19 shows the default notation for the send task.

Figure 6-19 The Send Task

For information on implementing the send task to invoke a process or service, see "Using Send and Receive Tasks to Define a Synchronous Operation in a BPMN Process" in the Oracle BPM Modeling and Implementation Guide.

6.4.2.1 The Send Task in Context

See Chapter 6, "Using the Send and Receive Tasks to Communicate Between Processes" for information on using the send and received tasks to communicate between processes.

6.4.3 Introduction to the Receive Task

In contrast to the send task, the receive task waits for a message from a system or process outside the current process. Once this message is received, the task is complete and running of the process continues to the next task in the process flow.

Figure 6-20 shows the default notation for the receive task.

Figure 6-20 The Receive Task

For information on implementing the send task to invoke a process or service, see "Using Send and Receive Tasks to Define a Synchronous Operation in a BPMN Process" in the Oracle BPM Modeling and Implementation Guide.

6.4.3.1 The Receive Task in Context

See Section 6.4.4, "Using the Send and Receive Tasks to Communicate Between Processes" for information on using the send and received tasks to communicate between processes.

6.4.3.2 Starting a Process with the Receive Task

You can use the receive task to trigger the start of a process. This is useful when you want to invoke a process from another process using a send task.

To start a process using the receive task, the following conditions must be met:

- The receive task is preceded by an none start event.

- Your process does not contain any other start events.

- The Create Instance property is enabled.

The following section describes how to use the send and receive tasks to communicate between processes.

6.4.4 Using the Send and Receive Tasks to Communicate Between Processes

You can use the send and receive tasks to invoke another BPMN process and receive messages back from it. Processes that begin with a receive task and contain a send task are exposed as services that can be used by other process and services within an Oracle BPM application.

Figure 6-21 outlines the basic behavior when using send and receive tasks to invoke a process and receive a response.

Figure 6-21 Using the Send and Receive Tasks to Communicate Between Processes

The following steps outline a possible scenario when using the send and receive tasks to communicate between processes.

1. Process A is invoked.

2. A token of Process A reaches the send task.

3. The send task invokes Process B.
This is defined by the implementation for the send task.

4. The token of process A proceeds to the next flow object in the process.

5. The receive task initiates a process instance of Process B.
The receive task must have the Create Instance property defined. See Section 6.4.3.2.

6. The newly created token proceeds through process B.

7. Depending on the specific behavior of your process, the following scenarios may occur:

1. If the token of Process A reaches a receive task paired with a send task from Process B, the token of process A waits until a response is received. After the response is received, the token of Process A continues to the next flow object.

2. If the token of Process B reaches a send task paired with a receive task in Process A, Process B sends a response to Process A. The token of Process B continues to the next flow object.

8. Both processes continue running. You can use subsequent send and receive pairs to define subsequent communicate between the two processes.

6.4.5 Introduction to the Message Throw Event

The message throw event enables you to send a message to another process or service.

Figure 6-22 shows the default notation for the message throw event.

Figure 6-22 The Message Throw Event

The throw message event can be used to invoke the following types of processes and services:

- Other BPMN processes

- BPEL processes

- SOA service adapters

- Mediators that are exposed as services

Process analysts may add message throw events to a process to define where a process must invoke another process or service. However, process developers are typically responsible for implementing the connectivity with other processes. Additionally, they are typically responsible for creating and implementing the services invoked by the message throw event.

For information on how implement message throw events, see "Communicating With Other BPMN Processes and Services Using Message Events" in the Oracle BPM Modeling and Implementation Guide.

Message throw events are often used to invoke other BPMN processes by calling the message start event of another process. See Section 6.2.3, "Introduction to the Message Start Event" for more information.

Message throw events are also frequently used with message catch events to receive a response from the process or service invoked. However, they are always used asynchronously. After the message throw event sends a message to another process or service, the token immediately moves to the next flow object of the process.

If your process receives a response synchronously, you should use the service task to invoke the process or service. See Section 6.4.1, "Introduction to the Service Task" for more information.

Note:
The send and receive tasks perform similar functionality to the throw and catch message events. However, you cannot use the message throw event to invoke a process that is initiated with a message receive task.

6.4.6 Introduction to the Message Catch Event

The message catch intermediate event enables you to receive a message from another process or service.

Figure 6-23 shows the default notation for the message catch event.

Figure 6-23 The Message Catch Event

The message catch event is frequently used with the message throw event to communicate with another BPMN process. See Section 6.4.7 for information on how message throw events with message catch event.

For information on how implement message throw events, see "Communicating With Other BPMN Processes and Services Using Message Events" in the Oracle BPM Modeling and Implementation Guide.

6.4.7 Using Message Throw and Catch to Communicate Between Processes

You can use combinations of throw and catch events to invoke and communicate with other BPMN processes. When using a throw event to invoke another process, the following conditions must be met:

- The process being invoked must be an asynchronous process. Although you can use a message throw to invoke a synchronous process, there is no mechanism for catching messages synchronously from the process.
If you invoke a synchronous process you should use the service task. See Section 6.4.1, "Introduction to the Service Task" for more information.

- The first time you use a throw event it must be paired to the message start event of the other process. This is required to trigger the process instance. After the instance has been trigger, you can use subsequent message throw events that are caught by the second process.

Processes that begin with a message start and end with a message end event are exposed as services that can be used by other process and services within an Oracle BPM application.

Processes invoked from another process are not considered child processes. This is important to consider when designing processes that use the terminate end event as a process end point. For example, a terminate event in the calling process does not terminate processes invoked with a message throw event.

Figure 6-24 shows the basic behavior when using throw and catch event to invoke a process and receive a response.

Figure 6-24 Using Message Throw and Catch Events Between Processes

The following steps outline a possible scenario when using the message throw and catch events to communicate between processes.

1. Process A is invoked.

2. The token of Process A reaches a message throw event that is configured to invoke Process B.

3. The message throw event sends a message to the message start event of Process B.

4. The token of Process A proceeds to the next flow object.

5. The message start event triggers an instance of Process B.

6. The newly created token proceeds through Process B.

7. Depending on the behavior of your process, the following scenarios may occur:

1. If the token of Process A reaches a catch event paired with a throw event from Process B, the token of process A waits until the message is received. After the message is received, the token of Process A continues to the next flow object.

2. If the token of Process B reaches a throw event paired with a catch event in Process A, Process B throws a message to Process A. The token of Process B continues to the next flow object.

8. Both processes continue running. You can use subsequent catch and throw pairs to define subsequent communication between the two processes.

6.5 Adding Business Logic Using Oracle Business Rules

This section describes how to use the business rules task to incorporate Oracle Business Rules within your business processes. See Chapter 8, "Using Oracle Business Rules" for information on working with Oracle Business Rules using Business Process Composer.

6.5.1 Introduction to Oracle Business Rules

Business rules are statements that describe business policies or describe key business decisions.

6.5.2 Introduction to the Business Rules Task

The business rules task enables you to incorporate Oracle Business Rules within your process.

Figure 6-25 shows the default notation for the business rules task.

Figure 6-25 The Business Rule Task

There are two primary use cases for incorporating Oracle Business Rules within your business process.

- Using Structural Rules
Structural rules allow you to perform calculations used within your business process. For example, you could use a business rule to calculate a credit score.

- Using Operative Rules
Operative rules are used to make changes to the flow of your process. A typical use of an operative rule is to perform a check of the rule conditions within the rules catalog. Then, as part of the output data association, assign a value to a data object using an expression.

In this scenario, the business rules task is immediately followed by a gateway which is used to branch the process path according to the value of the data object.

See Section 6.5.2.1, "The Business Rule Task in Context" for information on how an operation rule is used within the Sales Quote example project.

See Section 5.3.5, "Adding Tasks Directly from the Business Catalog" for information on for procedures on how to assign elements from the business catalog to a business rules task.

6.5.2.1 The Business Rule Task in Context

Figure 6-26 shows an example of the business rules task within the Sales Quote example process.

Figure 6-26 The Business Rules Task within the Sales Quote Example Process

6.6 Controlling Process Flow Using Sequence Flows

This section describes how to use sequence flows to define the behavior of your business process.

6.6.1 Introduction to Sequence Flows

Sequence flows define the order or sequence that work is performed within a process. Sequence flows connect the flow objects within your process and determine the path a process token follows through your process.

Incoming sequence flows are the sequence flows that flow into a flow object. Outgoing sequence flows are the sequence flows that determine the process path out of a flow object.

Most flow objects contain both incoming and outgoing sequence flows. Exceptions to this are start and end events. Start events can only contain outgoing sequence flows. End events can only contain incoming sequence flows. Additionally, event subprocesses do not have either incoming or outgoing sequence flows.

6.6.2 Introduction to Unconditional Sequence Flows

Unconditional sequence flows represent the normal path between two flow objects. Default sequence flows are displayed as an arrowed line as shown in Figure 6-27.

Figure 6-27 The Unconditional Sequence Flow

Most flow objects can contain only one default out going sequence flow. Only parallel gateways can contain multiple unconditional sequence flows which represent the parallel paths of your process.

Exclusive, inclusive, and conditional gateways cannot have unconditional outgoing sequence flows. These gateways use conditional and default sequence flows to determine the flow of your process.

6.6.3 Introduction to Conditional Sequence Flows

Conditional sequence flows are used to control the flow of a process based on certain conditions. Like unconditional sequence flows, conditional sequence flows are displayed by an arrow lined arrow.

Figure 6-28 shows two outgoing conditional sequence flows and a default sequence flow.

Figure 6-28 Conditional and Default Sequence Flows

Not all flow objects can use outgoing conditional sequence flows. Only the following types of gateways can have outgoing conditional sequence flows:

- Exclusive gateways

- Inclusive gateways

- Conditional gateways

- Event-based gateways

The conditions used within a conditional sequence flow are defined using expressions. See Section 7.3, "Introduction to Expressions" for information on using the expression editor to define expressions.

6.6.4 Introduction to Default Sequence Flows

Like conditional sequence flows, default sequence flows are used as outgoing sequence flows to exclusive, inclusive, and conditional gateways. Default sequence flows represent the path your process will take out of these gateways when none of the conditions evaluate to true.

Default sequence flows are represented by an arrowed line with a tic mark on one end as shown in Figure 6-28.

6.7 Controlling Process Flow Using Gateways

This section describes how to use gateways to control process flow and behavior.

6.7.1 Introduction to Gateways

Gateways are flow elements that define the flow of your process. Gateways determine the path a token takes through a process. They define control points within your process by splitting and merging paths.

When possible, gateways are used for paths that are exceptions to or deviate from the default path of the process.

6.7.1.1 Split-Merge Pairs

The following gateways require a split-merge pair:

- Parallel Gateway

- Inclusive Gateway

- Complex Gateway

When you add one of these gateways to a BPMN process, Oracle BPM Studio automatically creates the split and merge flow objects.

Although the merge portion of the gateway is required, you do not have to ensure that all paths out of the split return to the merge.

Although it is possible to have process paths that split at a gateway without merging through the gateway, this is not usually good practice. For more details on the merge behavior of gateways, see the following sections for each gateway type.

Note:
If you delete the merge gateway from a process, the corresponding split is also deleted.

6.7.2 Introduction to the Exclusive Gateway

The exclusive gateway enables you to split your process into two or more paths. However, the process only continues down one of these paths even if multiple outgoing sequence flows are present. Exclusive gateways can have conditional outgoing sequence flows and must have at least one default outgoing sequence flow.

You can define expressions that are used to determine if your process continues down a conditional sequence flow. See Section 7.3, "Introduction to Expressions" for more information.

If your process has multiple outgoing sequence flow for an inclusive gateway, you can define the order in which they are evaluated. If you have an exclusive gateway where more than one conditional evaluates to true, the process will continue down the first conditional sequence flow determined by this order.

Unlike other gateways, the exclusive gateway does not require a corresponding merge to be explicitly defined in your process after splitting.

Figure 6-29 shows the default notation for the exclusive gateway.

Figure 6-29 The Exclusive Gateway

6.7.2 The Exclusive Gateway in Context

Figure 6-30 shows an example of the exclusive gateway used within the Sale Quote example process. Here, the exclusive gateway is used to evaluate whether a review of business practices is required.

Figure 6-30 The Exclusive Gateway within the Sales Quote Example Process

This evaluation is determined by the expression defined for the outgoing conditional sequence flow. If this evaluates to true, then the process flow proceeds down the Yes path. If it evaluates to false, then the process flow proceeds down the path of the default outgoing sequence flow.

6.7.2.1 Splitting and Merging Exclusive Gateways

When a token reaches an exclusive gateway the outgoing conditional sequence flows are evaluated until one of them evaluates to true. You can define the specific order in which these are evaluated by configuring a property for the exclusive gateway.Based on this configuration, when the first conditional sequence flow evaluates to true, the token moves down this outgoing sequence flow to the next flow object. If you have multiple outgoing conditional sequence flow you can determine the order in which they are evaluated.If none of the outgoing conditional sequence flows evaluate to true, then the token moves down the default outgoing sequence flow. Therefore, you must define a default outgoing sequence flow for the exclusive gateway.

The exclusive gateway can also merge incoming sequence flows. However, there is no synchronization with other tokens that may be coming from other paths within the process flow.

Note:
If other tokens arrive at an exclusive gateway merge, then they are also passed through as is. If you are synchronizing tokens or perform evaluations on incoming sequence flows, you should use a different type of gateway.

6.7.3 Introduction to the Inclusive Gateway

The inclusive gateway enables you to split your process into two or more paths. Unlike the exclusive gateway, however, a token may flow down one or more of these paths depending on how the outgoing conditional sequence flows are evaluated.

You can have multiple outgoing conditional sequence flows for an inclusive gateway split. You must define at least one default sequence flow.

Figure 6-31 shows the default notation for the inclusive gateway split.

Figure 6-31 The Inclusive Gateway (Split)

Figure 6-32 shows the default notation for the inclusive gateway merge.

Figure 6-32 The Inclusive Gateway (Merge)

6.7.3.1 Splitting and Merging Inclusive Gateways

The inclusive gateway splits a process similar to the exclusive gateway, but enables tokens to proceed down multiple outgoing sequence flow. When a token arrives at an inclusive gateway, the expressions of its conditional sequence flows are evaluated.

Next, a token is generated for each of the conditional sequence flows that evaluate to true. Additionally, a token is generated for the default sequence flow.

These tokens are merged at the merge of the inclusive gateway. When a token reaches the merge gateway, it waits until all of the tokens generated by the split have reached the merge. Once all of these tokens have reached the merge of the inclusive gateway, the merge is complete and the token continues to the next sequence flow after the gateway.

6.7.4 Introduction to the Parallel Gateway

The parallel gateway enables you to split your process into two or more paths when you want your process flow to follow all paths simultaneously. The parallel gateway is useful where your process must perform multiple tasks in parallel.

Figure 6-33 shows the default notation for the parallel gateway split.

Figure 6-33 The Parallel Gateway (Split)

Figure 6-34 shows the default notation for the parallel gateway merge.

Figure 6-34 The Parallel Gateway (Merge)

6.7.4.1 The Parallel Gateway in Context

The Sales Quote example process uses a parallel gateway during the approval stage of the process. Figure 6-35 shows how the parallel gateway is used to perform two process paths simultaneously.

Figure 6-35 Example of a Parallel Gateway

In this example, two different process paths are executed at the same time.

6.7.4.2 Splitting and Merging Parallel Gateways

When a token reaches a parallel gateway, the parallel gateway creates a token for each outgoing sequence flow. The split of the parallel gateway does not evaluate outgoing sequence flows.

You can also use the parallel gateway to merge process paths split by the parallel gateway. The merge of the parallel gateway waits for a token to arrive from each of the incoming sequence flows. After all tokens arrive, only one token is passed to the outgoing sequence flow.

Note:
You should design your process so that a token arrives for each incoming sequence flow for the merging parallel gateway. If you do not, your process can freeze if the merge is expecting tokens that do not arrive.

6.7.5 Introduction to the Complex Gateway

The complex gateway splits a process similar to an inclusive gateway. However, it enables you to define a condition that determines if the instance can continue even if not all of the tokens have arrived at the complex gateway merge.

For example, you can configure a complex gateway to continue after two or more tokens have arrived. If only two out of the possible conditions in the inclusive gateway evaluate to true the process instance continues to the next activity. However since the inclusive gateway immediately evaluates all the conditional sequence flows, all of the flow objects in these process paths are also run.

Figure 6-36 shows the default notation for the complex gateway split. This icon is identical to the inclusive gateway split.

Figure 6-36 The Complex Gateway (Split)

Figure 6-37 shows the default notation for the complex gateway merge.

Figure 6-37 The Complex Gateway (Merge)

6.7.6 Introduction to the Event Based Gateway

The even based gateway enables you to branch your process flow based on the possibility that an event may occur. In contexts, this may be one of several types of events. The event based gateway enables you to anticipate the possibility that several types of events may occur at a specific point in your process.

Figure 6-38 shows the default notation for the event based gateway.

Figure 6-38 The Event-based Gateway

The event based gateway is different than other gateways in that decisions about process flow are based on an event rather than data-specific conditions.

The event based gateway is composed of the following:

- The event based gateway

- Two or more target events. These can be of the following types:

- Message catch events

- Signal catch events

- Timer catch events

- Receive tasks

Note:
You cannot mix message events and receive tasks within the same event based gateway

The target elements can only have incoming sequence flows from the event based gateway. They cannot have sequence flows from other parts of the process.Although the event based gateway enables you to plan that multiple events may occur in your process, within the process instance, only one event is triggered. When the first event in the event based gateway is triggered, then the path that follows that event is followed.

By default, when you add an event-based gateway to a process, it is created with a timer and message catch event.

Note:
If you delete an event-based gateway, any outgoing sequence flow are also deleted. However, the associated events are not deleted.

6.8 Controlling Process Flow Using Intermediate Events

This section describes intermediate events and describes how to use them to control the flow and behavior of your process.

6.8.1 Introduction to Intermediate Events

Unlike start and stop events, intermediate events occur during the flow of your process.

There are two types of intermediate events:

- Normal flow events
Normal flow events occur within the normal flow of your process.

- Boundary events
Boundary events trigger an interruption with your process. Boundary events are associated with flow objects and can be configured to interrupt their normal behavior.

Boundary events behave similar to sequence flows in that they are used to determine the path a process takes between flow objects.

Boundary events can be divided into two types: interrupting and non-interrupting.

6.8.2 Introduction to the Timer Catch Event

Timer catch events enable you to control the flow of your process using a time condition. Possible uses of the time catch event include:

- Creating a delay before running an activity.

- Configuring a deadline for an activity.

- Configuring a deadline for a process.

- Triggering additional activities after an elapsed time.

Figure 6-39 shows the default notation for the timer catch event.

Figure 6-39 The Timer Catch Event

You can use timer event as boundary events on an activity. Timer events can be defined as either interrupting or non-interrupting boundary events.

When an interrupting timer event fires, the token leaves the main process flow to follow the flow the timer defines. The flow that an interrupting can return directly to the main process flow.

When an non-interrupting event fires, a copy of the token is created and passes through the flow the timer event defines. The flow that a non-interrupting event defines cannot return to the main process flow.

6.8.3 Introduction to the Error Catch Event

Error catch events are intermediate events used to handle an error that occurs within your process flow. Error catch events are always used as boundary events and can be attached to the following:

- Service Tasks

- User Tasks

- Send Tasks

- Receive Tasks

- Script Tasks

- Rules Tasks

- Event Subprocesses

- Subprocesses

Error catch events are always interrupting, meaning that they interrupt the normal flow of a process.

Figure 6-40 shows the default notation for the error catch event attached as a boundary event on a service task.

Figure 6-40 The Error Catch Event as a Boundary Event on a Service Task

When a service or process fails with an error, the error catch event triggered. This causes the process flow to follow the path of the outgoing sequence flow of the error catch event.

You can use this flow to define how you handle the error. This is generally handled in two ways:

- The process flow returns to the main process flow. Any work that must be performed is handled within the error process flow before returning back to the main flow.

- The process flow continues to an end event. The process is terminated immediately. Process control is returned to the service or process that initiated the process.

6.9 Using Subprocesses to Organize Your Process

In Oracle BPM, subprocesses are embedded subprocesses. Subprocesses are contained as part of the parent subprocess. Subprocesses must begin with a start none event and must end with a none end event.

Subprocesses can be expanded or collapsed. Figure 6-41 shows how a collapsed subprocess appears within a process.

Figure 6-41 Example of a Collapsed Subprocess

Figure 6-42 shows how an expanded subprocess appears within a process. When a subprocess is expanded, you can edit the flow objects within. You can also click and drag the edge of the subprocess window to make the window larger or smaller.

Figure 6-42 Example of an Expanded Subprocess

Like other types of processes, subprocesses have start and end events and contain their own flow. A subprocess must begin with a none start event and end with a none end event. Subprocesses do not contain swimlanes.

Subprocesses also behave like activities. They can have incoming and outgoing sequence flows. They also contain data associations that define the data objects used within the subprocesses.

Subprocesses can also contain timer, message, and error boundary events.

If necessary, your process can contain nested subprocesses. However, you should use nested subprocesses only when necessary to make your process more readable.

6.9.1 Subprocesses and Sequence Flows

The flow objects within a subprocess cannot have sequence flows that connect to flow objects outside the subprocess.

Like other flow objects, subprocesses have incoming and outgoing sequence flows.

6.9.2 Subprocesses in Context

Figure 6-43 show an example of a subprocess. In this example, a subprocess is used to group the service task used to process a sales quote.

Figure 6-43 Example of a Subprocess

6.9.3 Looping Subprocesses

You can configure a subprocess to repeat numerous within the context of a process flow. This is something that a process analyst should consider when designing a process, but the implementation is generally performed by process developers.

6.10 Changing the Value of Data Objects in Your Process

This section describes how to use the script task to change the values of data objects within your process. See Chapter 7, "Working with Data Objects and Expressions" for general information about data objects.

6.10.1 Introduction to the Script Task

The script task is used to change values of data objects within your process. The script task is used when you want to model this explicitly this within your business process or when you must change the values of data objects outside of another flow object. It is often used to set initial values of data objects at the beginning of a process.

Figure 6-44 shows the default notation for the script task.

Figure 6-44 The Script Task

Script tasks are generally added to a process by process developers who are responsible for defining the behavior of data objects within a process and process-based application.

6.10.1.1 The Script Task in Context

Figure 6-45 shows two examples of the script task used at the beginning of the Sales Quote example process. The Sales Quote example process uses a script task to set initial values for data objects at the beginning of a the process and to set values for several business indicators.

Figure 6-45 The Script Task within the Sales Quote Example Project

Project data objects are data objects that you define in a project. All processes within a project have access to the data object defined, though the value changes according to the process using them. In addition, the engine stores the value of those marked as business indicators to the process analytics databases if the project is configured to use them.

Figure 6-46 shows the data associations used to set initial values for the business indicators.

Figure 6-46 Data Associations Used by the Set Business Indicators Script Task

As with other flow objects that accept data associations, you can use expressions to change the values of data objects. Figure 6-47 shows how an expression is used to alter the value of the discount project variable.

Figure 6-47 Expression Used to Change the Value of Discount Project Variable

6.11 Measuring Process Performance Using Measurement Marks

You can measure process performance using measurement marks. Measurement marks enable you to measure a business indicator of type measure at a certain point in the process or in a section of the process.

For more information on using measurement marks and the Process Analytics database, see "Using Process Analytics" in the Oracle BPM Modeling and Implementation Guide.

A measurement mark stores the following data into the Process Analytics databases:

- The value of the process default measures

- The value of the measure business indicators associated to that measurement mark

- The value of the dimensions defined in the process

You can use one measurement mark to measure multiple business indicators.

When storing the value of a measure business indicator, the BPMN Service Engine also stores the value of the dimensions you defined in your process. Later on, when you build the dashboards to monitor your process, you can use these dimensions to group the values into different categories. For example, in the Sales Quote process you might want to view the total amount of quotes approved by region.

The types of measurement marks you can define are:

- Single Measurement

- Interval Start

- Interval Stop

6.11.1 How to Add a Measurement Mark to a Process

You can add measurement marks to your business processes by dragging the from the component palette to the process editor canvas.

To add a single measurement mark to a process:

1. Open the BPMN process.

2. In the Component Palette, expand the Artifacts section and select from following:

- Start measurement mark

- End measurement mark

- Single measurement mark (Snapshot)

3. Place the measurement mark near the sequence flow where you want to measure a business indicator. When the sequence flow turns blue, drop the measurement mark.

4. Right-click the measurement mark and select Properties.

5. In the Name text-field, enter a name to identify the measurement mark.

6. In the Business Indicators section, select a business indicator from the list of available business indicators and move it to the Selected list using the arrows between the two lists.

Note:
You can measure multiple business indicators in the same measurement mark.

Note:
If you do not select a business indicator, then this measurement mark only stores the value of the default business indicators. If you want to add a business indicator without leaving the Measurement Mark Properties dialog, then you can click the New button under the Selected list.

7. Click OK.

6.12 Using Guided Business Processes to Set Project Milestones

This section describes how to you Guided Business Processes in Business Process Composer.

6.12.1 Introduction to Guided Business Processes

Guided Business Processes provide a guided visual representation of a process flow, improving the user experience by providing process participants with an encapsulated hierarchical view of the business process.

Guided Business Processes enable process designers to direct process participants to complete a business process through a set of guided steps associated with the process. By following the steps outlined in a Guided Business Process, process participants require less training to complete a business process, and the results of the process are more predictable.

6.12.1.1 Introduction to Activity Guides and Milestones

A Guided Business Process is modeled as an activity guide that is based on a business process. The Activity Guide includes a set of Milestones. A milestone is a contained set of tasks that the process participant has to complete. A milestone is complete when the user successfully runs a specific set of tasks in the milestone.

Each milestone is a specific set of human workflow tasks. Each human workflow task is itself a task flow that may require the collaboration of multiple participants in various roles. Depending on the nature of the task flows, a participant may save an unfinished task flow and resume it at a later time.

6.12.2 Working with Guided Business Processes

Using Business Process Composer, you can configure Guided Business Processes and add milestones to them.

To configure the activity guide for a project:

1. In the Project Navigator, expand the project where you want to configure the activity guide.

2. Right-click Activity Guide, then select Configure.

3. Enter a title for the Activity Guide.

4. Configure the following optional properties:

- Display Mode: Determines how milestones and tasks within the guided business process display links. If the milestone and tasks use another configuration then the guided business process configuration is ignored.
Possible values are:

- Always: Always display the milestone and task links for all the milestones in this guided business process.

- When Instantiated: Display the milestone and task links only when one or more of the user tasks in the milestone are instantiated, for all the milestones in the guided business process.

- Task Access: After the task is completed, the guided business process uses this configuration to display the links. If the task mode is active only, the tasks links are grayed out. If the task mode is any state, the tasks links remain enabled and a message appears when you try to run the task.
Possible values are:

- Active Only: The link to the task is enabled only when the task is active and the user can update it. When you complete the task the link to the task is grayed out.

- Any State: The link to the task is always enabled after you instantiate the task, even after you complete the task.

- Root Process: Determines the process used for this Activity Guide. You can only define one guided business process per BPM project. This process is the root process.

- Description: Provides an optional description for the Activity Guide.

5. Click Save in the project toolbar.

To Create a New Milestone:

1. In the Project Navigator, expand the project where you want to configure the activity guide.

2. Right-click Activity Guide, then select Configure.

3. Click New Milestone.

4. Select the milestone you just created from the list.

5. Configure the milestone as necessary.

6. Click Save in the project toolbar.

To Add a User Task to a Milestone:

1. Open the process where you want to add a milestone.

2. Right-click the user task you want to add to a milestone.

3. Select a milestone from the list, then click OK.

7 Working with Data Objects and Expressions

This chapter describes how to use data objects and expressions within Oracle Business Process Composer. Data objects and expressions allow you to define how data is handled within your process.

This chapter includes the following sections:

- Section 7.1, "Introduction to Data Objects"

- Section 7.2, "Working with Data Objects and Data Associations"

- Section 7.3, "Introduction to Expressions"

- Section 7.4, "Defining Expressions"

7.1 Introduction to Data Objects

Data Objects are variables used to define the type of information used by your business process. They are also used to store the value of this information.

Oracle BPM supports two types of data objects:

- Basic data objects
Basic data objects define the basic types of variables that you can use within your processes and projects. Basic data objects can be used explicitly within your process or they can be combined into complex data objects.

Table 7-1 lists the types of basic data objects supported by Oracle BPM.

Table 7-1 Basic Data Objects

Type

Description

Bool

Represents the logical values true or false.

Int

Represents an integer. For example: 23, -10, 0

Decimal

Represents a number than can be expressed in decimal notation. For example: 3.14, 62, 0.023.

Real

Represents a floating-point numeric value. For example: 2e-1, 2.3E8.

String

Represents a sequence of characters. For example: "This is a string."

Time

Represents a specific time expressed as: year-month day hour:minute:second. For example: 1995-02-03 13:30:28-08:00

Interval

Represents a duration of time expressed as a number in years, months, days, hours, minutes, and seconds. For example: 1d3h30m.

Binary

Used to store binary data, including images or videos.

- Complex data objects
Complex data objects allow you to group data. Complex data types are defined using business objects.

Business objects allow you to create data structures based on basic data objects. For example, you can create a complex data object called employee that contains different data types for employee name, id, and salary.

Figure 7-1 shows the relationship between basic data objects, complex data objects, and business objects.

Figure 7-1 Relationship Between Basic and Complex Data Objects

Business Process Composer does not allow you to create or edit business objects. However, when editing projects based on templates, you can create new complex based on business objects defined in the business catalog.

7.1.1 Introduction to Process and Project Data Objects

Basic and complex data types can both be defined as either process or project data objects. This determines the scope of the variable.

Process data objects are data objects that are defined for a specific process. In contrast, project data objects are defined for an entire project.

Therefore, you can only use process data objects within the process where they are created, while project data objects are applicable to the entire project. This is known as variable scope.

Figure 7-2 shows the difference in scope between project and process variables.

Figure 7-2 Scope of Process and Project Data Objects

Process data objects allow you to define data objects that are only used within a single process. When designing a process-based application, if you know that a data object is only used within a process, it is better to define it as a process data object to conserve system resources.

Project data objects allow you to share data between processes. For example, the Purchase Order process and the Request Approval process may both track the value of the employee that created the request, or the priority of the request.

Project data objects ensure that all processes in a project use the same data. Each process must assign and update the value of this data.

The main benefit of defining project data objects is that after publishing your project you can configure Oracle BPM WorkSpace views to display the values of those variables. This is possible only if you use project data objects.

Note:
Although project data objects allow you to define data objects that are used by all processes in a project, they are not "global" data objects. Each process within your project uses its own version of the data object. Project data objects are not used to share data between processes.

7.1 Using Data Objects in Project Blueprints

Within project blueprints, you can create project and process data objects only for start and end message events. Project blueprints enable process analysts to define types of data objects used between process. These data objects can be incorporated by process developers as part of the implementation created in Oracle BPM Studio.

7.1.2 Using Data Objects in Projects Based on Project Templates

Project templates allow you to create reusable components from the business catalog. In addition to services such as business rules and human tasks, you can also create business objects.

When creating an Oracle BPM project based on a project template, you can use the data objects defined in the business catalog within data associations. Also, you can create new project data objects using Business Process Composer.

These project variables can be simple data objects or they can be based on complex data objects created as part of the business catalog.

Note:
You cannot create new types of complex data objects in Business Process Composer.

7.1.3 Introduction to Data Associations

Data associations are used to pass the information stored in data objects in the following contexts:

- To and from another process or service invoked from a BPMN process

- To and from a Human Task service

- To and from an Oracle Business Rule

- To and from a script task. This BPMN flow object is used to pass data objects through data associations.

Table Figure 7-2 lists the flow objects where you can define data associations. It also lists the objects implemented.

Table 7-2 Flow Objects that Accept Data Associations

Flow Objects

Implementation

Message start and end events

Services and other BPMN processes

Message throw and catch events

Services and other BPMN processes

Send and receive tasks

Services and other BPMN processes

Script tasks

Do not contain an implementation, are used to pass data objects through data associations.

User tasks

Oracle Human Tasks

Business rule tasks

Oracle Business Rules

Service Tasks

Services and BPMN processes

Data associations are used to define the input and output from a flow object to an external service or process. Figure 7-3 shows the relation ship between a flow object, its corresponding implementation, and external processes or services.

The blue arrows represent the input and output arguments to the external process or service. These are defined using data associations.

Figure 7-3 Relationship between a Flow Object, Implementation and an External Service or Process

It is important to note that although the inputs and outputs are defined in the data associations for a flow object, the define values that are passed to the implemented systems and services. These systems and services are external to the process as shown in Figure 7-5.

Figure 7-4 Data Associations between a process

You can use expression to evaluate and change the input and output values

7.1.4 Introduction to the Data Association Editor

The data associations editor enables you to configure the input and output values passed between a flow object and a its implementation.

Figure 7-5 The Data Association Editor

Table 7-3 describes the different areas of the data association editor.

Table 7-3 The Data Association Editor User Interface

UI Area

Description

Inputs

Contains text boxes that display the data objects assigned as inputs to the service or process implemented in the flow object. Next to each text box is an icon that launches the expression editor

Flow Object Interface

Lists the expected input arguments for the service or process implemented. The flow object interface also contains an expandable list of the data objects supplied as input and output. Within the flow object area, you can expand complex data objects to map to specific basic data objects within a complex data object.

Outputs

Contains text boxes that display the data objects assigned as outputs from the service or process implemented in the flow object.

Data Objects

Displays a list of all the data objects. This list is divided between process and project data objects.

7.2 Working with Data Objects and Data Associations

The following sections describe how to create and delete data associations and configure data associations.

7.2.1 How to Create a Data Object

Using Business Process Composer, you can create process and project data objects in projects created based on a project template.

To create a data object:

1. Select a flow object that enables you to configure data associations.
For a list of flow objects that allow you to configure data associations, see Table 7-2.

2. Click Data Associations.

3. Select a processes or the project from the expandable list.

4. In the right-hand column, enter a name for your data object, then select a type from the drop-down menu.

5. Click Create

7.2.2 How to Delete a Data Object

You can delete a data object from a process or project.

To delete a data object:

1. Open the process where you want to delete a data object. If you want to delete a project data object, you can open any process in the project.

2. Select a flow object that enables data associations. See Table 7-2 for the list of sequence flows that allow data associations.

3. Click Data Associations

4. In the Data Objects column, expand the process or project containing the data object you want to delete, then select the data object.

5. Click the Delete icon

Note:
You can delete simple and complex data objects. However, you cannot delete simple data objects within complex data objects.

7.2.2.1 What You Need to Know About Deleting Data Objects

After deleting a data object, you must ensure that all references to it are removed. This includes any data associations and expressions that use the data object. If you do not remove references to the deleted data object, the project does not validate.

7.2.3 How to Configure Data Associations for a Flow Object

You can configure data associatons for flow objects.

To configure a data association for a flow object:

1. Open the process where you want to configure data associations.

2. Select a flow object that enables data associations. See Table 7-2 for the list of sequence flows that allow data associations.

3. Click Data Associations.

4. From the data objects column on the right, select the data object you want to map as an input argument.

5. Click and drag the data object to an input text field.

7.3 Introduction to Expressions

Expressions allow you to perform calculations on data objects. In Business Process Composer, there are two contexts where expressions are used:

- When passing configuring inputs and outputs using data associations.

- When evaluating to determine how to evaluate conditional sequence flows.

Expressions do not allow you to directly reassign the values to data objects. However, you can use expressions to change the values passed to and from the implementation of a sequence flow. See Section 7.1.3, "Introduction to Data Associations" for more information.

The expression editor enables you to create expressions using the following operator types:

- Arithmetic Operators

- Unary Operators

- Equality and Relational Operators

- Conditional Operators

You can use these operators to write expressions and conditions to define your process flow. Generally these expressions perform their calculations based on the data objects in your process. You can write expressions and conditions using the value of the data objects, but you cannot modify their value.

The following examples of expressions use operators:

- totalAmount - discount

- activationCount > 3

- unitsSold <= 1200

Table 7-4, Table 7-5, Table 7-6, and Table 7-7 describe the supported operators in the simple expression builder.

Table 7-4 Arithmetic Operators

Operator

Name

Description

+

Addition

Adds numeric data types.

Concatenates Strings.

-

Subtraction

Subtracts numeric data types.

*

Multiplication

Multiplies numeric data types.

/

Division

Divides numeric data types.

rem

Remainder

Calculates the remainder of a division in which the divisor does not exactly divide the dividend.

( )

Precedence

Indicates the order of evaluation of an arithmetic expression.

Table 7-5 Unary Operators

Operator

Name

Description

+

Plus

Has no effect in the value of the numeric operand. Use it to indicate explicitly that a certain value is positive.

-

Minus

Negates an arithmetic expression.

*

Not

Logical complement operator. Negates the value of a boolean expression.

Table 7-6 Equality and Relational Operators

Operator

Name

Description

= or ==

Equal

Returns true is the first operand equals the second operand.

!=

Not Equal

Returns true is the first operand is not equal to the second operand.

>

Greater Than

Returns true if the first operand is greater than the second operand.

>=

Greater Than or Equal to

Returns true if the first operand is greater than or equal to the second operand.

<

Less Than

Returns true if the first operand is less than the second operand.

<=

Less Than or Equal to

Returns true if the first operand is less than or equal to the second operand.

Table 7-7 Conditional Operators

Operator

Name

Description

and

Conditional And

Returns true if both operands evaluate to true.

or

Conditional Or

Returns true if either operand evaluates to true.

7.3.1 Operator Precedence

Operator precedence indicates the order in which the compiler evaluates them. You can change operator precedence in an expression by using parenthesis.

In Oracle BPM the operator precedence is:

- Addition, Subtraction

- Multiplication, Division, Remainder

- Plus and Minus

- Less than, Greater Than, Less Than or Equal to, Greater Than or Equal to

- Equal, Not Equal

- Not

- Conditional And

- Conditional Or

7.3.2 Introduction to the Expression Editor

The expression editor provides a simple way of creating expressions by allowing you to select data objects and operators from a list and insert them into your expression. You can also enter the expression manually if necessary.

Figure 7-6 shows the expression editor user interface.

Figure 7-6 The Oracle Business Process Composer Expression Editor

Table 7-8 The Expression Editor User Interface

Area

Description

Expression field

Contains the text of the expression. You can edit this field directly, or use the Insert Into Expression tool.

Insert Into Expression

Inserts the selected data object or operator into the expression.

Data Object and Operator Chooser

Contain tabbed panes that allow you to select the data object or operator you want to insert into the expression.

Description tab

Provides a description of the selected operator.

Errors

Displays errors in the current expression.

7.4 Defining Expressions

The following sections describe how to define expressions using Business Process Composer.

7.4.1 How to Define an Expression for a Conditional Sequence Flow

Using Business Process Composer, you can create and edit expressions for conditional sequence flows. Conditional sequence use expression to determine the flow of your process.

To define an expression for a conditional sequence flow:

1. Open your process.

2. Ensure that you have locked the project for editing.

3. Right-click a conditional transition, then select Properties.

4. Click Edit.
The expression editor window displays.

5. Add any required data objects and operators.
To add a data object to an expression:

1. Select the Data Objects tab.

2. Select a data object from the list.
If you add a basic data object that is part of a complex data objects, expand the complex data object and select the basic data object.

3. Click Insert Into Expression

To add an operator to an expression:

1. Select the Operators tab.

2. From the expandable list, select the operator you want to add.

3. Click Insert Into Expression.

6. Click the Error tab, then verify that there are no errors in your expression.

7. Click OK.

7.4.2 How to Define Expressions in Data Associations

Using Business Process Composer, you can create and edit expressions for Data associations. Data associations use expression to alter the values data objects passed as inputs. and outputs.

To define an expression within a data association input or output:

1. Open your process

2. Ensure that you have locked the project for editing.

3. Select an activity in your process, then click Data Associations in the process editor toolbar.

4. Click Launch Expression Builder.

5. Add any required data objects and operators.
To add a data object to an expression:

1. Select the Data Objects tab.

2. Select a data object from the list.
If you add a basic data object that is part of a complex data objects, expand the complex data object and select the basic data object.

3. Click Insert Into Expression

To add an operator to an expression:

1. Select the Operators tab.

2. From the expandable list, select the operator you want to add.

3. Click Insert Into Expression.

6. Click the Error tab, then verify that there are no errors in your expression.

7. Click OK.

8 Using Oracle Business Rules

This chapter describes how to use the Oracle Business Rules editor that is part of Business Process Composer. It contains a general introduction to Oracle Business Rules and provides tasks for working with them.

Note:
You cannot create new business rules or rules dictionaries using Business Process Composer. You can edit rules dictionaries that were defined as part of the business catalog of a project template.

This chapter includes the following sections:

- Section 8.1, "Introduction to Oracle Business Rules"

- Section 8.2, "Introduction to the Business Process Composer Rules Editor"

- Section 8.3, "Viewing and Editing Business Rules in Business Process Composer"

- Section 8.4, "How to Edit the Oracle Business Rules at Run Time"

- Section 8.5, "Assigning a Rule to a Business Rules Task"

8.1 Introduction to Oracle Business Rules

This section provides a brief introduction to Oracle Business Rules.

Business rules are statements that describe business policies or describe key business decisions. For example, business rules include:

- Business policies such as spending policies and approval matrices.

- Constraints such as valid configurations or regulatory requirements.

- Computations such as discounts or premiums.

- Reasoning capabilities such as offers based on customer value.

For example, a car rental company might use the following business rule:

IF
Rental_application.driver age < 21
THEN
modify Rental_application(status: "Declined")

An airline might use a business rule such as the following:

IF
Frequent_Flyer.total_miles > 10000
THEN
modify Frequent_Flyer (status : "GOLD")

A financial institution could use a business rule such as:

IF
Application_loan.income < 10000
THEN
modify Application_loan (deny: true)

These examples represent individual business rules. In practice, you can use Oracle Business Rules to combine many business rules or to use more complex tests.

Oracle Business Rules allow process analysts to change policies that are expressed as business rules, with little or no assistance from a process developers. Applications using Oracle Business Rules support continuous change that enables the applications to adapt to new government regulations, improvements in internal company processes, or changes in relationships between customers and suppliers.

Business rules follow an if-then structure and consists of two parts:

- If part: a condition or pattern match.

- Then part: a list of actions.

Alternatively, you can express rules in a spreadsheet-like format called a decision table.

8.1.1 Introduction to Rule Conditions

The rule IF part is composed of conditional expressions, rule conditions, that refer to facts. For example:

IF Rental_application.driver age < 21

The conditional expression compares a business term (Rental_application.driver age) to the number 21 using a less than comparison.

The rule condition activates the rule whenever a combination of facts makes the conditional expression true. In some respects, the rule condition is like a query over the available facts in the Rules Engine, and for every row returned from the query the rule is activated.

8.1.2 Introduction to Rule Actions

The rule THEN part contains the actions that are run when the rule is fired. A rule is fired after it is activated and selected among the other rule activations using conflict resolution mechanisms such as priority. A rule might perform several kinds of actions. An action can add facts, modify facts, or remove facts. An action can run a Java method or perform a function which may modify the status of facts or create facts.

Rules fire sequentially, not in parallel. Note that rule actions often change the set of rule activations and thus change the next rule to fire.

8.1.3 Introduction to Decision Tables

A Decision Table is an alternative business rule format that is more compact and intuitive when many rules are needed to analyze many combinations of property values. You can use a Decision Table to create a set of rules that covers all combinations or where no two combinations conflict.

8.1.4 Introduction to Facts and Bucketsets

In Oracle Business Rules, facts are the objects that rules reason on. Each fact is an instance of a fact type. You must import or create one or more fact types before you can create rules.

In Oracle Business Rules a fact is an asserted instance of a class. The Oracle Business Rules run time or a developer writing in the RL Language uses the RL Language assert function to add an instance of a fact to the Oracle Business Rules Engine.

In Rules Designer you can define a variety of fact types based on, XML Schema, Java classes, Oracle RL definitions, and ADF Business Components view objects. In the Oracle Business Rules run time such fact type instances are called facts.

You can create bucketsets to define a list of values or a range of values of a specified type. After you create a bucketset you can associate the bucketset with a fact property of matching type. Oracle Business Rules uses the bucketsets that you define to specify constraints on the values associated with fact properties in rules or in Decision Tables. You can also use bucketsets to specify constraints for variable initial values and function return values or function argument values.

8.1.5 Introduction to Rulesets

A ruleset is an Oracle Business Rules container for rules and Decision Tables. A ruleset provides a namespace, similar to a Java package, for rules and Decision Tables. In addition you can use rulesets to partially order rule firing.

8.1.6 Introduction to Decision Functions

A decision function provides a contract for invoking rules from Java or SOA (from an SOA composite application or from a BPEL process). The contract includes input fact types, rulesets to run, and output fact types.

8.1.7 Introduction to Decision Points

Oracle Business Rules SDK (Rules SDK) provides APIs that let you write applications that access, create, modify, and run rules in Oracle Business Rules dictionaries (and all the contents of a dictionary). The Rules SDK provides the Decision Point API to access and run rules or Decision Tables from a Java application.

8.1.8 Introduction to Dictionaries

A dictionary is an Oracle Business Rules container for facts, functions, globals, bucketsets, links, decision functions, and rulesets. A dictionary is an XML file that stores the application's rulesets and the data model. Dictionaries can link to other dictionaries. Oracle JDeveloper creates an Oracle Business Rules dictionary in a.rules file. You can create as many dictionaries as you need. A dictionary may contain any number of rulesets.

8.2 Introduction to the Business Process Composer Rules Editor

The Business Process Composer rules editor enables you to view and edit a rules dictionary. Rules dictionaries are displayed in a tabbed window similar to the process editor and data association editor.

This window is divided into two main areas:

- A panel containing tabbed panes for globals, bucketsets, and rulesets.

- An editor panel showing detailed information for each tab.

Figure 8-1 shows the Globals tab displaying information for the globals contained in the Sales Quote example project.

Note:
This tab only displays globals that were marked as final when the rules dictionary was created.

Figure 8-1 The Globals Tab of the Oracle Business Rules Editor

Figure 8-2 shows the Bucketsets tab displaying details for the bucketsets contained in the Sales Quote example project.

Figure 8-2 The Bucketsets Tab of the Oracle Business Rules Editor

Figure 8-3 shows the Rulesets tab displaying details for the rulesets contained in the Sales Quote example.

Figure 8-3 The Rulesets Tab of the Oracle Business Rules Editor

8.3 Viewing and Editing Business Rules in Business Process Composer

The following sections provide specific procedures for viewing and editing Oracle Business Rules using Business Process Composer.

8.3.1 How to Open a Business Rule

Oracle Business Rules can be included as part of the reusable business catalog, enabling you to use business rules when editing Oracle BPM projects created from project templates.

To open a business rule from the Project Navigator:

1. In the Project Navigator, expand Rules, the expand the rules dictionary containing the rule you want to open.

2. Double-click the rule.

The business rule appears in the rules editor. If you want to edit the rule, ensure that the project is in edit mode. By default, the Globals tab is displayed, as shown in Figure 8-1.

8.3 How to Add a Bucketset

Using Business Process Composer you can add new bucketsets to a rules dictionary.

To add a new bucketset:

1. Open the rules dictionary where you want to edit the bucketset.

2. Select the Bucketsets tab. This displays a table listing the bucketsets in the dictionary as shown in Figure 8-2.

3. Click the Add Bucketset drop-down list, then select the type of bucket set you want to create.

- List of values

- List of ranges

4. Select the bucketset from the list, then click Edit Bucketset.

5. Edit the bucket set as required, then click OK.

8.3.2 How to Edit an Existing Bucketset

In Business Process Composer, selecting the Bucketsets tab shows you a table listing the bucketsets in the dictionary. To edit a bucketset, select the appropriate row and click the Edit icon. Depending on the type of the bucketset, Range, Enum, or LOV, this displays a corresponding Edit bucketset page.

You can create a Range Bucketset by clicking Add in the menu bar and selecting a type. This adds a new row in the Bucketsets table. Adding a bucket automatically adds an end point for a range bucket and a value for an LOV bucket based on the data type. You can modify the newly added bucket end point or value. Note that the alias is modified when an end point or value is changed.

To delete a bucketset, select a row and click Delete.

To edit a bucketset:

1. Open the rules dictionary where you want to edit the bucketset.

2. Select the Bucketsets tab. This displays a table listing the bucketsets in the dictionary as shown in Figure 8-2.

3. Select the appropriate bucketset row and click the Edit Bucketset icon.

4. Use the Bucketset Editor to edit the appropriate fields in the bucketset.

5. Click OK to confirm the changes.

8.3.3 How to View Globals in the Oracle Rules Dictionary

When you open a rules dictionary, Business Process Composer displays the Globals tab. The Globals tab only shows final global variables (global variables with Final option selected).

You cannot create or delete global variables. From the Globals tab, in edit mode you can edit the Name, Description, and Value fields. For the Value field, you can use the expression builder to set the value.

To view globals:

1. Open the rules dictionary where you want to view globals.

2. Select the Globals tab. This displays a table listing the globals defined for this rules dictionary as shown in Figure 8-1.

8.3 How to Add a Rule to a Ruleset

Using Business Process Composer you can edit, add, and delete rules in a ruleset.

To add a rule to a ruleset:

1. Open the rules dictionary containing the ruleset where you want to add a rule.

2. Click the tab of the ruleset you want to edit. This displays a table listing the rulesets defined for this dictionary as shown in Figure 8-3

3. Click the New Rule icon.

4. Enter a name for the new rule.

5. Click the Show Advanced Settings icon.

6. In the IF area, use the controls, icons, and selection boxes, including the Left Value expression icon, drop-down list for an operator, and Right Value expression icon to modify the condition.

7. In the THEN area for the rule, next to the rule action click Add Action.

8. Click Save in the editor toolbar to save the changes to the rule dictionary.

8.4 How to Edit the Oracle Business Rules at Run Time

You can use Business Process Composer to open deployed Oracle BPM projects. Opening a deployed project enables you to edit the Oracle Business Rules contained in the project and deploy your changes back to Oracle BPM run time.

Note:
When editing a deployed project, you can only edit the Oracle Business Rules for that project. You can view other project resources, but cannot edit them.

To open a deployed project:

1. From the Project menu select Open a Deployed Project.
If you are currently editing a project, your changes are automatically saved.

2. Select Deployed Projects, then select the project you want to open from the project list.

3. Expand Repository, then select the deployed project you want to open.

4. Click Ok.

5. In the Project Navigator, expand Business Rules then expand the rules dictionary where whose Oracle Business Rules you want to edit.

6. Click Edit in the rules editor.

7. Edit the rules as required, then click Save.

8. Click Validate to ensure the changes you made to the business s made are valid.

9. Click Commit to commit the changes to Oracle BPM run time.

10. Click Yes.

11. From the Project menu, select Close Project.

8.5 Assigning a Rule to a Business Rules Task

The business rules task is an Oracle BPMN element that enables you to incorporate Oracle Business Rules within a process model.

When editing a project based on a project template containing business rules in the business catalog, you can assign business rules to business rules task.

To assign a business rule to a business rules task:

1. Open the process containing the business rules task you want to edit.

2. Right-click the business rules task, then select Properties.

3. Select the Implementation tab.

4. Click Change. The displays the business rules browser containing a table of available business rules.

5. Double-click a rule from the table.

6. Click OK.

9 Performing Administrative Tasks

This chapter describes how to perform administrative using Oracle Business Process Composer.

This chapter includes the following sections:

- Section 9.1, "Managing Security Roles Using Business Process Composer"

- Section 9.2, "Assigning Users and Groups to Security Roles"

- Section 9.3, "Managing Projects"

9.1 Managing Security Roles Using Business Process Composer

Oracle BPM uses the security realm functionality of Oracle WebLogic Server to determine what Business Process Composer features a user can access.

Security realm provide mechanisms for protecting Oracle BPM application resources. Each security realm consists of a set of configured security providers, users, groups, security roles, and security policies. A user must be defined in a security realm to access any Oracle BPM resources.

When a user attempts to access Business Process Composer or other Oracle BPM resource, WebLogic Server tries to authenticate and authorize the user by checking the security role assigned to the user in the relevant security realm and the security policy of the particular WebLogic resource.

Table 9-1 describes the basic components of security realms that are relevant to Business Process Composer administration.

Note:
The security roles managed and used in Business Process Composer are not global roles. They are used only within the context of Business Process Composer for managing access to application functionality.

Table 9-1 Oracle WebLogic Server Security Realm

Security Realm Component

Description

Users

A user can be a person, such as application end user, or a software entity, such as a client application, or other instances of WebLogic Server. As a result of authentication, a user is assigned an identity, or principal. Each user is given a unique identity within the security realm. Users may be placed into groups that are associated with security roles, or be directly associated with security roles.

Groups

Groups are logically ordered sets of users. Usually, group members have something in common. For example, a company may separate its sales staff into two groups, Sales Representatives and Sales Managers. Companies may do this because they want their sales personnel to have different levels of access to WebLogic resources, depending on their job functions.

Security Roles

A security role is a privilege granted to users or groups based on specific conditions (see Figure 4-1). Like groups, security roles allow you to restrict access to WebLogic resources for several users at simultaneously.

Figure 9-1 shows how Business Process Composer fits within the overall Oracle WebLogic Server security architecture.

Figure 9-1 Oracle Business Process Composer Administration

9.1.1 Default Security Roles in Oracle BPM

Oracle BPM provides additional default security roles that are creating during installation of the Oracle BPM Suite. These additional security roles define access to different functionality within Business Process Composer.

Note:
The set of security roles in Business Process Composer is fixed. You cannot create new security roles or delete any of the default security roles.

You can use Oracle Enterprise Manager to map the default security roles to the application roles defined in your business application.

Table 9-2 describes the Oracle BPM default security roles.

Table 9-2 Default Security Roles in Oracle BPM

Security Role

Description

Project Administrator

Enables users and groups to access the administration functionality of Business Process Composer. Users and groups assigned to this role can delete projects, lock and unlock projects.

It also enables the assigned users and groups to perform all tasks within the Business Process Composer application, including creating projects.

Developer

Grants users and groups permission to implement any project stored in Oracle BPM MDS.

Designer

Grants users and groups permission to model any project stored in Oracle BPM MDS. It does not permit implementation.

Deployer

Grants users and groups permission to deploy any unlocked project to Oracle BPM run time.

In addition to the Deployer security role, users and groups must also be assigned application roles within the SOA infrastructure. See Section 4.6.1, "Introduction to the Deployer Security Role" for more information.

Project Creator from Template

Enables users and groups to create projects based on project templates.

Project Creator

Enables assigned users and groups to create process blueprints or projects based on templates.

Project Viewer

Enables users and groups to view any project stored in Oracle BPM MDS.

Project Documentor

Grants users and groups permission to add documentation to any project.

SOA Designer

The SOA Designer role is a security role shared with the SOA infrastructure. Business Process Composer uses this role to enable users and groups to edit Oracle Business Rules at run time. See Section 8.4, "How to Edit the Oracle Business Rules at Run Time" for more information.

9.2 Assigning Users and Groups to Security Roles

Using the Business Process Composer administration tool, you can assign users and groups to security roles and remove security role assignments.

Note:
The configuration changes outlined in the following procedures are propagated immediately. However, any users who are currently signed on will not see these changes propagated until they sign off and sign on again.

To assign users and groups to security roles

1. Click Administration.

2. Select Role Mapping.

3. Expand Add Mapping.

4. Select the security role where you want to add a user or group.

5. Click Choose, then click Search.
This returns a list of all users of groups. Optionally, you could search for a specific user or group.

6. Select the appropriate user or group from the Available column.

7. Click the Move.

8. Click OK.

9. Click Add Mapping.

To remove a security role assignment:

1. Click Administration

2. Select Role Mapping.

3. Expand Manage Mappings, then select the security role mapping you want to delete.

4. Click Delete.

9.2.1 What You Need to Know About Security Role Assignment

When you remove a security role mapping, these changes are propagated immediately. However, if the user whose role has been revoked is currently signed in, the changes are not propagated until the next time the user signs-in again.

In contrast, when the administrator role is revoked and the user is currently signed in, a message is displayed when performing any administrative task. The user is then signed off automatically.

9.3 Managing Projects

Business Process Composer enables you to perform the following project management tasks:

- Release project locks

- Delete projects from Oracle BPM MDS

To perform project related administrative tasks:

1. Sign-on to Business Process Composer.

2. Click Administration.

3. Select Project Management from the left-hand column

4. Select the appropriate project from the right-hand column, then select from the following:

- Delete: Deletes the selected project from the Oracle BPM Metadata Service repository.

- Release Lock: Releases the lock for the selected project. Other users with the appropriate permissions can lock and edit the project.

- Refresh Repository: Refreshes the project list from the Oracle BPM Metadata Service repository.

9.3.1 What You Need to Know About Managing Projects

When deleting or resetting locks on projects, it is important to consider how this effects other Business Process Composer Users. It is possible to delete a project or project lock while a user is actively making changes to a project. You must ensure that deleting a project or removing a lock does not adversely effect your users.

After deleting a project or project lock, process participants do not see the propagated changes until they refresh the Oracle BPM Metadata Service Repository or sign-on to Business Process Composer.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2014, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

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.

Warranty Disclaimer

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.

Restricted Rights Notice

If this is software or related documentation that 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 END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware 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 that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware 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.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.