Skip Headers
Oracle® BPEL Process Manager Developer's Guide
10g (

Part Number B28981-03
Go to Documentation Home
Go to Book List
Book List
Go to Index
Go to Feedback page
Contact Us

Go to next page
View PDF


Title and Copyright Information


Documentation Accessibility
Related Documents

What's New in Oracle BPEL Process Manager?

Part I Introduction and Concepts

1 Introduction to Oracle BPEL Process Manager

1.1 What Is BPEL?
1.2 What Is Oracle BPEL Process Manager?
1.3 What Is Oracle JDeveloper?
1.4 How to Use This Guide
1.5 Getting Started with Demonstrations, Activity and Conceptual References, and Tutorials
1.5.1 What Demonstrations Are Available?
1.5.2 What Activity and Conceptual References Are Available?
1.5.3 What Tutorials Are Available?
1.6 Summary

2 Getting Started with Oracle BPEL Process Manager

2.1 Overview of Oracle BPEL Process Manager Components
2.2 Starting Oracle BPEL Process Manager Components
2.3 Overview of the BPEL Designer Environment
2.3.1 Overview of BPEL Project Creation and Oracle JDeveloper Application Navigator Diagram Window Source Window History Window Component Palette Property Inspector Structure Window Log Window Editing Project Files in Oracle JDeveloper
2.4 Overview of Activities
2.5 Overview of Partner Links
2.6 Overview of Oracle BPEL Server
2.7 Overview of Oracle BPEL Control
2.8 Overview of Oracle BPEL Process Manager Services
2.9 Overview of Oracle BPEL Process Manager Technology Adapters
2.10 Summary

Part II Reviewing Key BPEL Development Concepts and Code Samples

3 Manipulating XML Data in BPEL

3.1 Use Cases for Manipulating XML Data in BPEL
3.2 Overview of Manipulating XML Data in BPEL Concepts
3.2.1 How XML Data Works in BPEL
3.2.2 About Data Manipulation and XPath Standards
3.3 Initializing a Variable with Expression Constants or Literal XML
3.4 Copying Between Variables
3.5 Accessing Fields Within Element-Based and Message Type-Based Variables
3.6 Assigning Numeric Values
3.7 Mathematical Calculations with XPath Standards
3.8 Assigning String Literals
3.9 Concatenating Strings
3.10 Assigning Boolean Values
3.11 Assigning Date or Time
3.12 Manipulating Attributes
3.13 Manipulating XML Data with bpelx Extensions
3.13.1 bpelx:append
3.13.2 bpelx:insertBefore
3.13.3 bpelx:insertAfter
3.13.4 bpelx:remove
3.13.5 bpelx:rename and XSD Type Casting
3.13.6 bpelx:copyList
3.14 Validating XML Data with bpelx:validate
3.15 Manipulating XML Data Sequences That Use Arrays
3.15.1 Statically Indexing into an XML Data Sequence That Uses Arrays
3.15.2 Determining Sequence Size
3.15.3 Dynamically Indexing by Applying a Trailing XPath to an Expression Dynamic Indexing Example Using the bpelx:append Extension to Append New Items to a Sequence Merging Data Sequences Dynamically Indexing with the BPEL getElement Function Generating Functionality Equivalent to an Array of an Empty Element
3.15.4 SOAP-Encoded Arrays Not Supported
3.16 Converting from a String to an XML Element
3.17 Differences Between Document-Style and RPC-Style WSDL Files
3.18 Adding a Custom WSIF Provider
3.18.1 Task 1: Register the WSDL Extension to the WSDL Reader
3.18.2 Task 2: Register the WSIF Provider
3.19 Input and Output Message Header Handling
3.19.1 Header Handlers
3.19.2 Registering of Header Handlers
3.19.3 Manipulation of partnerLink Properties
3.20 Manipulating SOAP Headers in BPEL
3.20.1 Receiving SOAP Headers in BPEL
3.20.2 Sending SOAP Headers in BPEL
3.21 Using Binary Attachments in SOAP Messages
3.21.1 Use Case: SOAP Message with Binary Attachment Using MIME WSDL File Contents BPEL File Contents Java Client Using SAAJ
3.21.2 Displaying the Attachment Key for Binary Attachments Using the DIME Protocol in Oracle BPEL Control
3.22 Summary

4 Invoking a Synchronous Web Service

4.1 Use Case for Synchronous Web Services
4.2 Overview of Synchronous Service Concepts
4.2.1 Establishing the Partner Link Defining the Partner Link in the BPEL Code Using the WSDL File to Enable the Web Services to Work with a BPEL Process Performing Lookups for Services that Use Partner Links Accessing Web Services on Remote Servers
4.2.2 Using the Invoke Activity to Perform a Request
4.3 Calling a Synchronous Service
4.4 Summary

5 Invoking an Asynchronous Web Service

5.1 Use Case for Asynchronous Web Services
5.2 Overview of Asynchronous Callback Concepts
5.2.1 partnerLinkTypes for Asynchronous Services
5.2.2 Calling the Service from BPEL
5.2.3 How the Invoke and Receive Activities Work
5.2.4 Managing Multiple Active BPEL Process Instances Using Correlation Methods WS-Addressing Using Correlation Sets to Coordinate Asynchronous Message Body Contents
5.2.5 Using the Reply Activity to Send Messages in Response to a Receive Activity
5.2.6 Using Dehydration Points to Maintain Long-Running Asynchronous Processes
5.3 Calling an Asynchronous Service
5.3.1 Step 1: Adding a Partner Link for an Asynchronous Service
5.3.2 Step 2: Adding an Invoke Activity
5.3.3 Step 3: Adding a Receive Activity
5.3.4 Step 4: Performing Additional Activities
5.4 Using Correlation Sets in an Asynchronous Service
5.4.1 Step 1: Creating a Project
5.4.2 Step 2: Configuring Partner Links and File Adapter Services Creating an Initial Partner Link and File Adapter Service Creating a Second Partner Link and File Adapter Service Creating a Third Partner Link and File Adapter Service
5.4.3 Step 3: Creating Three Receive Activities Creating an Initial Receive Activity Creating a Second Receive Activity Creating a Third Receive Activity
5.4.4 Step 4: Creating Correlation Sets Creating an Initial Correlation Set Creating a Second Correlation Set
5.4.5 Step 5: Associating Correlation Sets with Receive Activities Associating the First Correlation Set with a Receive Activity Associating the Second Correlation Set with a Receive Activity Associating the Third Correlation Set with a Receive Activity
5.4.6 Step 6: Creating Property Aliases Creating Property Aliases for NameCorr Creating Property Aliases for IDCorr
5.4.7 Step 7: Reviewing WSDL File Content
5.5 Summary

6 Parallel Flow

6.1 Use Case for Parallel Flows
6.2 Overview of Parallel Flow Concepts
6.3 Defining a Parallel Flow
6.4 Customizing the Number of Flow Activities by Using the flowN Activity
6.4.1 BPEL Code Example of the FlowN Activity
6.5 Summary

7 Conditional Branching

7.1 Use Case for Conditional Branching
7.2 Overview of Conditional Branching Concepts
7.3 Using a Switch Activity to Define Conditional Branching
7.4 Using a While Activity to Define Conditional Branching
7.5 Summary

8 Fault Handling

8.1 Use Case for Fault Handling
8.2 Defining a Fault Handler
8.3 BPEL Standard Faults
8.4 Categories of BPEL Faults
8.4.1 Business Faults
8.4.2 Run-time Faults bindingFault remoteFault replayFault Catching Run-time Faults Example
8.5 Getting Fault Details with the getFaultAsString XPath Extension Function
8.6 Using the Scope Activity to Manage a Group of Activities
8.7 Throwing Internal Faults
8.8 Returning External Faults
8.8.1 Returning a Fault in a Synchronous Interaction
8.8.2 Returning a Fault in an Asynchronous Interaction
8.9 Using a Fault Handler within a Scope
8.9.1 Using the Empty Activity to Insert No-Op Instructions into a Business Process
8.10 Using Compensation After Undoing a Series of Operations
8.11 Using the Terminate Activity to Stop a Business Process Instance
8.12 Fault Handling Example
8.13 Summary

9 Incorporating Java and J2EE Code in BPEL Processes

9.1 Overview of Java and J2EE Code in BPEL Concepts
9.1.1 Using Java Code with WSIF Binding Java Binding Service Using XML Simple Types Java Binding Service Using Oracle BPEL Process Manager XML Facade Java Binding Service Using XML DOM Elements Throwing a WSDL Fault from a Java Binding
9.1.2 Using Java Code Wrapped as a SOAP Service
9.1.3 Directly Embedding Java Code in a BPEL Process Using the bpelx:exec Tag to Embed Java Code Snippets into a BPEL Process Using an XML Facade to Simplify DOM Manipulation bpelx:exec Built-in Methods
9.2 Using Java Embedding in a BPEL Process
9.3 Summary

10 Events and Timeouts

10.1 Use Case for Events and Timeouts
10.2 Overview of Event and Timeout Concepts
10.3 Using the Pick Activity to Select Between Continuing a Process or Waiting
10.4 Using the Wait Activity to Set an Expiration Time
10.5 Setting Timeouts for Synchronous Processes
10.6 Defining a Timeout
10.7 Summary

11 Invoking a BPEL Process

11.1 Use Case for Invoking a BPEL Process
11.2 Overview of Invoking BPEL Process Concepts
11.3 Sending Messages to a BPEL Process from a Java or JSP Application
11.3.1 Invoking a BPEL Process with the Generic Java API Connecting to Oracle BPEL Process Manager with the Locator Class Passing XML Messages Through Java Invoking a Two-Way Operation Through the Java API Invoking a One-Way Operation Through the Java API
11.3.2 Retrieving Status or Results from Asynchronous BPEL Processes
11.3.3 Using the Java API from a Remote Client
11.3.4 Invoking a BPEL Process with the Web Service/SOAP Interface
11.4 Summary

12 Interaction Patterns

12.1 One-Way Message
12.2 Synchronous Interaction
12.3 Asynchronous Interaction
12.4 Asynchronous Interaction with Timeout
12.5 Asynchronous Interaction with a Notification Timer
12.6 One Request, Multiple Responses
12.7 One Request, One of Two Possible Responses
12.8 One Request, a Mandatory Response, and an Optional Response
12.9 Partial Processing
12.10 Multiple Application Interactions
12.11 Summary

Part III Oracle BPEL Process Manager Services

13 XSLT Mapper and Transformations

13.1 Use Case for Transformation
13.2 Creating an XSL Map File
13.2.1 Creating a New XSL Map File
13.2.2 Creating an XSL Map File from Imported Source and Target Schema Files
13.3 Overview of the XSLT Mapper
13.3.1 Notes on the Mapper
13.4 Using the XSLT Mapper
13.4.1 Simple Copy by Linking Nodes
13.4.2 Setting Constant Values
13.4.3 Adding Functions Editing Function Parameters Chaining Functions Named Templates Importing User-Defined Functions
13.4.4 Editing XPath Expressions
13.4.5 Adding XSLT Constructs Conditional Processing with xsl:if Conditional Processing with xsl:choose Handling Repetition or Arrays
13.4.6 Automatically Mapping Nodes Auto Map with Confirmation
13.4.7 Viewing Unmapped Target Nodes
13.4.8 Generating Dictionaries
13.4.9 Creating Map Parameters and Variables Creating a Map Parameter Creating a Map Variable
13.4.10 Searching Source and Target Nodes
13.4.11 Ignoring Elements in the XSLT Document
13.4.12 Replacing a Schema in the XSLT Mapper
13.5 Testing the Map
13.5.1 Test XSL Map Window
13.5.2 Generating Reports Correcting Memory Errors When Generating Reports
13.5.3 Sample XML Generation
13.6 Summary

14 Oracle BPEL Process Manager Notification Service

14.1 Use Cases for Notification Service
14.2 Overview of Notification Service Concepts
14.2.1 Reliable Notification Service
14.3 Configuring the Notification Service in Oracle JDeveloper
14.3.1 The E-mail Notification Channel Setting E-mail Attachments Formatting the Body of an E-mail Message as HTML
14.3.2 The Fax Notification Channel
14.3.3 The Pager Notification Channel
14.3.4 The SMS Notification Channel
14.3.5 The Voice Notification Channel
14.3.6 Setting E-mail Addresses and Telephone Numbers Dynamically
14.3.7 Selecting Notification Recipients by Browsing the User Directory
14.3.8 Starting Business Processes with the E-mail Activation Agent
14.3.9 XML Validation Failure with the Notification Service
14.4 Summary

15 Oracle BPEL Process Manager Workflow Services

15.1 Oracle BPEL Process Manager Workflow Services 10.1.2 and Compatibility
15.2 Overview of Workflow Services
15.2.1 Workflow Functionality: A Procurement Process Example
15.2.2 Workflow Services Components
15.3 Use Cases for Workflow Services
15.3.1 Assigning a Task to a User or Role
15.3.2 Using the Various Participant Types
15.3.3 Escalation, Expiration, and Delegation
15.3.4 Automatic Assignment and Delegation
15.3.5 Work Queues and Proxy Support
15.3.6 The Oracle BPEL Worklist Application
15.4 Participant Types in Workflow Services
15.4.1 Continuing Workflows from Other Workflows
15.5 Overview of the Modeling Process
15.5.1 Create a Human Task Definition with the Human Task Editor
15.5.2 Associate the Human Task Definition with a BPEL Process
15.5.3 Generate the Task Display Form
15.6 Task 1: Creating the Human Task Definition with the Human Task Editor
15.6.1 Accessing the Human Task Editor From the Application Navigator From the Component Palette
15.6.2 Reviewing the Sections of the Human Task Editor
15.6.3 Specifying the Task Title, Priority, Outcome, and Owner Specifying a Task Title and Priority Specifying a Task Outcome Specifying a Task Owner
15.6.4 Specifying the Task Payload Data Structure
15.6.5 Assigning Task Participants Specifying Task Approvers Configuring the Single Approver Participant Type Configuring the Group Vote Participant Type Configuring the Management Chain Participant Type Configuring the Sequential List of Approvers Participant Type Configuring the FYI Assignee Participant Type Configuring the External Routing Service Participant Type Allowing All Participants to Invite Other Participants Abruptly Completing a Condition
15.6.6 Escalating, Renewing, or Ending the Task Overview or Escalation and Expiration Policy Never Expire Policy Expire After Policy Renew After Policy Escalate After Policy
15.6.7 Specifying Participant Notification Preferences Notifying Recipients of Changes to Task Status Editing the Notification Message Setting Up Reminders Securing Notifications, Making Messages Actionable, and Sending Attachments
15.6.8 Specifying Advanced Settings Specifying Escalation Rules Specifying WordML Style Sheets for Attachments Specifying Style Sheets for Attachments Specifying Multilingual Settings Overriding Default System Actions Overriding Default Exception Management Specifying Callback Classes on Task Status Allowing Task and Routing Customization in BPEL Callbacks
15.6.9 Exiting the Human Task Editor and Saving Your Changes
15.7 Task 2: Associating the Human Task with a BPEL Process
15.7.1 Associating a Human Worklist Task with a BPEL Process
15.7.2 Opening a Human Task Activity Already Associated with a BPEL Process
15.7.3 Defining the Human Task Activity Title, Initiator, Priority, and Parameter Variables Specifying the Task Title Specifying the Task Initiator and Task Priority Specifying Task Parameters
15.7.4 Defining the Human Task Activity Advanced Features Specifying a Scope Name and a Global Task Variable Name Specifying a Task Owner Specifying an Identification Key Including the Task History of Other Human Tasks Allowing Task and Routing Customizations in BPEL Callbacks
15.7.5 Viewing the Generated Human Task Activity BPEL Callbacks Including the Task History from Other Workflows
15.7.6 Outcome-Based Modeling Payload Updates Case Statements for Other Task Conclusions
15.8 Task 3: Generating the Task Display Form
15.8.1 Overview of Task Display Forms
15.8.2 Selecting a Task Display Form Preview Release of Task Display Form Support for ADF Data Controls
15.8.3 Automatically Generating a Simple Task Display Form Payload File for the Autogenerated JSP
15.8.4 Generating a Custom Task Display Form Autogenerated JSP Custom JSP Default JSP XSL
15.8.5 Deploying Task Display Forms
15.8.6 Creating Custom JSP Forms Adding Update Support in the Custom JSP
15.9 How Changes to a Workflow Appear in Worklist Application
15.10 Notifications from Workflow Services
15.10.1 Configuring the Notification Channel
15.10.2 Contents of Notification
15.10.3 Configuring Messages in Different Languages
15.10.4 Sending Actionable E-mails
15.10.5 Sending Inbound and Outbound Attachments
15.10.6 Sending Inbound Comments
15.10.7 Reliability Support
15.10.8 Sending Secure Notifications
15.10.9 Channels Used for Notifications
15.10.10 Sending Reminders
15.11 End-to-End Workflow Examples
15.11.1 Vacation Request Example
15.11.2 Prerequisites
15.11.3 Modeling the Vacation Request Process Creating the Vacation Request Process and Importing the Schema Adding a Human Task to the Order Approval Process Assigning Input and Output Parameters for the Human Task Creating a Task Form for the Worklist Modeling the Task Outcome Validating, Compiling, and Deploying the Order Approval Process Running the Order Approval Process
15.12 Workflow Services
15.12.1 EJB, SOAP, and Java Support for the Workflow Services
15.12.2 Security Model for Services Security in SOAP Web Services Security in EJBs Creating Workflow Context on Behalf of a User
15.12.3 Task Service
15.12.4 Task Query Service
15.12.5 Identity Service Creating Users and Groups Identity Service Providers User and Role Properties Multirealm Support Authentication, Authorization, and Identity Service Providers
15.12.6 Notification Service
15.12.7 Task Metadata Service
15.12.8 User Metadata Service
15.12.9 Runtime Config Service Internationalization of Attribute Labels
15.13 Configuring the Assignment Service
15.13.1 Dynamic Assignment Functions Implementing a Dynamic Assignment Function Configuring Dynamic Assignment Functions Configuring Display Names for Dynamic Assignment Functions
15.13.2 Dynamically Assigning Task Participants with the Assignment Service Assignment Service Overview Implementing an Assignment Service Example of Assignment Service Implementation Deploying a Custom Assignment Service
15.13.3 Custom Escalation Function
15.14 Workflow Service and Identity Service Related XPath Extension Functions
15.14.1 Deprecated Workflow Service and Identity Service Functions
15.15 NLS Configuration
15.16 Summary

16 Worklist Application

16.1 Use Cases for the Worklist Application
16.2 Overview of Worklist Application Concepts
16.2.1 Worklist Application User Types
16.2.2 Task Components
16.3 Features of the Worklist Application
16.3.1 Using the Task Details Page Task Actions Request Status Header Section Payload Section Comments and Attachments Section History Section Routing Requesting More Information Reassignment Parallel Tasks Determining Action Permissions
16.3.2 Using Advanced Search
16.3.3 Viewing a Bar Chart of Task Status
16.3.4 Using Work Queues
16.3.5 Setting Preferences Vacation Preferences My Rules Group Rules Custom Views Display Preferences
16.3.6 Using the Administration Functions Manage Rules Flex Field Mappings Application Customization
16.3.7 Creating Reports Unattended Tasks Report Tasks Priority Report Tasks Cycle Time Report Tasks Productivity Report
16.3.8 User and Group Information
16.4 Accessing the Worklist Application in Local Languages
16.5 Customizing the Worklist Application
16.5.1 Worklist Application Architecture Customizing the Login Page Customizing Header Information Customizing the Task Details Page Changing the Client-Service Binding for the Worklist Application Deploying the Custom Worklist Application Customizing the Worklist Application Using Preferences Configuring Display Names for Task Attributes Using
16.5.2 Controlling Access to Information and Actions for Different Users
16.5.3 Enabling the Worklist Application for Single Sign-On Task 1: Changing the Servlet Code Task 2: Changing the Application Configuration Task 3: Reviewing the File Changes Task 4: Building and Deploying the Application
16.6 Building Clients for Workflow Services
16.6.1 Packages and Classes for Building Clients
16.6.2 Workflow Service Client The IWorkflowServiceClient Interface
16.6.3 Classpaths for Java Clients
16.6.4 EJB References in Web Applications
16.6.5 Initiating a Task Creating a Task Creating a Payload Element in a Task Initiating a Task Programmatically
16.6.6 Writing a Worklist Application Using the HelpDeskUI Sample
16.7 Summary

17 Sensors

17.1 Use Cases for Sensors
17.2 Overview of Sensor Concepts
17.3 Implementing Sensors and Sensor Actions in Oracle JDeveloper
17.3.1 Configuring Sensors
17.3.2 Configuring Sensor Actions
17.3.3 Publishing to Remote Topics and Queues
17.3.4 Creating a Custom Data Publisher
17.3.5 Registering the Sensors and Sensor Actions in bpel.xml
17.4 Sensors and Oracle BPEL Control
17.4.1 Viewing Sensor and Sensor Action Definitions
17.4.2 Viewing Sensor Data
17.5 Sensor Integration with Oracle Business Activity Monitoring
17.5.1 Creating a Connection to Oracle BAM Server
17.5.2 Creating a Sensor
17.5.3 Creating a BAM Sensor Action
17.6 Sensor Public Views
17.6.1 BPM Schema
17.7 Sensor Actions XSD File
17.8 Summary

18 BPEL Process Integration with Business Rules

18.1 Business Rules and Decision Service Concepts
18.1.1 Business Rules and Business Rule Engines
18.1.2 Decision Service
18.1.3 Oracle Business Rules with Oracle BPEL Process Manager
18.2 Decision Service Architecture
18.2.1 Decision Service Components
18.2.2 Interaction with Other Components
18.2.3 Contents of Decision Service Configuration File
18.3 Use Cases for Integration of Business Processes and Business Rules
18.4 Integration of BPEL Processes with Business Rules
18.4.1 Create Rule Engine Connection Wizard
18.4.2 Decision Service Wizard Selecting an Invocation Pattern Selecting a Business Rule Specifying Input and Output Facts Importing Schema Files
18.4.3 Decide Activity Mapping Input and Output Facts to BPEL Variables
18.5 Methodology for Rule Set Modeling and Integration with a BPEL Process
18.5.1 Recommended Methodology
18.5.2 Methodology One: Modeling Fact Types Based on an XML Schema Task 1: Create a Data Model for Rule Authoring Task 2: Create a New Rule Repository and Dictionary in the Rule Author Task 3: Import the XML Schema into the Data Model of the Rule Dictionary Task 4: Create a New Rule Set and Model Rules
18.5.3 Methodology Two: Modeling Rules Based on Existing RL or JavaBeans Fact Types Task 1: Define a Contract between BPEL and Business Rules Task 2: Create a New Data Model Using the RL Fact Types Task 3: Create a New Rule Set and Rules Task 4: Create the RL Function Contract
18.5.4 Invoking the Sample Rule Set from a BPEL Process Task 1: Create a Connection to the Rule Engine Task 2: Create a BPEL Project Task 3: Create a Decision Service Partner Link Task 4: Create a Decide Activity
18.5.5 Summary of Methodology
18.6 Decision Service Deployment and Run Time
18.6.1 Decision Service Partner Link Directory Structure
18.6.2 Deployment
18.6.3 Run Time Oracle Enterprise Manager 10g Application Server Control Console Support Oracle BPEL Control Support
18.7 Advanced Decision Service Features
18.7.1 Using WSIF Bindings
18.7.2 Enabling Logging of Oracle Business Rules Rule Session Events
18.7.3 Customizing assertXPath
18.8 Example of BPEL Process Integration with Business Rules
18.8.1 Task 1: Update a Rule Using Oracle Business Rules Rule Author
18.8.2 Task 2: Create a Connection to the Business Rule Repository
18.8.3 Task 3: Create a BPEL Process and Import the Schema
18.8.4 Task 4: Create a Decision Service Partner Link
18.8.5 Task 5: Create a Decide Activity

Part IV Development and Deployment Life Cycle

19 BPEL Process Deployment and Domain Management

19.1 Compiling and Deploying a BPEL Process
19.1.1 Compiling and Deploying in Oracle JDeveloper Compiling Without Deploying in Oracle JDeveloper
19.1.2 BPEL Suitcase JAR File
19.1.3 Deploying to Multiple Environments with Different Configuration Values customize ant Task Example customize ant Task Syntax
19.2 Creating and Managing a BPEL Domain
19.2.1 Logging into Domains
19.2.2 Changing Domain Passwords
19.2.3 Creating a BPEL Domain
19.2.4 Changing Oracle BPEL Server Mode
19.2.5 Deploying a BPEL Suitcase to a Specific Domain
19.2.6 Undeploying a BPEL Process from a Specific Domain
19.3 Managing Processes in Oracle BPEL Control
19.3.1 Dashboard Tab: Viewing Deployed, Running, and Completed Processes Viewing and Changing Domains
19.3.2 BPEL Processes Tab: Managing the Process Life Cycle Clearing the WSDL Cache Deploying New Processes Performing Manual Recovery Refreshing the Alarm Table Viewing the Process Logs Managing the Process Life Cycle
19.3.3 Instances Tab: Viewing Process Instances
19.3.4 Activities Tab: Viewing Process Activities
19.4 Build and Command Line Tools
19.4.1 ant
19.4.2 bpelc Examples of ant Tasks
19.4.3 schemac Examples
19.5 Summary

20 Testing BPEL Processes

20.1 Overview of the BPEL Test Framework
20.1.1 Test Cases Overview
20.1.2 Test Suites Overview
20.1.3 Emulations Overview
20.1.4 Assertions Overview
20.1.5 Process Code Coverage Overview
20.1.6 JUnit Support Overview
20.2 Components of a Test Suite
20.2.1 Process Initiation
20.2.2 Emulations
20.2.3 Assertions
20.2.4 Include Files
20.3 Creating Test Suites in Oracle JDeveloper
20.3.1 Creating Test Suites in Oracle JDeveloper
20.3.2 Importing Test Cases in Oracle JDeveloper
20.3.3 Creating Test Cases in Oracle JDeveloper
20.3.4 Editing Test Cases in Oracle JDeveloper Creating Emulations in Oracle JDeveloper Creating Assertions in Oracle JDeveloper Creating External Calls in Oracle JDeveloper
20.3.5 Creating a Test Case from Oracle BPEL Control
20.4 Deploying a Test Suite
20.4.1 Deploying from Oracle JDeveloper
20.4.2 Deploying from an ant Task
20.5 Running a Test Suite and Viewing Report Results
20.5.1 Running from Oracle BPEL Control
20.5.2 Running from an ant Task
20.6 Advanced Test Suite Design Features
20.6.1 Setting Dynamic Values at Run Time
20.6.2 Asynchronous Event Emulation
20.6.3 Verifying External Actions
20.6.4 Custom Reporting
20.6.5 Database Views admin_list_td admin_list_tdef
20.6.6 XML Schemas
20.6.7 Client APIs

21 Oracle BPEL Portlets

21.1 OracleAS Portal Introduction
21.2 Step 1: Installing and Configuring the Required Oracle Application Server Components
21.2.1 Configuring Realms ( Only)
21.3 Step 2: Deploying the Portlets
21.3.1 Deploying Portlets with dcmctl
21.3.2 Deploying Portlets with Oracle Enterprise Manager 10g Application Server Control Console
21.4 Step 3: Registering Web Providers with OracleAS Portal
21.5 Step 4: Defining Portlet Parameters and Accessing Portlet Data Sources
21.5.1 Defining Oracle BPEL Control Report Portlet Parameters and Accessing Portlet Data Sources Instance State Instance Execution Time Performance Activity Sensor Process Time Distribution Fault Sensor
21.5.2 Defining Oracle BPEL Worklist Application Portlet Parameters and Accessing Portlet Data Sources Listing Portlet Customization Listing Portlet View Analysis Portlet Customization Analysis Portlet View
21.6 Step 5: Mapping Portlet Parameters with Page Parameters
21.7 Summary

22 Oracle BPEL Control Reports

22.1 Creating Oracle BPEL Control Reports
22.1.1 Creating Process Reports
22.1.2 Creating Performance Reports
22.1.3 Creating Activity Sensor Reports
22.1.4 Creating Fault Sensor Reports
22.1.5 Creating Process Time Distribution Reports
22.2 Summary

Part V Reference Information

A Troubleshooting and Workarounds

A.1 Troubleshooting General Issues
A.1.1 Setting Properties for BPEL Processes to Successfully Complete and Catch Exception Errors
A.1.2 Developer Prompt on Windows 2000
A.1.3 Correcting Validation Errors in Complex Processes
A.1.4 Handling Long-Running Processes
A.1.5 Creating an Empty BPEL Process and Importing a Schema
A.2 Troubleshooting Sensors—The Custom Data Publisher
A.2.1 Data Publisher Is Not Working
A.2.2 Data Publisher Works, But Business Process Runs Slowly
A.2.3 Caching Data in the Data Publisher Is Not Supported
A.2.4 Unexpected Errors in the Data Publisher
A.2.5 Data Extracted to XML Is Difficult to Work With
A.3 Troubleshooting Oracle BPEL Worklist Application
A.3.1 Not Able to Log In to the Worklist Application
A.3.2 Information Is Displayed in a Different Language
A.3.3 Dates and Times Are Displayed Incorrectly
A.3.4 The User Is Not Permitted to Perform an Action
A.3.5 Expected Task Is Not Listed Under Task Titles
A.4 Summary

B BPEL Process Activities and Services

B.1 Process Activities Overview
B.1.1 Tabs Common to Many Activities
B.1.2 Assign Activity
B.1.3 Compensate Activity
B.1.4 Decide Activity
B.1.5 Email Activity
B.1.6 Empty Activity
B.1.7 Fax Activity
B.1.8 Flow Activity
B.1.9 FlowN Activity
B.1.10 Human Task Activity
B.1.11 Invoke Activity
B.1.12 Java Embedding Activity
B.1.13 Pager Activity
B.1.14 Pick Activity
B.1.15 Receive Activity
B.1.16 Reply Activity
B.1.17 Scope Activity
B.1.18 Sequence Activity
B.1.19 SMS Activity
B.1.20 Switch Activity
B.1.21 Terminate Activity
B.1.22 Throw Activity
B.1.23 Transform Activity
B.1.24 Voice Activity
B.1.25 Wait Activity
B.1.26 While Activity
B.2 Services Overview
B.2.1 AQ Adapter
B.2.2 Database Adapter
B.2.3 Decision Service
B.2.4 EJB Web Service
B.2.5 File Adapter
B.2.6 FTP Adapter
B.2.7 Java Web Service
B.2.8 JMS Adapter
B.2.9 MQ Adapter
B.2.10 Oracle Applications
B.2.11 PartnerLink
B.3 Validation When Loading a Process Diagram
B.3.1 Changes Made In Oracle JDeveloper Do Not Update Automatically
B.4 Summary

C Deployment Descriptor Properties

C.1 Deployment Descriptor Preference Properties
C.1.1 Defining a Preference Property
C.1.2 Updating a Preference at Run Time
C.1.3 Getting the Value of a Preference within a BPEL Process
C.1.4 Encrypting a Preference Value
C.2 Deployment Descriptor Configuration Properties
C.2.1 Defining a Configuration Property
C.3 Summary

D XPath Extension Functions

D.1 Advanced Functions
D.1.1 create-nodeset-from-delimited-string
D.1.2 generate-guid
D.1.3 lookup-dvm
D.1.4 lookup-xml
D.2 BPEL Extension Functions
D.2.1 getLinkStatus
D.2.2 getVariableData
D.2.3 getVariableProperty
D.3 BPEL XPath Extension Functions
D.3.1 addQuotes
D.3.2 appendToList
D.3.3 copyList
D.3.4 countNodes
D.3.5 doc
D.3.6 formatDate
D.3.7 generateGUID
D.3.8 getContentAsString
D.3.9 getConversationId
D.3.10 getCreator
D.3.11 getCurrentDate
D.3.12 getCurrentDateTime
D.3.13 getCurrentTime
D.3.14 getDomainId
D.3.15 getElement
D.3.16 getGroupIdsFromGroupAlias
D.3.17 getInstanceId
D.3.18 getNodeValue
D.3.19 getNodes
D.3.20 getPreference
D.3.21 getProcessId
D.3.22 getProcessOwnerId
D.3.23 getProcessURL
D.3.24 getProcessVersion
D.3.25 getUserAliasId
D.3.26 integer
D.3.27 parseEscapedXML
D.3.28 processXQuery
D.3.29 processXSLT
D.3.30 processXSQL
D.3.31 readBinaryFromFile
D.3.32 readFile
D.3.33 writeBinaryToFile
D.4 Database Functions
D.4.1 lookup-table
D.4.2 query-database
D.4.3 sequence-next-val
D.5 Date Functions
D.5.1 add-dayTimeDuration-to-dateTime
D.5.2 current-date
D.5.3 current-dateTime
D.5.4 current-time
D.5.5 day-from-dateTime
D.5.6 format-dateTime
D.5.7 hours-from-dateTime
D.5.8 implicit-timezone
D.5.9 minutes-from-dateTime
D.5.10 month-from-dateTime
D.5.11 seconds-from-dateTime
D.5.12 subtract-dayTimeDuration-from-dateTime
D.5.13 timezone-from-dateTime
D.5.14 year-from-dateTime
D.6 Mathematical Functions
D.6.1 abs
D.7 Identity Service Functions
D.7.1 getDefaultRealmName
D.7.2 getGroupProperty
D.7.3 getManager
D.7.4 getReportees
D.7.5 getSupportedRealmNames
D.7.6 getUserProperty
D.7.7 getUserRoles
D.7.8 getUsersInGroup
D.7.9 isUserInRole
D.7.10 lookupGroup
D.7.11 lookupUser
D.8 Workflow Service Functions
D.8.1 clearTaskAssignees
D.8.2 createWordMLDocument
D.8.3 getNotificationProperty
D.8.4 getNumberOfTaskApprovals
D.8.5 getPreviousTaskApprover
D.8.6 getTaskAttachmentByIndex
D.8.7 getTaskAttachmentByName
D.8.8 getTaskAttachmentContents
D.8.9 getTaskAttachmentsCount
D.8.10 getTaskResourceBundleString
D.8.11 wfDynamicGroupAssign
D.8.12 wfDynamicUserAssign
D.9 String Functions
D.9.1 compare
D.9.2 compare-ignore-case
D.9.3 create-delimited-string
D.9.4 ends-with
D.9.5 format-string
D.9.6 get-content-as-string
D.9.7 get-localized-string
D.9.8 index-within-string
D.9.9 last-index-within-string
D.9.10 left-trim
D.9.11 lower-case
D.9.12 matches
D.9.13 right-trim
D.9.14 upper-case
D.10 Utility Functions
D.10.1 authenticate
D.10.2 batchProcessActive
D.10.3 batchProcessCompleted
D.10.4 format
D.10.5 genEmptyElem
D.10.6 getChildElement
D.10.7 getMessage
D.10.8 listUsers
D.10.9 max-value-among-nodeset
D.10.10 min-value-among-nodeset
D.10.11 search
D.10.12 square-root
D.10.13 translateFromNative
D.10.14 translateToNative
D.11 Adding a Custom XPath Function
D.12 Summary

E Workflow Services Changes Between 10.1.2 and

E.1 Backwards Compatibility between 10.1.2 and
E.2 Changes Between the Workflow Wizard and the Human Task Editor
E.3 Changes to Configuration Files
E.4 Changes to Worklist APIs
E.5 Changes to Task Display Form Deployment
E.6 Changes to the Oracle BPEL Worklist Application
E.7 Changes to Oracle BPEL Control
E.8 Migrating Workflow Definitions from 10.1.2 to