Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite
11
g
Release 1 (11.1.1.5.0)
Part Number E10224-09
Home
Book List
Index
Contact Us
Next
View PDF
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Introduction to Oracle SOA Suite
1
Introduction to Building Applications with Oracle SOA Suite
1.1
Introduction to Service-Oriented Architecture
1.2
Introduction to Services
1.3
Introduction to Oracle SOA Suite
1.4
Standards Used by Oracle SOA Suite to Enable SOA
1.5
Service Component Architecture within SOA Composite Applications
1.5.1
Service Components
1.5.2
Binding Components
1.5.3
Wires
1.6
Runtime Behavior of a SOA Composite Application
1.6.1
Service Infrastructure
1.6.2
Service Engines
1.6.3
Deployed Service Archives
1.7
Approaches for Designing SOA Composite Applications
1.8
Learning Oracle SOA Suite
2
Developing SOA Composite Applications with Oracle SOA Suite
2.1
Creating a SOA Application
2.1.1
How to Create a SOA Application and Project
2.1.2
What Happens When You Create a SOA Application and Project
2.1.3
What You May Need to Know About Opening the composite.xml File Through a SOA-MDS Connection
2.2
Adding Service Components
2.2.1
How to Add a Service Component
2.2.2
What You May Need to Know About Adding and Deleting a Service Component
2.2.3
How to Edit a Service Component
2.3
Adding Service Binding Components
2.3.1
How to Add a Service Binding Component
2.3.2
How to Add a WSDL for a Web Service
2.3.3
How to View Schemas
2.3.4
How to Edit a Service Binding Component
2.3.5
What You May Need to Know About Adding and Deleting Services
2.4
Adding Reference Binding Components
2.4.1
How to Add a Reference Binding Component
2.4.2
What You May Need to Know About Adding and Deleting References
2.4.3
What You May Need to Know About WSDL References
2.4.4
What You May Need to Know About Mixed Message Types in a WSDL File
2.4.5
What You May Need to Know About Invoking the Default Revision of a Composite
2.5
Adding Wires
2.5.1
How to Wire a Service and a Service Component
2.5.2
How to Wire a Service Component and a Reference
2.5.3
What You May Need to Know About Adding and Deleting Wires
2.6
Adding Security
2.7
Deploying a SOA Composite Application
2.7.1
How to Invoke Deployed Composites
2.8
Managing and Testing a SOA Composite Application
2.8.1
How to Manage Deployed Composites
2.8.2
How to Test a Deployed Composite
3
Introduction to the SOA Sample Application
3.1
Introduction to the Fusion Order Demo
3.1.1
Store Front Module
3.1.2
WebLogic Fusion Order Demo Application
3.2
Setting Up the Fusion Order Demo Application
3.2.1
Task 1: Install Oracle JDeveloper Studio
3.2.2
Task 2: Install the Fusion Order Demo Application
3.2.3
Task 3: Install Oracle SOA Suite
3.3
Taking a Look at the WebLogic Fusion Order Demo Application
3.3.1
Project Applications of the WebLogic Fusion Order Demo Application
3.3.2
The composite.xml File
3.4
Understanding the OrderBookingComposite Flow
3.5
Deploying Fusion Order Demo
3.5.1
Task 1: Create a Connection to an Oracle WebLogic Server
3.5.2
(Optional) Task 2: Create a Connection to the Oracle BAM Server
3.5.3
Task 3: Install the Schema for the Fusion Order Demo Application
3.5.4
Task 4: Set the Configuration Property for the Store Front Module
3.5.5
Task 5: Edit the Database Connection
3.5.6
Task 6: Deploy the Store Front Module
3.5.7
Task 7: Deploy the WebLogic Fusion Order Demo Application
3.6
Running Fusion Order Demo
3.7
Viewing Data Sent to Oracle BAM Server
3.8
Undeploying the Composites for the WebLogic Fusion Order Demo Application
Part II Using the BPEL Process Service Component
4
Getting Started with Oracle BPEL Process Manager
4.1
Introduction to the BPEL Process Service Component
4.1.1
How to Add a BPEL Process Service Component
4.2
Introduction to Activities
4.3
Introduction to Partner Links
4.4
Creating a Partner Link
4.4.1
How to Create a Partner Link
4.4.1.1
Partner Links for an Outbound Adapter
4.4.1.2
Partner Links for an Inbound Adapter
4.4.1.3
Partner Links from an Abstract WSDL to Call a Service
4.4.1.4
Partner Links from an Abstract WSDL to Implement a Service
4.4.1.5
Partner Links and Human Tasks or Business Rules
4.4.1.6
Partner Links from an Existing Human Task, Business Rule, or Oracle Mediator
4.5
Introduction to Technology Adapters
4.6
Introduction to BPEL Process Monitors
5
Introduction to Interaction Patterns in a BPEL Process
5.1
Introduction to One-Way Messages
5.2
Introduction to Synchronous Interactions
5.3
Introduction to Asynchronous Interactions
5.4
Introduction to Asynchronous Interactions with a Timeout
5.5
Introduction to Asynchronous Interactions with a Notification Timer
5.6
Introduction to One Request, Multiple Responses
5.7
Introduction to One Request, One of Two Possible Responses
5.8
Introduction to One Request, a Mandatory Response, and an Optional Response
5.9
Introduction to Partial Processing
5.10
Introduction to Multiple Application Interactions
6
Manipulating XML Data in a BPEL Process
6.1
Introduction to Manipulating XML Data in BPEL Processes
6.1.1
XML Data in BPEL
6.1.2
Data Manipulation and XPath Standards
6.2
Delegating XML Data Operations to Data Provider Services
6.2.1
How to Create an Entity Variable
6.2.1.1
Understanding How SDO Works in the Inbound Direction
6.2.1.2
Understanding How SDO Works in the Outbound Direction
6.2.1.3
Creating an Entity Variable and Choosing a Partner Link
6.2.1.4
Creating a Binding Key
6.3
Using Standalone SDO-based Variables
6.3.1
How to Declare SDO-based Variables
6.3.2
How to Convert from XML to SDO
6.4
Initializing a Variable with Expression Constants or Literal XML
6.4.1
How To Assign a Literal XML Element
6.5
Copying Between Variables
6.5.1
How to Copy Between Variables
6.5.2
Initializing Variables with an Inline from-spec in BPEL 2.0
6.6
Accessing Fields in Element and Message Type Variables
6.6.1
How to Access Fields Within Element-Based and Message Type-Based Variables
6.7
Assigning Numeric Values
6.7.1
How to Assign Numeric Values
6.8
Using Mathematical Calculations with XPath Standards
6.8.1
How To Use Mathematical Calculations with XPath Standards
6.9
Assigning String Literals
6.9.1
How to Assign String Literals
6.10
Concatenating Strings
6.10.1
How to Concatenate Strings
6.11
Assigning Boolean Values
6.11.1
How to Assign Boolean Values
6.12
Assigning a Date or Time
6.12.1
How to Assign a Date or Time
6.13
Manipulating Attributes
6.13.1
How to Manipulate Attributes
6.14
Manipulating XML Data with bpelx Extensions
6.14.1
How to Use bpelx:append
6.14.1.1
bpelx:append in BPEL 1.1
6.14.1.2
bpelx:append in BPEL 2.0
6.14.2
How to Use bpelx:insertBefore
6.14.2.1
bpelx:insertBefore in BPEL 1.1
6.14.2.2
bpelx:insertBefore in BPEL 2.0
6.14.3
How to Use bpelx:insertAfter
6.14.3.1
bpelx:insertAfter in BPEL 1.1
6.14.3.2
bpelx:insertAfter in BPEL 2.0
6.14.4
How to Use bpelx:remove
6.14.4.1
bpelx:remove in BPEL 1.1
6.14.4.2
bpelx:remove in BPEL 2.0
6.14.5
How to Use bpelx:rename and XSD Type Casting
6.14.5.1
bpelx:rename in BPEL 1.1
6.14.5.2
bpelx:rename in BPEL 2.0
6.14.6
How to Use bpelx:copyList
6.14.6.1
bpelx:copyList in BPEL 1.1
6.14.6.2
bpelx:copyList in BPEL 2.0
6.14.7
How to Use Assign Extension Attributes
6.14.7.1
ignoreMissingFromData Attribute
6.14.7.2
insertMissingToData Attribute
6.14.7.3
keepSrcElementName Attribute
6.15
Validating XML Data
6.15.1
How to Validate XML Data in BPEL 1.1
6.15.2
How to Validate XML Data in BPEL 2.0
6.16
Using Element Variables in Message Exchange Activities in BPEL 2.0
6.17
Mapping WSDL Message Parts in BPEL 2.0
6.17.1
How to Map WSDL Message Parts
6.17.2
What Happens When You Map WSDL Message Parts
6.18
Importing Process Definitions in BPEL 2.0
6.19
Manipulating XML Data Sequences That Resemble Arrays
6.19.1
How to Statically Index into an XML Data Sequence That Uses Arrays
6.19.2
How to Use SOAP-Encoded Arrays
6.19.2.1
SOAP-Encoded Arrays in BPEL 2.0
6.19.3
How to Determine Sequence Size
6.19.4
How to Dynamically Index by Applying a Trailing XPath to an Expression
6.19.4.1
Applying a Trailing XPath to the Result of getVariableData
6.19.4.2
Using the bpelx:append Extension to Append New Items to a Sequence
6.19.4.3
Merging Data Sequences
6.19.4.4
Generating Functionality Equivalent to an Array of an Empty Element
6.19.5
What You May Need to Know About Using the Array Identifier
6.20
Converting from a String to an XML Element
6.20.1
How To Convert from a String to an XML Element
6.21
Understanding Document-Style and RPC-Style WSDL Differences
6.21.1
How To Use RPC-Style Files
6.22
Manipulating SOAP Headers in BPEL
6.22.1
How to Receive SOAP Headers in BPEL
6.22.2
How to Send SOAP Headers in BPEL
6.23
Declaring Extension Namespaces in BPEL 2.0
6.23.1
How to Declare Extension Namespaces
6.23.2
What Happens When You Create an Extension
7
Invoking a Synchronous Web Service from a BPEL Process
7.1
Introduction to Invoking a Synchronous Web Service
7.2
Invoking a Synchronous Web Service
7.2.1
How to Invoke a Synchronous Web Service
7.2.2
What Happens When You Invoke a Synchronous Web Service
7.2.2.1
Partner Link in the BPEL Code
7.2.2.2
Partner Link Type and Port Type in the BPEL Code
7.2.2.3
Invoke Activity for Performing a Request
7.2.2.4
Synchronous Invocation in BPEL Code
7.3
Specifying Timeout Values
7.3.1
How To Specify Timeout Values
7.3.2
What You May Need to Know About SyncMaxWaitTime and Synchronous Requests Not Timing Out
7.4
Calling a One-Way Mediator with a Synchronous BPEL Process
8
Invoking an Asynchronous Web Service from a BPEL Process
8.1
Introduction to Invoking an Asynchronous Web Service
8.2
Invoking an Asynchronous Web Service
8.2.1
How to Invoke an Asynchronous Web Service
8.2.1.1
Adding a Partner Link for an Asynchronous Service
8.2.1.2
Adding an Invoke Activity
8.2.1.3
Adding a Receive Activity
8.2.1.4
Performing Additional Activities
8.2.2
What Happens When You Invoke an Asynchronous Web Service
8.2.2.1
portType Section of the WSDL File
8.2.2.2
partnerLinkType Section of the WSDL File
8.2.2.3
Partner Links Section in the BPEL File
8.2.2.4
Composite Application File
8.2.2.5
Invoke and Receive Activities
8.2.2.6
createInstance Attribute for Starting a New Instance
8.2.2.7
Dehydration Points for Maintaining Long-Running Asynchronous Processes
8.2.2.8
Multiple Runtime Endpoint Locations
8.2.3
What You May Need to Know About Limitations on BPEL 2.0 IMA Support
8.2.4
What Happens When You Specify a Conversation ID
8.2.4.1
bpelx:conversationId in BPEL 1.1
8.2.4.2
bpelx:conversationId in BPEL 2.0
8.3
Using a Dynamic Partner Link at Runtime
8.3.1
How To Add and Use a Dynamic Partner Link at Runtime
8.4
Using WS-Addressing in an Asynchronous Service
8.4.1
How to Use WS-Addressing in an Asynchronous Service
8.4.1.1
Using TCP Tunneling to See Messages Exchanged Between Programs
8.5
Using Correlation Sets in an Asynchronous Service
8.5.1
How to Use Correlation Sets in an Asynchronous Service
8.5.1.1
Step 1: Creating a Project
8.5.1.2
Step 2: Configuring Partner Links and File Adapter Services
8.5.1.3
Step 3: Creating Three Receive Activities
8.5.1.4
Step 4: Creating Correlation Sets
8.5.1.5
Step 5: Associating Correlation Sets with Receive Activities
8.5.1.6
Step 6: Creating Property Aliases
8.5.1.7
Step 7: Reviewing WSDL File Content
8.5.2
What You May Need to Know About Setting Correlations for an IMA Using a fromParts Element With Multiple Parts
9
Using Parallel Flow in a BPEL Process
9.1
Introduction to Parallel Flows in BPEL Processes
9.2
Creating a Parallel Flow
9.2.1
How to Create a Parallel Flow
9.2.2
What Happens When You Create a Parallel Flow
9.2.3
Synchronizing the Execution of Activities in a Flow Activity
9.2.4
How to Create Synchronization Between Activities Within a Flow Activity
9.2.5
What Happens When You Create Synchronization Between Activities Within a Flow Activity
9.2.6
What You May Need to Know About Join Conditions in Target Activities
9.3
Customizing the Number of Parallel Branches
9.3.1
Customizing the Number of Flow Activities with the flowN Activity in BPEL 1.1
9.3.1.1
How to Create a flowN Activity
9.3.1.2
What Happens When You Create a FlowN Activity
9.3.2
Processing Multiple Sets of Activities with the forEach Activity in BPEL 2.0
9.3.2.1
How to Create a forEach Activity
9.3.2.2
What Happens When You Create a forEach Activity
10
Using Conditional Branching in a BPEL Process
10.1
Introduction to Conditional Branching
10.2
Defining Conditional Branching
10.2.1
Defining Conditional Branching with the Switch Activity in BPEL 1.1
10.2.1.1
How to Create a Switch Activity
10.2.1.2
What Happens When You Create a Switch Activity
10.2.2
Defining Conditional Branching with the If Activity in BPEL 2.0
10.2.2.1
How to Create an If Activity
10.2.2.2
What Happens When You Create an If Activity
10.3
Creating a While Activity to Define Conditional Branching
10.3.1
How To Create a While Activity
10.3.2
What Happens When You Create a While Activity
10.4
Creating a repeatUntil Activity to Define Conditional Branching
10.4.1
How to Create a repeatUntil Activity
10.4.2
What Happens When You Create a repeatUntil Activity
10.5
Specifying XPath Expressions to Bypass Activity Execution
10.5.1
How to Specify XPath Expressions to Bypass Activity Execution
10.5.2
What Happens When You Specify XPath Expressions to Bypass Activity Execution
11
Using Fault Handling in a BPEL Process
11.1
Introduction to a Fault Handler
11.2
Introduction to BPEL Standard Faults
11.2.1
BPEL 1.1 Standard Faults
11.2.2
BPEL 2.0 Standard Faults
11.2.2.1
Fault Handling Order of Precedence in BPEL 2.0
11.3
Introduction to Categories of BPEL Faults
11.3.1
Business Faults
11.3.2
Runtime Faults
11.3.2.1
bindingFault
11.3.2.2
remoteFault
11.3.2.3
replayFault
11.4
Using the Fault Management Framework
11.4.1
How to Design a Fault Policy
11.4.1.1
Understanding How Fault Policy Binding Resolution Works
11.4.1.2
Creating a Fault Policy File for Automated Fault Recovery
11.4.1.3
Associating a Fault Policy with Fault Policy Binding
11.4.1.4
Additional Fault Policy and Fault Policy Binding File Samples
11.4.1.5
Designing a Fault Policy with Multiple Rejection Handlers
11.4.2
How to Execute a Fault Policy
11.4.3
How to Use a Java Action Fault Policy
11.4.4
What You May Need to Know About Fault Management Behavior When the Number of Instance Retries is Exceeded
11.4.5
What You May Need to Know Executing the Retry Action with Multiple Faults in the Same Flow
11.4.6
What You May Need to Know About Binding Level Retry Execution Within Fault Policy Retries
11.4.7
What You May Need to Know About Defining the ora-java Option
11.5
Catching BPEL Runtime Faults
11.5.1
How to Catch BPEL Runtime Faults
11.6
Getting Fault Details with the getFaultAsString XPath Extension Function
11.6.1
How to Get Fault Details with the getFaultAsString XPath Extension Function
11.7
Throwing Internal Faults
11.7.1
How to Create a Throw Activity
11.7.2
What Happens When You Create a Throw Activity
11.8
Rethrowing Faults with the Rethrow Activity
11.8.1
How to Create a Rethrow Activity
11.8.2
What Happens When You Rethrow Faults
11.9
Returning External Faults
11.9.1
How to Return a Fault in a Synchronous Interaction
11.9.2
How to Return a Fault in an Asynchronous Interaction
11.10
Using a Scope Activity to Manage a Group of Activities
11.10.1
How to Create a Scope Activity
11.10.2
How to Add Descriptive Notes and Images to a Scope Activity
11.10.3
What Happens After You Create a Scope Activity
11.10.4
What You May Need to Know About Scopes
11.10.5
How to Use a Fault Handler Within a Scope
11.10.6
How to Create a Catch Activity in a Scope
11.10.7
What Happens When You Create a Catch Activity in a Scope
11.10.8
How to Create an Empty Activity to Insert No-Op Instructions into a Business Process
11.10.9
What Happens When You Create an Empty Activity
11.11
Re-executing Activities in a Scope Activity with the Replay Activity
11.11.1
How to Create a Replay Activity
11.11.2
What Happens When You Create a Replay Activity
11.12
Using Compensation After Undoing a Series of Operations
11.12.1
Using a Compensate Activity
11.12.2
How to Create a Compensate Activity
11.12.3
What Happens When You Create a compensate Activity
11.12.4
Using a compensateScope Activity in BPEL 2.0
11.12.5
How to Create a compensateScope Activity
11.12.6
What Happens When You Create a compensateScope Activity
11.13
Stopping a Business Process Instance
11.13.1
Stopping a Business Process Instance with the Terminate Activity in BPEL 1.1
11.13.1.1
How to Create a Terminate Activity
11.13.1.2
What Happens When You Create a Terminate Activity
11.13.2
Immediately Ending a Business Process Instance with the Exit Activity in BPEL 2.0
11.13.2.1
How to Create an Exit Activity
11.13.2.2
What Happens When You Create an Exit Activity
11.14
Throwing Faults with Assertion Conditions
11.14.1
bpelx:postAssert and bpelx:preAssert Extensions
11.14.2
Use of faultName and message Attributes
11.14.3
Multiple Assertions
11.14.4
Use of Built-in and Custom XPath Functions and $variable References
11.14.5
Assertion Condition Evaluation Logging of Events to the Instance Audit Trail
11.14.6
Expressions Not Evaluating to an XML Schema Boolean Type Throw a Fault
11.14.7
Assertion Conditions in a Standalone Assert Activity
11.14.8
How to Create Assertion Conditions
11.14.9
How to Disable Assertions
11.14.10
What Happens When You Create Assertion Conditions
12
Transaction and Fault Propagation Semantics in BPEL Processes
12.1
Introduction to Transaction Semantics
12.1.1
Oracle BPEL Process Manager Transaction Semantics
12.1.1.1
BPELCaller Calls BPELCallee That Has bpel.config.transaction Set to requiresNew
12.1.1.2
BPELCaller Calls BPELCallee That Has bpel.config.transaction Set to required
12.2
Introduction to Execution of One-way Invocations
13
Incorporating Java and Java EE Code in a BPEL Process
13.1
Introduction to Java and Java EE Code in BPEL Processes
13.2
Incorporating Java and Java EE Code in BPEL Processes
13.2.1
How to Wrap Java Code as a SOAP Service
13.2.2
What You May Need to Know About Wrapping Java Code as a SOAP Service
13.2.3
How to Embed Java Code Snippets into a BPEL Process with the bpelx:exec Tag
13.2.4
How to Embed Java Code Snippets in a BPEL Process in BPEL 2.0
13.2.5
How to Use an XML Facade to Simplify DOM Manipulation
13.2.6
How to Use bpelx:exec Built-in Methods
13.2.7
How to Use Java Code Wrapped in a Service Interface
13.3
Adding Custom Classes and JAR Files
13.3.1
How to Add Custom Classes and JAR Files
13.4
Using Java Embedding in a BPEL Process in Oracle JDeveloper
13.4.1
How To Use Java Embedding in a BPEL Process in Oracle JDeveloper
13.4.2
What You May Need to Know About Using thread.sleep() in a Java Embedding Activity
13.5
Embedding Service Data Objects with bpelx:exec
13.6
Sharing a Custom Implementation of a Class with Oracle BPEL Process Manager
13.6.1
How to Configure the BPEL Connection Manager Class to Take Precedence
14
Using Events and Timeouts in BPEL Processes
14.1
Introduction to Event and Timeout Concepts
14.2
Creating a Pick Activity to Select Between Continuing a Process or Waiting
14.2.1
How To Create a Pick Activity
14.2.2
What Happens When You Create a Pick Activity
14.2.3
What You May Need to Know About Simultaneous onMessage Branches in BPEL 2.0
14.3
Setting Timeouts for Request-Response Operations in Receive Activities
14.3.1
Timeout Settings Relative from When the Activity is Invoked
14.3.2
Timeout Settings as an Absolute Date Time
14.3.3
Timeout Settings Computed Dynamically with an XPath Expression
14.3.4
bpelx:timeout Fault Thrown During an Activity Timeout
14.3.5
Event Added to the BPEL Instance Audit Trail During an Activity Timeout
14.3.6
Recoverable Timeout Activities During a Server Restart (Refresh Expiration Alarm Table)
14.3.7
How to Set Timeouts for Request-Response Operations in Receive Activities
14.3.8
What Happens When You Set Timeouts for Request-Response Operations in Receive Activities
14.4
Creating a Wait Activity to Set an Expiration Time
14.4.1
How To Specify the Minimum Wait Time
14.4.2
How to Create a Wait Activity
14.4.3
What Happens When You Create a Wait Activity
14.5
Specifying Events to Wait for Message Arrival with an OnEvent Branch in BPEL 2.0
14.5.1
How to Create an onEvent Branch in a Scope Activity
14.5.2
What Happens When You Create an OnEvent Branch
14.6
Setting Timeouts for Synchronous Processes
15
Coordinating Master and Detail Processes
15.1
Introduction to Master and Detail Process Coordinations
15.1.1
BPEL File Definition for the Master Process
15.1.1.1
Correlating a Master Process with Multiple Detail Processes
15.1.2
BPEL File Definition for Detail Processes
15.2
Defining Master and Detail Process Coordination in Oracle JDeveloper
15.2.1
How to Create a Master Process
15.2.2
How to Create a Detail Process
15.2.3
How to Create an Invoke Activity
16
Using the Notification Service
16.1
Introduction to the Notification Service
16.2
Introduction to Notification Channel Setup
16.3
Selecting Notification Channels During BPEL Process Design
16.3.1
How To Configure the Email Notification Channel
16.3.1.1
Setting Email Attachments
16.3.1.2
Formatting the Body of an Email Message as HTML
16.3.1.3
Using Dynamic HTML for Message Content Requires a CDATA Function
16.3.2
How to Configure the IM Notification Channel
16.3.3
How to Configure the SMS Notification Channel
16.3.4
How to Configure the Voice Notification Channel
16.3.5
How to Select Email Addresses and Telephone Numbers Dynamically
16.3.6
How to Select Notification Recipients by Browsing the User Directory
16.4
Allowing the End User to Select Notification Channels
16.4.1
How to Allow the End User to Select Notification Channels
16.4.1.1
How to Create and Send Headers for Notifications
17
Using Oracle BPEL Process Manager Sensors
17.1
Introduction to Sensors
17.2
Configuring Sensors and Sensor Actions in Oracle JDeveloper
17.2.1
How to Access Sensors and Sensor Actions
17.2.2
How to Configure Sensors
17.2.3
How to Configure Sensor Actions
17.2.4
How to Publish to Remote Topics and Queues
17.2.5
How to Create a Custom Data Publisher
17.2.6
How to Register the Sensors and Sensor Actions in composite.xml
17.3
Viewing Sensors and Sensor Action Definitions in Oracle Enterprise Manager Fusion Middleware Control
Part III Using the Oracle Mediator Service Component
18
Getting Started with Oracle Mediator
18.1
Introduction to Oracle Mediator
18.2
Introduction to the Mediator Editor Environment
18.3
Creating an Oracle Mediator
18.3.1
How to Create an Oracle Mediator
18.4
Configuring the Oracle Mediator Interface Definition
18.4.1
Creating an Oracle Mediator Without an Interface Definition
18.4.1.1
How to Create an Oracle Mediator Without an Interface Definition
18.4.1.2
What Happens When You Create an Oracle Mediator Without an Interface Definition
18.4.1.3
How to Define an Interface for an Oracle Mediator
18.4.2
Creating an Oracle Mediator Based on a WSDL File
18.4.2.1
How to Create an Oracle Mediator Based on a WSDL File
18.4.2.2
What Happens When You Create an Oracle Mediator from a WSDL File
18.4.3
Creating an Oracle Mediator With a One-Way Interface Definition
18.4.3.1
How to Create an Oracle Mediator with a One-Way Interface Definition
18.4.3.2
What Happens When You Create an Oracle Mediator with a One-Way Interface Definition
18.4.4
Creating an Oracle Mediator with a Synchronous Interface Definition
18.4.4.1
How to Create an Oracle Mediator with a Synchronous Interface Definition
18.4.4.2
What Happens When You Create an Oracle Mediator with a Synchronous Interface Definition
18.4.5
Creating an Oracle Mediator with an Asynchronous Interface Definition
18.4.5.1
How to Create an Oracle Mediator with an Asynchronous Interface Definition
18.4.5.2
What Happens When You Create an Oracle Mediator with an Asynchronous Interface Definition
18.4.6
Creating an Oracle Mediator for an Event Subscription
18.4.6.1
How to Create an Oracle Mediator for an Event Subscription
18.4.6.2
What Happens When You Create an Oracle Mediator for an Event Subscription
18.4.7
What You May Need to Know About the Mediator Editor
18.4.7.1
Resequencing
18.4.7.2
Routing Rules
18.5
Generating a WSDL File
18.5.1
How to Generate a WSDL File
18.6
Specifying Operation or Event Subscription Properties
18.7
Modifying an Oracle Mediator Service Component
18.7.1
How To Modify Operations of an Oracle Mediator
18.7.2
How To Modify Event Subscriptions of an Oracle Mediator
19
Creating Oracle Mediator Routing Rules
19.1
Introduction to Routing Rules
19.2
Defining Routing Rules
19.2.1
How To Access the Routing Rules Section
19.2.2
How to Create Static Routing Rules
19.2.2.1
How to Specify Oracle Mediator Services or Events
19.2.2.2
What You May Need to Know About Echoing a Service
19.2.2.3
How to Specify Sequential or Parallel Execution
19.2.2.4
How to Configure Response Messages
19.2.2.5
How to Handle Multiple Callbacks
19.2.2.6
How to Handle Faults
19.2.2.7
How to Specify an Expression for Filtering Messages
19.2.2.8
How to Create Transformations
19.2.2.9
How to Assign Values
19.2.2.10
What You May Need to Know About the Assign Activity
19.2.2.11
How to Access Headers for Filters and Assignments
19.2.2.12
How to Use Semantic Validation
19.2.2.13
How to Use Java Callouts
19.2.3
How to Create Dynamic Routing Rules
19.2.4
What You May Need to Know About Using Dynamic Routing Rules
19.2.5
How to Define Default Routing Rules
19.2.5.1
Default Rule Scenarios
19.2.5.2
Default Rule Target
19.2.5.3
Default Rule: Validation, Transformation, and Assign Functionality
19.2.5.4
Default Rule: Java Callouts
19.2.5.5
Default Rule: Oracle Mediator .mplan File
19.3
Creating an Oracle Mediator for Routing Messages
19.3.1
How to Create the CustomerRouter Use Case
19.3.1.1
Task 1: How to Create an Oracle JDeveloper Application and a Project
19.3.1.2
Task 2: How to Create the CustomerRouter Oracle Mediator Service Component
19.3.1.3
Task 3: How to Create a File Adapter Service
19.3.1.4
Task 4: How to Create a File Adapter Reference
19.3.1.5
Task 5: How to Specify Routing Rules
19.3.1.6
Task 6: How to Create an Application Server Connection
19.3.1.7
Task 7: How to Deploy the CustomerRouterProject
19.3.2
Running and Monitoring the CustomerRouterProject Application
19.4
Creating an Asynchronous Request and Response Using Oracle Mediator
19.4.1
How to Create the AsyncMediator Use Case
19.4.1.1
Task 1: How to Create an Oracle JDeveloper Application and Project
19.4.1.2
Task 2: How to Create a Server BPEL Process
19.4.1.3
Task 3: How to Create an Oracle Mediator Service Component
19.4.1.4
Task 4: How to Create a Client BPEL Process
19.4.1.5
Task 5: How to Create the Invoke, Receive, and Assign Activities
19.4.1.6
Task 6: How to Configure an Application Server Connection
19.4.1.7
Task 7: How to Deploy the SOA Composite Application
20
Working with Multiple Part Messages in Oracle Mediator
20.1
Introduction to Oracle Mediator Multipart Message Support
20.2
Working with Multipart Request Messages
20.2.1
How to Work with Multipart Request Messages
20.2.1.1
How to Specify Filter Expressions
20.2.1.2
How to Add Validations
20.2.1.3
How to Create Transformations
20.2.1.4
How to Assign Values
20.2.2
How to Work with Multipart Reply, Fault, and Callback Source Messages
20.2.3
How to Work with Multipart Target Messages
21
Using Oracle Mediator Error Handling
21.1
Introduction to Oracle Mediator Error Handling
21.1.1
Fault Policies
21.1.1.1
Conditions
21.1.1.2
Actions
21.1.2
Fault Bindings
21.1.3
Error Groups in Oracle Mediator
21.2
Using Error Handling with Oracle Mediator
21.2.1
How to Use Error Handling for an Oracle Mediator Service Component
21.2.2
What Happens at Runtime
21.3
Fault Recovery Using Oracle Enterprise Manager Fusion Middleware Control
21.4
Error Handling XML Schema Definition Files
21.4.1
Schema Definition File for fault-policies.xml
21.4.2
Schema Definition File for fault-bindings.xml
22
Resequencing in Oracle Mediator
22.1
Introduction to the Resequencer
22.1.1
Groups and Sequence IDs
22.1.2
Identification of Groups and Sequence IDs
22.2
Resequencing Order
22.2.1
Standard Resequencer
22.2.1.1
Overview of the Standard Resequencer
22.2.1.2
Information Required for Standard Resequencing
22.2.1.3
Example of the Standard Resequencer
22.2.2
FIFO Resequencer
22.2.2.1
Overview of the FIFO Resequencer
22.2.2.2
Information Required for FIFO Resequencing
22.2.2.3
Example of the FIFO Resequencer
22.2.3
Best Effort Resequencer
22.2.3.1
Overview of the Best Effort Resequencer
22.2.3.2
Information Required for Best Effort Resequencing
22.2.3.3
Example of Best Effort Resequencing Based on Maximum Rows
22.2.3.4
Example of Best Effort Resequencing Based on a Time Window
22.3
Configuring the Resequencer
22.3.1
How to Specify the Resequencing Level
22.3.2
How to Configure the Resequencing Strategy
22.4
Limitations in the Resequencer
23
Understanding Message Exchange Patterns of an Oracle Mediator
23.1
Understanding a One-way Message Exchange Pattern
23.1.1
The one.way.returns.fault Property
23.2
Understanding a Request-Reply Message Exchange Pattern
23.3
Understanding a Request-Reply-Fault Message Exchange Pattern
23.4
Understanding a Request-Callback Message Exchange Pattern
23.5
Understanding a Request-Reply-Callback Message Exchange Pattern
23.6
Understanding a Request-Reply-Fault-Callback Message Exchange Pattern
Part IV Using the Business Rules Service Component
24
Getting Started with Oracle Business Rules
24.1
Introduction to the Business Rule Service Component
24.1.1
Integrating BPEL Processes, Business Rules, and Human Tasks
24.2
Overview of Rules Designer Editor Environment
24.2.1
Application Navigator
24.2.2
Rules Designer Window
24.2.3
Structure Window
24.2.4
Business Rule Validation Log Window
24.3
Introduction to Creating and Editing Business Rules
24.3.1
How to Create Business Rules Components
24.3.2
Introduction to Working with Business Rules in Rules Designer
24.4
Adding Business Rules to a BPEL Process
24.4.1
How to Add Business Rules to a BPEL Process
24.4.2
What Happens When You Add Business Rules to a BPEL Process
24.4.3
What Happens When You Create a Business Rules Dictionary
24.4.4
What You May Need to Know About Invoking Business Rules in a BPEL Process
24.4.5
What You May Need to Know About Decision Component Stateful Operation
24.5
Adding Business Rules to a SOA Composite Application
24.5.1
How to Add Business Rules to a SOA Composite Application
24.5.2
How to Select and Modify a Decision Function in a Business Rule Component
24.6
Running Business Rules in a Composite Application
24.6.1
What You May Need to Know About Testing a Standalone Decision Service Component
24.7
Using Business Rules with Oracle ADF Business Components Fact Types
25
Using Declarative Components and Task Flows
25.1
Introduction to Declarative Components and Task Flows
25.2
Using the Oracle Business Rules Editor Declarative Component
25.2.1
Introduction to the Oracle Business Rules Editor Component
25.2.2
How to Create and Run a Sample Application by Using the Rules Editor Component
25.2.3
How to Deploy a Rules Editor Application to a Standalone Weblogic Server
25.2.4
What You May Need to Know About the Custom Permissions for the Rules Editor Component
25.2.5
What You May Need to Know About the Supported Tags of the Rules Editor Component
25.3
Using the Oracle Business Rules Dictionary Editor Declarative Component
25.3.1
Introduction to the Oracle Business Rules Dictionary Component
25.3.2
How to Create and Run a Sample Application by Using the Rules Dictionary Editor Component
25.3.3
How to Deploy a Rules Dictionary Application to a Standalone Weblogic Server
25.3.4
What You May Need to Know About the Supported Attributes of the Rules Dictionary Editor Component
25.4
Using the Oracle Business Rules Dictionary Task Flow
25.4.1
Introduction to the Oracle Business Rules Dictionary Task Flow
25.4.2
How to Create and Run a Sample Application By Using the Rules Dictionary Editor Task Flow
25.4.3
How to Deploy a Rules Dictionary Editor Task Flow Application to a Standalone Weblogic Server
25.5
Localizing the ADF-Based Web Application
Part V Using the Human Workflow Service Component
26
Getting Started with Human Workflow
26.1
Introduction to Human Workflow
26.2
Introduction to Human Workflow Concepts
26.2.1
Introduction to Design and Runtime Concepts
26.2.1.1
Task Assignment and Routing
26.2.1.2
Static, Dynamic, and Rule-Based Task Assignment
26.2.1.3
Task Stakeholders
26.2.1.4
Task Deadlines
26.2.1.5
Notifications
26.2.1.6
Task Forms
26.2.1.7
Advanced Concepts
26.2.1.8
Reports and Audit Trails
26.2.2
Introduction to the Stages of Human Workflow Design
26.3
Introduction to Human Workflow Features
26.3.1
Human Workflow Use Cases
26.3.1.1
Task Assignment to a User or Role
26.3.1.2
Use of the Various Participant Types
26.3.1.3
Escalation, Expiration, and Delegation
26.3.1.4
Automatic Assignment and Delegation
26.3.1.5
Dynamic Assignment of Users Based on Task Content
26.3.2
Designing a Human Task from Start to Finish
26.3.2.1
Prerequisites
26.3.2.2
How to Create the Vacation Request Process
26.3.3
Additional Tutorials
26.4
Introduction to Human Workflow Architecture
26.4.1
Human Workflow Services
26.4.2
Use of Human Task
26.4.3
Service Engines
27
Designing Human Tasks
27.1
Introduction to Human Task Design Concepts
27.2
Introduction to the Modeling Process
27.2.1
Create a Human Task Definition
27.2.2
Associate the Human Task Definition with a BPEL Process
27.2.3
Generate the Task Form
27.3
Creating the Human Task Definition with the Human Task Editor
27.3.1
How to Create a Human Task Service Component
27.3.2
What Happens When You Create a Human Task Service Component
27.3.3
How to Access the Sections of the Human Task Editor
27.3.4
How to Specify the Title, Description, Outcome, Priority, Category, Owner, and Application Context
27.3.4.1
Specifying a Task Title
27.3.4.2
Specifying a Task Description
27.3.4.3
Specifying a Task Outcome
27.3.4.4
Specifying a Task Priority
27.3.4.5
Specifying a Task Category
27.3.4.6
Specifying a Task Owner
27.3.4.7
Specifying an Application Context
27.3.5
How to Specify the Task Payload Data Structure
27.3.6
How to Assign Task Participants
27.3.6.1
Configuring the Single Participant Type
27.3.6.2
Configuring the Parallel Participant Type
27.3.6.3
Configuring the Serial Participant Type
27.3.6.4
Configuring the FYI Participant Type
27.3.7
How to Select a Routing Policy
27.3.7.1
Routing Tasks to All Participants in the Specified Order
27.3.7.2
Specifying Advanced Task Routing Using Business Rules
27.3.7.3
Using External Routing
27.3.7.4
Configuring the Error Assignee
27.3.8
How to Specify Multilingual Settings and Style Sheets
27.3.8.1
Specifying WordML and Other Style Sheets for Attachments
27.3.8.2
Specifying Multilingual Settings
27.3.9
How to Escalate, Renew, or End the Task
27.3.9.1
Introduction to Escalation and Expiration Policy
27.3.9.2
Specifying a Policy to Never Expire
27.3.9.3
Specifying a Policy to Expire
27.3.9.4
Extending an Expiration Policy Period
27.3.9.5
Escalating a Task Policy
27.3.9.6
Specifying Escalation Rules
27.3.9.7
Specifying a Due Date
27.3.10
How to Specify Participant Notification Preferences
27.3.10.1
Notifying Recipients of Changes to Task Status
27.3.10.2
Editing the Notification Message
27.3.10.3
Setting Up Reminders
27.3.10.4
Changing the Character Set Encoding
27.3.10.5
Securing Notifications to Exclude Details
27.3.10.6
Showing the Oracle BPM Worklist URL in Notifications
27.3.10.7
Making Email Messages Actionable
27.3.10.8
Sending Task Attachments with Email Notifications
27.3.10.9
Sending Email Notifications to Groups and Application Roles
27.3.10.10
Customizing Notification Headers
27.3.11
How to Specify Access Policies and Task Actions on Task Content
27.3.11.1
Specifying Access Policies on Task Content
27.3.12
How to Specify a Workflow Digital Signature Policy
27.3.12.1
Specifying a Certificate Authority
27.3.13
How to Specify Restrictions on Task Assignments
27.3.14
How to Specify Java or Business Event Callbacks
27.3.14.1
Specifying Callback Classes on Task Status
27.3.15
How to Specify Task and Routing Customizations in BPEL Callbacks
27.3.16
Disabling BPEL Callbacks
27.3.17
How to Exit the Human Task Editor and Save Your Changes
27.4
Associating the Human Task Service Component with a BPEL Process
27.4.1
How to Associate a Human Task with a BPEL Process
27.4.2
What You May Need to Know About Deleting a Wire Between a Human Task Service Component and a BPEL Process
27.4.3
How to Define the Human Task Activity Title, Initiator, Priority, and Parameter Variables
27.4.3.1
Specifying the Task Title
27.4.3.2
Specifying the Task Initiator and Task Priority
27.4.3.3
Specifying Task Parameters
27.4.4
How to Define the Human Task Activity Advanced Features
27.4.4.1
Specifying a Scope Name and a Global Task Variable Name
27.4.4.2
Specifying a Task Owner
27.4.4.3
Specifying an Identification Key
27.4.4.4
Specifying an Identity Context
27.4.4.5
Specifying an Application Context
27.4.4.6
Including the Task History of Other Human Tasks
27.4.5
How to View the Generated Human Task Activity
27.4.5.1
Invoking BPEL Callbacks
27.4.6
What You May Need to Know About Changing the Generated Human Task Activity
27.4.7
What You May Need to Know About Deleting a Partner Link Generated by a Human Task
27.4.8
How to Define Outcome-Based Modeling
27.4.8.1
Specifying Payload Updates
27.4.8.2
Using Case Statements for Other Task Conclusions
28
Designing Task Forms for Human Tasks
28.1
Introduction to the Task Form
28.1.1
What You May Need to Know About Task Forms: Time Zone Conversion
28.2
Associating the Task Flow with the Task Service
28.3
Creating an ADF Task Flow Based on a Human Task
28.3.1
How To Create an ADF Task Flow from the Human Task Editor
28.3.2
How To Create an ADF Task Flow Based on a Human Task
28.3.3
What Happens When You Create an ADF Task Flow Based on a Human Task
28.3.4
What You May Need to Know About Having Multiple ADF Task Flows That Contain the Same Element with Different Meta-attributes
28.4
Creating a Task Form
28.4.1
How To Create an Autogenerated Task Form
28.4.2
How to Register the Library JAR File for Custom Page Templates
28.4.3
How To Create a Task Form Using the Custom Task Form Wizard
28.4.4
How To Create a Task Form Using the Complete Task with Payload Drop Handler
28.4.5
How To Create Task Form Regions Using Individual Drop Handlers
28.4.6
How To Add the Payload to the Task Form
28.4.7
What Happens When You Create a Task Form
28.5
Refreshing Data Controls When the Task XSD Changes
28.6
Securing the Task Flow Application
28.7
Creating an Email Notification
28.7.1
How To Create an Email Notification
28.7.1.1
Creating a Task Flow with a Router
28.7.1.2
Creating an Email Notification Page
28.7.2
What Happens When You Create an Email Notification Page
28.7.3
What You May Need to Know About Creating an Email Notification Page
28.8
Deploying a Composite Application with a Task Flow
28.8.1
How To Deploy a Composite Application with a Task Flow
28.8.2
How To Redeploy the Task Form
28.8.3
How To Deploy a Task Flow as a Separate Application
28.8.4
How To Deploy a Task Form to a non-SOA Oracle WebLogic Server
28.8.4.1
Before Deploying the Task Form: Port Changes
28.8.4.2
Configuring Unique Cookie Context Paths for the Session Tracking Cookies
28.8.4.3
Deploying oracle.soa.workflow.jar to a non-SOA Oracle WebLogic Server
28.8.4.4
Defining the Foreign JNDI Provider on a non-SOA Oracle WebLogic Server
28.8.4.5
Defining the Foreign JNDI Provider Links on a non-SOA Oracle WebLogic Server
28.8.4.6
Including a Grant for bpm-services.jar
28.8.4.7
Deploying the Application
28.8.5
What Happens When You Deploy the Task Form
28.8.6
What You May Need to Know About Undeploying a Task Flow
28.9
Displaying a Task Form in the Worklist
28.9.1
How To Display the Task Form in the Worklist
28.10
Displaying a Task in an Email Notification
28.10.1
Changing the Text for the Worklist Applicationin Task Notifications
28.10.2
Changing the URL of the Worklist Application in Task Notifications
28.10.3
Showing or Hiding the URL of the Worklist Application in Task Notifications
28.11
Reusing the Task Flow Application with Multiple Human Tasks
28.11.1
How To Reuse the Task Flow Application with Multiple Human Tasks
29
Using Oracle BPM Worklist
29.1
Introduction to Oracle BPM Worklist
29.1.1
What You May Need To Know About Oracle BPM Worklist
29.2
Logging In to Oracle BPM Worklist
29.2.1
How To Log In to the Worklist
29.2.1.1
Enabling the weblogic User for Logging in to the Worklist
29.2.2
What Happens When You Log In to the Worklist
29.2.3
What Happens When You Change a User's Privileges While They are Logged in to Oracle BPM Worklist
29.3
Customizing the Task List Page
29.3.1
How To Filter Tasks
29.3.2
How To Create and Customize Worklist Views
29.3.3
How To Customize the Task Status Chart
29.3.4
How To Create a ToDo Task
29.3.5
How To Create a Subtask
29.4
Acting on Tasks: The Task Details Page
29.4.1
System Actions
29.4.2
Task History
29.4.3
How To Act on Tasks
29.4.4
How To Act on Tasks That Require a Digital Signature
29.5
Approving Tasks
29.6
Setting a Vacation Period
29.7
Setting Rules
29.7.1
How To Create User Rules
29.7.2
How To Create Group Rules
29.7.3
Assignment Rules for Tasks with Multiple Assignees
29.8
Using the Worklist Administration Functions
29.8.1
How To Manage Other Users' or Groups' Rules (as an Administrator)
29.8.2
How To Set the Worklist Display (Application Preferences)
29.9
Specifying Notification Settings
29.9.1
Messaging Filter Rules
29.9.1.1
Data Types
29.9.1.2
Attributes
29.9.2
Rule Actions
29.9.3
Managing Messaging Channels
29.9.3.1
Viewing Your Messaging Channels
29.9.3.2
Creating, Editing, and Deleting a Messaging Channel
29.9.4
Managing Messaging Filters
29.9.4.1
Viewing Messaging Filters
29.9.4.2
Creating Messaging Filters
29.9.4.3
Editing a Messaging Filter
29.9.4.4
Deleting a Messaging Filter
29.10
Using Mapped Attributes (Flex Fields)
29.10.1
How To Map Attributes
29.10.2
Custom Mapped Attributes
29.11
Creating Worklist Reports
29.11.1
How To Create Reports
29.11.2
What Happens When You Create Reports
29.11.2.1
Unattended Tasks Report
29.11.2.2
Tasks Priority Report
29.11.2.3
Tasks Cycle Time Report
29.11.2.4
Tasks Productivity Report
29.12
Accessing Oracle BPM Worklist in Local Languages and Time Zones
29.12.1
Strings in Oracle BPM Worklist
29.12.2
How to Change the Preferred Language if the Identity Store is LDAP-Based
29.12.3
How to Change the Language in Which Tasks Are Displayed
29.12.4
How To Change the Language Preferences from a JAZN XML File
29.12.5
What You May Need to Know About Runtime Languages Not Displaying in the Worklist
29.12.6
What You May Need to Know About Inconsistent Display Languages in Worklist and Embedded User's Notification Preference Interface
29.12.7
How To Change the Time Zone Used in the Worklist
29.13
Creating Reusable Worklist Regions
29.13.1
How to Create an Application With an Embedded Reusable Worklist Region
29.13.2
How to Set Up the Deployment Profile
29.13.3
How to Prepare Federated Mode Task Flows For Deployment
29.13.4
What You May Need to Know About Task List Task Flow
29.13.5
What You May Need to Know About Certificates Task Flow
29.13.6
What You May Need to Know About the Reports Task Flow
29.13.7
What You May Need to Know About Application Preferences Task Flow
29.13.8
What You May Need to Know About Mapped Attributes Task Flow
29.13.9
What You May Need to Know About Rules Task Flow
30
Building a Custom Worklist Client
30.1
Introduction to Building Clients for Workflow Services
30.2
Packages and Classes for Building Clients
30.3
Workflow Service Clients
30.3.1
The IWorkflowServiceClient Interface
30.4
Class Paths for Clients Using SOAP
30.5
Class Paths for Clients Using Remote EJBs
30.6
Initiating a Task
30.6.1
Creating a Task
30.6.2
Creating a Payload Element in a Task
30.6.3
Initiating a Task Programmatically
30.7
Changing Workflow Standard View Definitions
30.8
Writing a Worklist Application Using the HelpDeskUI Sample
31
Introduction to Human Workflow Services
31.1
Introduction to Human Workflow Services
31.1.1
SOAP, Enterprise JavaBeans, and Java Support for the Human Workflow Services
31.1.1.1
Support for Foreign JNDI Names
31.1.2
Security Model for Services
31.1.2.1
Limitation on Propagating Identity to Workflow Services when Using SOAP Web Services
31.1.2.2
Creating Human Workflow Context on Behalf of a User
31.1.2.3
Obtaining the Workflow Context for a User Previously Authenticated by a JAAS Application
31.1.3
Task Service
31.1.4
Task Query Service
31.1.5
Identity Service
31.1.5.1
Identity Service Providers
31.1.6
Task Metadata Service
31.1.7
User Metadata Service
31.1.8
Task Report Service
31.1.9
Runtime Config Service
31.1.9.1
Internationalization of Attribute Labels
31.1.10
Evidence Store Service and Digital Signatures
31.1.10.1
Prerequisites
31.1.10.2
Interfaces and Methods
31.1.11
Task Instance Attributes
31.2
Notifications from Human Workflow
31.2.1
Contents of Notification
31.2.2
Error Message Support
31.2.3
Reliability Support
31.2.4
Management of Oracle Human Workflow Notification Service
31.2.5
How to Configure the Notification Channel Preferences
31.2.6
How to Configure Notification Messages in Different Languages
31.2.7
How to Send Actionable Messages
31.2.7.1
How to Send Actionable Emails for Human Tasks
31.2.8
How to Send Inbound and Outbound Attachments
31.2.9
How to Send Inbound Comments
31.2.10
How to Send Secure Notifications
31.2.11
How to Set Channels Used for Notifications
31.2.12
How to Send Reminders
31.2.13
How to Set Automatic Replies to Unprocessed Messages
31.2.14
How to Create Custom Notification Headers
31.3
Assignment Service Configuration
31.3.1
Dynamic Assignment and Task Escalation Functions
31.3.1.1
How to Implement a Dynamic Assignment Function
31.3.1.2
How to Configure Dynamic Assignment Functions
31.3.1.3
How to Configure Display Names for Dynamic Assignment Functions
31.3.1.4
How to Implement a Task Escalation Function
31.3.2
Dynamically Assigning Task Participants with the Assignment Service
31.3.2.1
How to Implement an Assignment Service
31.3.2.2
Example of Assignment Service Implementation
31.3.2.3
How to Deploy a Custom Assignment Service
31.3.3
Custom Escalation Function
31.4
Class Loading for Callbacks and Resource Bundles
31.5
Resource Bundles in Workflow Services
31.5.1
Task Resource Bundles
31.5.2
Global Resource Bundle – WorkflowLabels.properties
31.5.3
Worklist Client Resource Bundles
31.5.4
Task Detail ADF Task Flow Resource Bundles
31.5.5
Specifying Stage and Participant Names in Resource Bundles
31.5.6
Case Sensitivity in Group and Application Role Names
31.6
Introduction to Human Workflow Client Integration with Oracle WebLogic Server Services
31.6.1
Human Workflow Services Clients
31.6.1.1
Task Query Service Client Code
31.6.1.2
Configuration Option
31.6.1.3
Client Logging
31.6.1.4
Configuration Migration Utility
31.6.2
Identity Propagation
31.6.2.1
Enterprise JavaBeans Identity Propagation
31.6.2.2
SAML Token Identity Propagation for SOAP Client
31.6.2.3
Public Key Alias
31.6.3
Client JAR Files
31.7
Task States in a Human Task
31.8
Database Views for Oracle Workflow
31.8.1
Unattended Tasks Report View
31.8.2
Task Cycle Time Report View
31.8.3
Task Productivity Report View
31.8.4
Task Priority Report View
32
Integrating Microsoft Excel with a Human Task
32.1
Configuring Your Environment for Invoking a BPEL Process from an Excel Workbook
32.1.1
How to Create an JDeveloper Project of the Type Web Service Data Control
32.1.2
How to Create a Dummy JSF Page
32.1.3
How to Add Desktop Integration to Your Oracle JDeveloper Project
32.1.4
What Happens When You Add Desktop Integration to Your JDeveloper Project
32.1.5
How to Deploy the Web Application You Created in Step 1
32.1.6
How to Install Microsoft Excel
32.1.7
How to Install the Oracle ADF-Desktop Integration Plug-in
32.1.8
How to Specify the User Interface Controls and Create the Excel Workbook
32.2
Attaching Excel Workbooks to Human Task Workflow Email Notifications
32.2.1
Enabling Attachment of Excel Workbooks to Human Task Workflow Email Notifications
32.2.2
What Happens During Runtime When You Enable Attachment of Excel Workbooks to Human Task Workflow Email Notifications
32.2.3
Example: Attaching an Excel Workbook to Email Notifications
32.2.3.1
Task 1: Enable the ADF Task Flow Project with Oracle ADF-DI Capabilities
32.2.3.2
Task 2: Set up Authentication
32.2.3.3
Task 3: Create a Valid Page Definition File to Be Used in the Excel Workbook
32.2.3.4
Task 4: Prepare the Excel Workbook
32.2.3.5
Task 5: Deploy the ADF Task Flow
32.2.3.6
Task 6: Test the Deployed Application
33
Configuring Task List Portlets
33.1
Introduction to Task List Portlets
33.2
Deploying the Task List Portlet Producer Application to a Portlet Server
33.2.1
Deployment Prerequisites
33.2.2
How to Deploy the Task List Portlet Producer Application
33.2.3
How to Connect the Task List Producer to the Remote SOA Server
33.2.3.1
How to Define the Foreign JNDI on the Oracle WebCenter Oracle WebLogic Server
33.2.3.2
How to Configure EJB Identity Propagation
33.2.3.3
How to Configure the Identity Store
33.2.4
How to Secure the Task List Portlet Producer Application Using Web Services Security
33.2.5
How to Specify the Inbound Security Policy
33.3
Creating a Portlet Consumer Application for Embedding the Task List Portlet
33.3.1
How To Create a Portlet Consumer Application for Embedding the Task List Portlet
33.4
Passing Worklist Portlet Parameters
33.4.1
Assignment Filter Constraints
33.4.2
Example of File Containing All Column Constants
Part VI Using Binding Components
34
Getting Started with Binding Components
34.1
Introduction to Binding Components
34.1.1
Web Services
34.1.1.1
WS-AtomicTransaction Support
34.1.2
HTTP Binding Service
34.1.2.1
Supported Interactions
34.1.2.2
How to Configure the HTTP Binding Service
34.1.2.3
How to Enable Basic Authentication
34.1.3
JCA Adapters
34.1.3.1
AQ Adapter
34.1.3.2
Database Adapter
34.1.3.3
File Adapter
34.1.3.4
FTP Adapter
34.1.3.5
JMS Adapter
34.1.3.6
MQ Adapter
34.1.3.7
Socket Adapter
34.1.3.8
Third Party Adapter
34.1.4
Oracle Applications Adapter
34.1.5
Oracle BAM
34.1.6
Oracle B2B
34.1.7
ADF-BC Services
34.1.8
EJB Services
34.1.9
Direct Binding Services
34.2
Introduction to Integrating a Binding Component in a SOA Composite Application
34.2.1
How to Integrate a Binding Component in a SOA Composite Application
34.2.2
How to Use ADF Binding to Invoke a Composite Application from a JSP/Java Class
35
Integrating Enterprise JavaBeans with SOA Composite Applications
35.1
Introduction to Enterprise JavaBeans Binding Integration with SOA Composite Applications
35.1.1
Integration Through SDO-Based EJBs
35.1.2
Integration Through Java Interfaces
35.2
Designing an SDO-Based Enterprise JavaBeans Application
35.2.1
How to Create SDO Objects Using the SDO Compiler
35.2.2
How to Create a Session Bean and Import the SDO Objects
35.2.3
How to Create a Profile and an EAR File
35.2.4
How to Define the SDO Types with an Enterprise JavaBeans Bean
35.2.5
How to Use Web Service Annotations
35.2.6
How to Deploy the Enterprise JavaBeans EAR File
35.3
Creating an Enterprise JavaBeans Service in Oracle JDeveloper
35.3.1
How to Integrate SDO-based Enterprise JavaBeans with SOA Composite Applications
35.3.2
How to Integrate Java Interface-based Enterprise JavaBeans with SOA Composite Applications
35.4
Designing an SDO-Based Enterprise JavaBeans Client to Invoke Oracle SOA Suite
35.5
Specifying Enterprise JavaBeans Roles
35.6
Configuring JNDI Access
35.6.1
How to Create a Foreign JNDI
35.6.2
How to Create a Custom CSF Map for JNDI Lookup
36
Using the Direct Binding Invocation API
36.1
Introduction to Direct Binding
36.2
Introduction to the Direct Binding Invocation API
36.2.1
Synchronous Direct Binding Invocation
36.2.2
Asynchronous Direct Binding Invocation
36.2.3
SOA Direct Address Syntax
36.2.4
SOA Transaction Propagation
36.3
Invoking a SOA Composite Application with the Invocation API
36.3.1
How to Create an Inbound Direct Binding Service
36.3.2
How to Create an Outbound Direct Binding Reference
36.3.3
How to Set an Identity for J2SE Clients Invoking Direct Binding
36.3.4
What You May Need to Know About Invoking SOA Composites on Hosts with the Same Server and Domain Names
36.4
Samples Using the Direct Binding Invocation API
Part VII Sharing Functionality Across Service Components
37
Creating Transformations with the XSLT Mapper
37.1
Introduction to the XSLT Mapper
37.1.1
Overview of XSLT Creation
37.1.2
Guidelines for Using the XSLT Mapper
37.2
Creating an XSL Map File
37.2.1
How to Create an XSL Map File in Oracle BPEL Process Manager
37.2.2
How to Create an XSL Map File from Imported Source and Target Schema Files in Oracle BPEL Process Manager
37.2.3
How to Create an XSL Map File in Oracle Mediator
37.2.4
What You May Need to Know About Creating an XSL Map File
37.2.5
What You May Need to Know About Importing a Composite with an XSL File
37.2.6
What Happens at Runtime If You Pass a Payload Through Oracle Mediator Without Creating an XSL Map File
37.2.7
What Happens If You Receive an Empty Namespace Tag in an Output Message
37.3
Designing Transformation Maps with the XSLT Mapper
37.3.1
How to Add Additional Sources
37.3.2
How to Perform a Simple Copy by Linking Nodes
37.3.3
How to Set Constant Values
37.3.4
How to Add Functions
37.3.4.1
Editing Function Parameters
37.3.4.2
Chaining Functions
37.3.4.3
Using Named Templates
37.3.4.4
Importing User-Defined Functions
37.3.5
How to Edit XPath Expressions
37.3.6
How to Add XSLT Constructs
37.3.6.1
Using Conditional Processing with xsl:if
37.3.6.2
Using Conditional Processing with xsl:choose
37.3.6.3
Creating Loops with xsl:for-each
37.3.6.4
Cloning xsl:for-each
37.3.6.5
Applying xsl:sort to xsl:for-each
37.3.6.6
Copying Nodes with xsl:copy-of
37.3.6.7
Including External Templates with xsl:include
37.3.7
How to Automatically Map Nodes
37.3.7.1
Using Auto Mapping with Confirmation
37.3.8
What You May Need to Know About Automatic Mapping
37.3.9
How to View Unmapped Target Nodes
37.3.10
How to Generate Dictionaries
37.3.11
What You May Need to Know About Generating Dictionaries in Which Functions are Used
37.3.12
How to Create Map Parameters and Variables
37.3.12.1
Creating a Map Parameter
37.3.12.2
Creating a Map Variable
37.3.13
How to Search Source and Target Nodes
37.3.14
How to Control the Generation of Unmapped Target Elements
37.3.15
How to Ignore Elements in the XSLT Document
37.3.16
How to Replace a Schema in the XSLT Mapper
37.3.17
How to Substitute Elements and Types in the Source and Target Trees
37.4
Testing the Map
37.4.1
How to Test the Transformation Mapping Logic
37.4.2
How to Generate Reports
37.4.2.1
Correcting Memory Errors When Generating Reports
37.4.3
How to Customize Sample XML Generation
37.5
Demonstrating Features of the XSLT Mapper
37.5.1
Opening the Application
37.5.2
Creating a New XSLT Map in the BPEL Process
37.5.3
Using Type Substitution to Map the Purchase Order Items
37.5.4
Referencing Additional Source Elements
37.5.5
Using Element Substitution to Map the Shipping Address
37.5.6
Mapping the Remaining Fields
37.5.7
Testing the Map
38
Using Business Events and the Event Delivery Network
38.1
Introduction to Business Events
38.1.1
Local and Remote Events Boundaries
38.2
Creating Business Events in Oracle JDeveloper
38.2.1
How to Create a Business Event
38.3
Subscribing to or Publishing a Business Event from an Oracle Mediator Service Component
38.3.1
How to Subscribe to a Business Event
38.3.2
What Happens When You Create and Subscribe to a Business Event
38.3.3
What You May Need to Know About Subscribing to a Business Event
38.3.4
How to Publish a Business Event
38.3.5
How to Configure a Foreign JNDI Provider to Enable Administration Server Applications to Publish Events to the SOA Server
38.3.6
How to Configure JMS-based EDN Implementations
38.3.7
What Happens When You Publish a Business Event
38.4
Subscribing to or Publishing a Business Event from a BPEL Process Service Component
38.4.1
How to Subscribe to a Business Event
38.4.2
How to Publish a Business Event
38.4.3
What Happens When You Subscribe to and Publish a Business Event
38.4.4
What You May Need to Know About Subscribing to a Business Event
38.5
How to Integrate Oracle ADF Business Component Business Events with Oracle Mediator
Part VIII Completing Your Application
39
Enabling Security with Policies
39.1
Introduction to Policies
39.2
Attaching Policies to Binding Components and Service Components
39.2.1
How to Attach Policies to Binding Components and Service Components
39.2.2
How to Override Policy Configuration Property Values
39.2.2.1
Overriding Client Configuration Property Values
39.2.2.2
Overriding Server Configuration Property Values
40
Deploying SOA Composite Applications
40.1
Introduction to Deployment
40.2
Deployment Prerequisites
40.2.1
Creating the Oracle SOA Suite Schema
40.2.2
Creating a SOA Domain
40.2.3
Configuring a SOA Cluster
40.3
Understanding the Packaging Impact
40.4
Anatomy of a Composite
40.5
Preparing the Target Environment
40.5.1
Creating Data Sources and Queues
40.5.1.1
Script for Creation of JMS Resource and Redeployment of JMS Adapter
40.5.1.2
Script for Creation of the Database Resource and Redeployment of the Database Adapter
40.5.2
Creating Connection Factories and Connection Pooling
40.5.3
Enabling Security
40.5.4
Deploying Trading Partner Agreements and Task Flows
40.5.5
Creating an Application Server Connection
40.5.6
Creating a SOA-MDS Connection
40.6
Customizing Your Application for the Target Environment Prior to Deployment
40.6.1
Customizing SOA Composite Applications for the Target Environment
40.6.1.1
Introduction to Configuration Plans
40.6.1.2
Introduction to a Configuration Plan File
40.6.1.3
Introduction to Use Cases for a Configuration Plan
40.6.1.4
How to Create a Configuration Plan in Oracle JDeveloper
40.6.1.5
How to Create a Configuration Plan with the WLST Utility
40.6.1.6
How to Attach a Configuration Plan with ant Scripts
40.7
Deploying SOA Composite Applications
40.7.1
Deploying a Single SOA Composite in Oracle JDeveloper
40.7.1.1
How to Deploy a Single SOA Composite
40.7.1.2
What You May Need to Know About Deploying Human Task Composites with Task Flows to Partitions
40.7.2
Deploying Multiple SOA Composite Applications in Oracle JDeveloper
40.7.2.1
How to Deploy Multiple SOA Composite Applications
40.7.3
Deploying and Using Shared Metadata Across SOA Composite Applications in Oracle JDeveloper
40.7.3.1
How to Deploy Shared Metadata
40.7.3.2
How to Use Shared Metadata
40.7.4
Deploying an Existing SOA Archive in Oracle JDeveloper
40.7.4.1
How to Deploy an Existing SOA Archive from Oracle JDeveloper
40.7.5
Managing SOA Composite Applications with Scripts
40.7.5.1
How to Manage SOA Composite Applications with the WLST Utility
40.7.5.2
How to Manage SOA Composite Applications with ant Scripts
40.7.6
Deploying SOA Composite Applications from Oracle Enterprise Manager Fusion Middleware Control
40.7.7
Deploying SOA Composite Applications to a Cluster
40.8
Postdeployment Configuration
40.8.1
Security
40.8.2
Updating Connections
40.8.3
Updating Data Sources and Queues
40.8.4
Attaching Policies
40.9
Testing and Troubleshooting
40.9.1
Verifying Deployment
40.9.2
Initiating an Instance of a Deployed Composite
40.9.3
Automating the Testing of Deployed Composites
40.9.4
Recompiling a Project After Receiving a Deployment Error
40.9.5
Troubleshooting Common Deployment Errors
40.9.5.1
Common Oracle JDeveloper Deployment Issues
40.9.5.2
Common Configuration Plan Issues
40.9.5.3
Deploying to a Managed Oracle WebLogic Server
40.9.5.4
Deploying to a Two-Way, SSL-Enabled Oracle WebLogic Server
40.9.5.5
Deploying with an Unreachable Proxy Server
40.9.5.6
Releasing Locks to Resolve ADF Task Form EAR File Deployment Errors
40.9.5.7
Increasing Memory to Recover from Compilation Errors
41
Automating Testing of SOA Composite Applications
41.1
Introduction to the Composite Test Framework
41.1.1
Test Cases Overview
41.1.2
Test Suites Overview
41.1.3
Emulations Overview
41.1.4
Assertions Overview
41.2
Introduction to the Components of a Test Suite
41.2.1
Process Initiation
41.2.2
Emulations
41.2.3
Assertions
41.2.4
Message Files
41.3
Creating Test Suites and Test Cases
41.3.1
How to Create Test Suites and Test Cases
41.4
Creating the Contents of Test Cases
41.4.1
How to Initiate Inbound Messages
41.4.2
How to Emulate Outbound Messages
41.4.3
How to Emulate Callback Messages
41.4.4
How to Emulate Fault Messages
41.4.5
How to Create Assertions
41.4.5.1
Creating Assertions on a Part Section, Nonleaf Element, or Entire XML Document
41.4.5.2
Creating Assertions on a Leaf Element
41.4.6
What You May Need to Know About Assertions
41.5
Deploying and Running a Test Suite
Part IX Advanced Topics
42
Managing Large Documents and Large Numbers of Instances
42.1
Best Practices for Handling Large Documents
42.1.1
Use Cases for Handling Large Documents
42.1.1.1
Passing Binary Objects as Base64-Encoded Text in XML Payloads
42.1.1.2
End-to-End Streaming with Attachments
42.1.1.3
Adding MTOM Attachments to Web Services
42.1.1.4
Processing Large XML with Repeating Constructs
42.1.1.5
Processing Large XML Documents with Complex Structures
42.1.2
Limitations on Concurrent Processing of Large Documents
42.1.2.1
Opaque Schema for Processing Large Payloads
42.1.3
General Tuning Recommendations
42.1.3.1
General Recommendations
42.1.3.2
Setting Audit Levels from Oracle Enterprise Manager for Large Payload Processing
42.1.3.3
Using the Assign Activity in Oracle BPEL Process Manager/Oracle Mediator
42.1.3.4
Using XSLT Transformations on Large Payloads (For Oracle BPEL Process Manager)
42.1.3.5
Using XSLT Transformations for Repeating Structures
42.1.3.6
Processing Large Documents in Oracle B2B
42.1.3.7
Using XPath Functions to Write Large XSLT/XQuery Output to a File System
42.2
Best Practices for Handling Large Metadata
42.2.1
Boundary on the Processing of Large Numbers of Activities in a BPEL Process
42.2.2
Using Large Numbers of Activities in BPEL Processes (Without FlowN)
42.2.3
Using Large Numbers of Activities in BPEL Processes (With FlowN)
42.2.4
Using a Flow With Multiple Sequences
42.2.5
Using a Flow with One Sequence
42.2.6
Using a Flow with No Sequence
42.2.7
Large Numbers of Oracle Mediators in a Composite
42.2.8
Importing Large Data Sets in Oracle B2B
42.3
Best Practices for Handling Large Numbers of Instances
42.3.1
Instance and Rejected Message Deletion with the Purge Script
42.3.2
Improving the Loading of Pages in Oracle Enterprise Manager Fusion Middleware Control
43
Customizing SOA Composite Applications
43.1
Introduction to Customizing SOA Composite Applications
43.2
Creating the Customizable Composite
43.2.1
How to Create the Customizable Composite
43.2.2
How to Create Customization Classes
43.2.3
How to Add XSD or WSDL Files
43.2.4
How to Search for Customized Activities in a BPEL Process
43.2.5
What You May Need to Know About Editing Artifacts in a Customized Composite
43.2.6
What You May Need to Know About Resolving Validation Errors in Oracle JDeveloper
43.2.7
What You May Need to Know About Resolving a Sequence Conflict
43.2.8
What You May Need to Know About Compiling and Deploying a Customized Application
43.3
Customizing the Vertical Application
43.3.1
How to Customize the Vertical Application
43.4
Customizing the Customer Version
43.4.1
How to Customize the Customer Version
43.5
Upgrading the Composite
43.5.1
How to Upgrade the Core Application Team Composite
43.5.2
How to Upgrade the Vertical Application Team Composite
43.5.3
How to Upgrade the Customer Composite
44
Working with Domain Value Maps
44.1
Introduction to Domain Value Maps
44.1.1
Domain Value Map Features
44.1.1.1
Qualifier Support
44.1.1.2
Qualifier Order Support
44.1.1.3
One-to-Many Mapping Support
44.2
Creating Domain Value Maps
44.2.1
How to Create Domain Value Maps
44.2.2
What Happens When You Create a Domain Value Map
44.3
Editing a Domain Value Map
44.3.1
How to Add Columns to a Domain Value Map
44.3.2
How to Add Rows to a Domain Value Map
44.4
Using Domain Value Map Functions
44.4.1
Understanding Domain Value Map Functions
44.4.1.1
dvm:lookupValue
44.4.1.2
dvm:lookupValue1M
44.4.2
How to Use Domain Value Map Functions in Transformations
44.4.3
How to Use Domain Value Map Functions in XPath Expressions
44.4.4
What Happens at Runtime
44.5
Creating a Domain Value Map Use Case for a Hierarchical Lookup
44.5.1
How to Create the HierarchicalValue Use Case
44.5.1.1
Task 1: How to Create an Oracle JDeveloper Application and a Project
44.5.1.2
Task 2: How to Create a Domain Value Map
44.5.1.3
Task 3: How to Create a File Adapter Service
44.5.1.4
Task 4: How to Create ProcessOrders Oracle Mediator Component
44.5.1.5
Task 5: How to Create a File Adapter Reference
44.5.1.6
Task 6: How to Specify Routing Rules
44.5.1.7
Task 7: How to Configure an Application Server Connection
44.5.1.8
Task 8: How to Deploy the Composite Application
44.5.2
How to Run and Monitor the HierarchicalValue Application
44.6
Creating a Domain Value Map Use Case For Multiple Values
44.6.1
How to Create the Multivalue Use Case
44.6.1.1
Task 1: How to Create an Oracle JDeveloper Application and Project
44.6.1.2
Task 2: How to Create a Domain Value Map
44.6.1.3
Task 3: How to Create a File Adapter Service
44.6.1.4
Task 4: How to Create the LookupMultiplevaluesMediator Oracle Mediator
44.6.1.5
Task 5: How to Create a File Adapter Reference
44.6.1.6
Task 6: How to Specify Routing Rules
44.6.1.7
Task 7: How to Configure an Application Server Connection
44.6.1.8
Task 8: How to Deploy the Composite Application
44.6.2
How to Run and Monitor the Multivalue Application
45
Using Oracle SOA Composer with Domain Value Maps
45.1
Introduction to Oracle SOA Composer
45.1.1
How to Log in to Oracle SOA Composer
45.2
Viewing Domain Value Maps at Runtime
45.2.1
How To View Domain Value Maps at Runtime
45.3
Editing Domain Value Maps at Runtime
45.3.1
How to Edit Domain Value Maps at Runtime
45.3.1.1
Adding Rows
45.3.1.2
Editing Rows
45.3.1.3
Deleting Rows
45.4
Saving Domain Value Maps at Runtime
45.4.1
How to Save Domain Value Maps at Runtime
45.5
Committing Changes at Runtime
45.5.1
How to Commit Changes at Runtime
45.6
Detecting Conflicts
46
Working with Cross References
46.1
Introduction to Cross References
46.2
Introduction to Cross Reference Tables
46.3
Creating and Modifying Cross Reference Tables
46.3.1
How to Create Cross Reference Metadata
46.3.2
What Happens When You Create a Cross Reference
46.3.3
How to Create Custom Database Tables
46.3.4
How to Add an End System to a Cross Reference Table
46.4
Populating Cross Reference Tables
46.4.1
About the xref:populateXRefRow Function
46.4.2
About the xref:populateXRefRow1M Function
46.4.3
How to Populate a Column of a Cross Reference Table
46.5
Looking Up Cross Reference Tables
46.5.1
About the xref:lookupXRef Function
46.5.2
About the xref:lookupXRef1M Function
46.5.3
About the xref:lookupPopulatedColumns Function
46.5.4
How to Look Up a Cross Reference Table for a Value
46.6
Deleting a Cross Reference Table Value
46.6.1
How to Delete a Cross Reference Table Value
46.7
Creating and Running the Cross Reference Use Case
46.7.1
How to Create the Use Case
46.7.1.1
Task 1: How to Configure the Oracle Database and Database Adapter
46.7.1.2
Task 2: How to Create an Oracle JDeveloper Application and a Project
46.7.1.3
Task 3: How to Create a Cross Reference
46.7.1.4
Task 4: How to Create a Database Adapter Service
46.7.1.5
Task 5: How to Create EBS and SBL External References
46.7.1.6
Task 6: How to Create the Logger File Adapter External Reference
46.7.1.7
Task 7: How to Create an Oracle Mediator Service Component
46.7.1.8
Task 8: How to Specify Routing Rules for an Oracle Mediator Service Component
46.7.1.9
Task 9: How to Specify Routing Rules for the Common Oracle Mediator
46.7.1.10
Task 10: How to Configure an Application Server Connection
46.7.1.11
Task 11: How to Deploy the Composite Application
46.7.2
How to Run and Monitor the XrefCustApp Application
46.8
Creating and Running Cross Reference for 1M Functions
46.8.1
How to Create the Use Case
46.8.1.1
Task 1: How to Configure the Oracle Database and Database Adapter
46.8.1.2
Task 2: How to Create an Oracle JDeveloper Application and a Project
46.8.1.3
Task 3: How to Create a Cross Reference
46.8.1.4
Task 4: How to Create a Database Adapter Service
46.8.1.5
Task 5: How to Create an EBS External Reference
46.8.1.6
Task 6: How to Create a Logger File Adapter External Reference
46.8.1.7
Task 7: How to Create an Oracle Mediator Service Component
46.8.1.8
Task 8: How to Specify Routing Rules for an Oracle Mediator Component
46.8.1.9
Task 9: How to Specify Routing Rules for the Common Oracle Mediator
46.8.1.10
Task 10: How to Configure an Application Server Connection
46.8.1.11
Task 11: How to Deploy the Composite Application
47
Defining Composite Sensors
47.1
Introduction to Composite Sensors
47.1.1
Restrictions on Use of Composite Sensors
47.2
Adding Composite Sensors
47.2.1
How to Add Composite Sensors
47.2.2
How to Add a Variable
47.2.3
How to Add an Expression
47.2.4
How to Add a Property
47.3
Monitoring Composite Sensor Data During Runtime
48
Using Two-Layer Business Process Management (BPM)
48.1
Introduction to Two-Layer Business Process Management
48.2
Creating a Phase Activity
48.2.1
How to Create a Phase Activity
48.2.2
What Happens When You Create a Phase Activity
48.2.3
What Happens at Runtime When You Create a Phase Activity
48.2.4
What You May Need to Know About Creating a Phase Activity
48.3
Creating the Dynamic Routing Decision Table
48.3.1
How to Create the Dynamic Routing Decision Table
48.3.2
What Happens When You Create the Dynamic Routing Decision Table
48.4
Use Case: Two-Layer BPM
48.4.1
Designing the SOA Composite
48.4.2
Creating a Phase Activity
48.4.3
Creating and Editing the Dynamic Routing Decision Table
48.4.4
Adding Assign Activities to the BPEL Process Model
48.4.5
Deploying and Testing the Sample
49
Integrating the Spring Framework in SOA Composite Applications
49.1
Introduction to the Spring Service Component
49.2
Integration of Java and WSDL-Based Components in the Same SOA Composite Application
49.2.1
Java and WSDL-Based Integration Example
49.2.2
Using Callbacks with the Spring Framework
49.3
Creating a Spring Service Component in Oracle JDeveloper
49.3.1
How to Create a Spring Service Component in Oracle JDeveloper
49.3.2
What You May Need to Know About Java Class Errors During Java-to-WSDL Conversions
49.4
Defining Custom Spring Beans Through a Global Spring Context
49.4.1
How to Define Custom Spring Beans Through a Global Spring Context
49.5
Using the Predefined Spring Beans
49.5.1
IHeaderHelperBean.java Interface for headerHelperBean
49.5.2
IInstanceHelperBean.java Interface for instancerHelperBean
49.5.3
ILoggerBean.java Interface for loggerBean
49.5.4
How to Reference Predefined Spring Beans in the Spring Context File
49.6
Spring Service Component Integration in the Fusion Order Demo
49.6.1
How to Use EJBs with Java Vector Type Parameters
49.7
JAXB and OXM Support
49.7.1
Extended Mapping Files
Part X Using Oracle Business Activity Monitoring
50
Integrating Oracle BAM with SOA Composite Applications
50.1
Introduction to Integrating Oracle BAM with SOA Composite Applications
50.2
Configuring Oracle BAM Adapter
50.3
Using Oracle BAM Monitor Express With BPEL Processes
50.3.1
How to Access BPEL Designer Monitor View
50.3.2
How to Configure Activity Monitors
50.3.3
How To Create BPEL Process Monitoring Objects
50.3.4
How to Configure Counters
50.3.5
How to Configure Intervals
50.3.6
How to Configure Business Indicators
50.3.7
How to Add Existing Monitoring Objects to Activities
50.3.8
How To Configure BPEL Process Monitors for Deployment
50.3.9
What You Need to Know About Using the Monitor Express Dashboard
50.3.10
What You Need To Know About Monitor Express Data Objects
50.3.10.1
Understanding the COMPONENT Data Object
50.3.10.2
Understanding the COUNTER Data Object
50.3.10.3
Understanding the INTERVAL Data Object
50.3.10.4
Understanding Business Indicator Data Objects
50.3.10.5
Troubleshooting
50.4
Creating a Design Time Connection to an Oracle BAM Server
50.4.1
How to Create a Connection to an Oracle BAM Server
50.5
Using Oracle BAM Adapter in a SOA Composite Application
50.5.1
How to Use Oracle BAM Adapter in a SOA Composite Application
50.6
Using Oracle BAM Adapter in a BPEL Process
50.6.1
How to Use Oracle BAM Adapter in a BPEL Process
50.7
Integrating BPEL Sensors Using Oracle BAM Sensor Action
50.7.1
How to Create a Sensor
50.7.2
How to Create an Oracle BAM Sensor Action
50.8
Integrating SOA Applications and Oracle BAM Using Enterprise Message Resources
51
Using Oracle BAM Data Control
51.1
Introduction to Oracle BAM Data Control
51.2
Creating Projects That Can Use Oracle BAM Data Controls
51.3
Creating Oracle BAM Server Connections
51.3.1
How to Modify Oracle BAM Data Control Connections to Oracle BAM Servers
51.3.1.1
How to Associate a BAM Data Control with a New Oracle BAM Connection
51.4
Exposing Oracle BAM with Oracle ADF Data Controls
51.4.1
How to Create Oracle BAM Data Controls
51.4.2
What Happens in Your Project When You Create an Oracle BAM Data Control
51.4.2.1
How an Oracle BAM Data Control Appears in the Data Controls Panel
51.5
Creating Oracle BAM Data Control Queries
51.5.1
How to Choose a Query Type
51.5.2
How to Create Parameters
51.5.3
How to Pass Values to Parameters
51.5.4
How to Create Calculated Fields
51.5.4.1
Creating Groups in Calculated Fields
51.5.5
How to Select, Organize, and Sort Fields
51.5.6
How to Create Filters
51.5.6.1
How to Create Filter Headers
51.5.6.2
How to Create Filter Entries
51.5.6.3
Entering Comparison Values
51.5.6.4
Using Active Now
51.5.7
How to Select and Organize Groups
51.5.7.1
How to Configure Time Groups and Time Series
51.5.8
How to Create Aggregates
51.5.9
How to Modify the Query
51.6
Using Oracle BAM Data Controls in ADF Pages
51.6.1
How to Use an Oracle BAM Data Control in a JSF Page
51.7
Deploying Applications With Oracle BAM Data Controls
51.7.1
How to Deploy to Oracle WebLogic Server in Development Mode
51.7.2
How to Deploy to a Production Mode Oracle WebLogic Server
52
Defining and Managing Oracle BAM Data Objects
52.1
Introduction to Oracle BAM Data Objects
52.2
Defining Data Objects
52.2.1
How to Define a Data Object
52.2.2
How to Add Columns to a Data Object
52.2.3
How to Add Lookup Columns to a Data Object
52.2.4
How to Add Calculated Columns to a Data Object
52.2.5
How to Add Time Stamp Columns to a Data Object
52.2.6
What You May Need to Know About System Data Objects
52.2.7
What You May Need to Know About Oracle Data Integrator Data Objects
52.3
Creating Permissions on Data Objects
52.3.1
How to Create Permissions on a Data Object
52.3.2
How to Add a Group of Users
52.3.3
How to Copy Permissions from Other Data Objects
52.4
Viewing Existing Data Objects
52.4.1
How to View Data Object General Information
52.4.2
How to View Data Object Layouts
52.4.3
How to View Data Object Contents
52.5
Using Data Object Folders
52.5.1
How to Create Folders
52.5.2
How to Open Folders
52.5.3
How to Set Folder Permissions
52.5.4
How to Move Folders
52.5.5
How to Rename Folders
52.5.6
How to Delete Folders
52.6
Creating Security Filters
52.6.1
How to Create a Security Filter
52.6.2
How to Copy Security Filters from Other Data Objects
52.7
Creating Dimensions
52.7.1
How to Create a Dimension
52.7.2
How to Create a Time Dimension
52.8
Renaming and Moving Data Objects
52.8.1
How to Rename a Data Object
52.8.2
How to Move a Data Object
52.9
Creating Indexes
52.9.1
How to Create an Index
52.10
Clearing Data Objects
52.10.1
How to Clear a Data Object
52.11
Deleting Data Objects
52.11.1
How to Delete a Data Object
53
Creating Oracle BAM Enterprise Message Sources
53.1
Introduction to Enterprise Message Sources
53.2
Creating Enterprise Message Sources
53.2.1
How to Create an Enterprise Message Source
53.2.2
How to Configure DateTime Specification
53.2.3
How to Use Advanced XML Formatting
53.3
Using Enterprise Message Sources
53.3.1
How to Edit, Copy, and Delete Enterprise Message Sources
53.3.2
How to Start and Stop Enterprise Message Sources
53.3.3
How to Subscribe and Unsubscribe Enterprise Message Sources
53.3.4
How to Test Enterprise Message Sources
53.3.5
How to Refresh Enterprise Message Sources
53.3.6
How to Monitor Enterprise Message Source Metrics
53.4
Using Foreign JMS Providers
53.5
Use Case: Creating an EMS Against Oracle Streams AQ JMS Provider
53.5.1
Creating a JMS Topic in AQ-JMS
53.5.2
Creating a Data Source in Oracle WebLogic Server
53.5.3
Creating a Foreign JMS Server
53.5.4
Defining an EMS in Oracle BAM Architect
53.5.5
Inserting and Updating Records in the SQL Table
54
Using Oracle Data Integrator With Oracle BAM
54.1
Introduction to Using the Oracle Data Integrator With Oracle Business Activity Monitoring
54.2
Installing the Oracle Data Integrator Integration Files
54.2.1
How to Install Integration Files Using the Script
54.2.2
How to Manually Install Integration Files
54.2.3
Using the Logs
54.3
Using Oracle BAM Knowledge Modules
54.4
Creating the Oracle BAM Target
54.4.1
How to Create the Oracle BAM Target
54.5
Reverse Engineering the Oracle BAM Schema
54.6
Updating the Oracle Data Integrator External Data Source Definition
54.6.1
How to Update the Oracle Data Integrator External Data Source Definitions
54.7
Launching Oracle Data Integrator Scenarios From Oracle BAM Alerts
54.8
Running Oracle Data Integrator Agent as a Daemon or a Microsoft Windows Service With Oracle BAM Embedded
55
Creating External Data Sources
55.1
Introduction to External Data Sources
55.2
Creating External Data Sources
55.2.1
How to Create an External Data Source
55.2.2
What You May Need to Know About Oracle Data Integrator External Data Sources
55.2.3
How to Edit an External Data Source
55.2.4
How to Delete an External Data Source
55.3
External Data Source Example
55.4
Use Case: Creating an EDS Against Oracle Business Intelligence Enterprise Edition
56
Using Oracle BAM Web Services
56.1
Introduction to Oracle BAM Web Services
56.2
Using the DataObjectOperations Web Services
56.2.1
How to Use the DataObjectOperations Web Services
56.3
Using the DataObjectDefinition Web Service
56.3.1
How to Use the DataObjectDefinition Web Service
56.4
Using the ManualRuleFire Web Service
56.4.1
How to Use the ManualRuleFire Web Service
56.5
Using the ICommand Web Service
56.5.1
How to Use the ICommand Web Service
57
Creating Oracle BAM Alerts
57.1
Introduction to Creating Alerts
57.2
Creating Alert Rules
57.2.1
How to Create an Alert Rule
57.2.2
How to Activate Alerts
57.2.3
How to Modify Alert Rules
57.2.4
How to Delete an Alert
57.3
Creating Alert Rules From Templates
57.3.1
How to Create Alert Rules From Templates
57.4
Creating Alert Rules With Messages
57.4.1
How to Create an Alert Rule With a Message
57.5
Creating Complex Alerts
57.5.1
How to Create a Dependent Rule
57.6
Using Alert History
57.6.1
How to View Alert History
57.6.2
How to Clear Alert History
57.7
Launching Alerts by Invoking Web Services
57.8
Calling an External Action
57.9
Sending Alerts to External E-mail Accounts
58
Using ICommand
58.1
Introduction to ICommand
58.2
Executing ICommand
58.3
Specifying the Command and Option Syntax
58.3.1
How to Specify the Security Credentials
58.3.2
How to Specify the Command
58.3.3
How to Specify Object Names
58.3.4
How to Specify Multiple Parameter Targets
58.4
Using Command-line-only Parameters
58.5
Running ICommand Remotely
Part XI Using Oracle User Messaging Service
59
Oracle User Messaging Service
59.1
Introduction to User Messaging Service
59.1.1
Components
59.1.2
Architecture
60
Sending and Receiving Messages using the User Messaging Service EJB API
60.1
Introduction to the UMS Java API
60.1.1
Creating a Java EE Application Module
60.2
Creating a UMS Client Instance
60.2.1
Creating a MessagingEJBClient Instance Using a Programmatic or Declarative Approach
60.2.2
API Reference for Class MessagingClientFactory
60.3
Sending a Message
60.3.1
Creating a Message
60.3.1.1
Creating a Plaintext Message
60.3.1.2
Creating a Multipart/Alternative Message (with Text/Plain and Text/HTML Parts)
60.3.1.3
Creating Delivery Channel-Specific Payloads in a Single Message for Recipients with Different Delivery Types
60.3.2
API Reference for Class MessageFactory
60.3.3
API Reference for Interface Message
60.3.4
API Reference for Enum DeliveryType
60.3.5
Addressing a Message
60.3.5.1
Types of Addresses
60.3.5.2
Creating Address Objects
60.3.5.3
Creating a Recipient with a Failover Address
60.3.5.4
API Reference for Class AddressFactory
60.3.5.5
API Reference for Interface Address
60.3.6
Retrieving Message Status
60.3.6.1
Synchronous Retrieval of Message Status
60.3.6.2
Asynchronous Notification of Message Status
60.4
Receiving a Message
60.4.1
Registering an Access Point
60.4.2
Synchronous Receiving
60.4.3
Asynchronous Receiving
60.4.4
Message Filtering
60.5
Using the UMS Enterprise JavaBeans Client API to Build a Client Application
60.5.1
Overview of Development
60.5.2
Configuring the Email Driver
60.5.3
Using JDeveloper 11g to Build the Application
60.5.3.1
Opening the Project
60.5.4
Deploying the Application
60.5.5
Testing the Application
60.6
Using the UMS Enterprise JavaBeans Client API to Build a Client Echo Application
60.6.1
Overview of Development
60.6.2
Configuring the Email Driver
60.6.3
Using JDeveloper 11g to Build the Application
60.6.3.1
Opening the Project
60.6.4
Deploying the Application
60.6.5
Testing the Application
60.7
Creating a New Application Server Connection
61
Sending and Receiving Messages using the User Messaging Service Java API
61.1
Introduction to the UMS Java API
61.2
Creating a UMS Client Instance and Specifying Runtime Parameters
61.2.1
API Reference for Class MessagingClientFactory
61.3
Sending a Message
61.3.1
Creating a Message
61.3.1.1
Creating a Plaintext Message
61.3.1.2
Creating a Multipart/Alternative Message (with Text/Plain and Text/HTML Parts)
61.3.1.3
Creating Delivery Channel-Specific Payloads in a Single Message for Recipients with Different Delivery Types
61.3.2
API Reference for Class MessagingFactory
61.3.3
API Reference for Interface Message
61.3.4
API Reference for Enum DeliveryType
61.3.5
Addressing a Message
61.3.5.1
Types of Addresses
61.3.5.2
Creating Address Objects
61.3.5.3
Creating a Recipient with a Failover Address
61.3.5.4
API Reference for Class MessagingFactory
61.3.5.5
API Reference for Interface Address
61.3.6
User Preference Based Messaging
61.4
Retrieving Message Status
61.4.1
Synchronous Retrieval of Message Status
61.4.2
Asynchronous Receiving of Message Status
61.4.2.1
Creating a Listener Programmatically
61.4.2.2
Default Status Listener
61.4.2.3
Per Message Status Listener
61.5
Receiving a Message
61.5.1
Registering an Access Point
61.5.2
Synchronous Receiving
61.5.3
Asynchronous Receiving
61.5.3.1
Creating a Listener Programmatically
61.5.3.2
Default Message Listener
61.5.3.3
Per Access Point Message Listener
61.5.4
Message Filtering
61.6
Configuring for a Cluster Environment
61.7
Configuring Security
61.8
Threading Model
61.8.1
Listener Threading
61.9
Using the UMS Client API to Build a Client Application
61.9.1
Overview of Development
61.9.2
Configuring the Email Driver
61.9.3
Using JDeveloper 11g to Build the Application
61.9.3.1
Opening the Project
61.9.4
Deploying the Application
61.9.5
Testing the Application
61.10
Using the UMS Client API to Build a Client Echo Application
61.10.1
Overview of Development
61.10.2
Configuring the Email Driver
61.10.3
Using JDeveloper 11g to Build the Application
61.10.3.1
Opening the Project
61.10.4
Deploying the Application
61.10.5
Testing the Application
61.11
Creating a New Application Server Connection
62
Sending and Receiving Messages using the User Messaging Service Web Service API
62.1
Introduction to the UMS Web Service API
62.2
Creating a UMS Client Instance and Specifying Runtime Parameters
62.3
Sending a Message
62.3.1
Creating a Message
62.3.1.1
Creating a Plaintext Message
62.3.1.2
Creating a Multipart/Mixed Message (with Text and Binary Parts)
62.3.1.3
Creating a Multipart/Alternative Message (with Text/Plain and Text/HTML Parts)
62.3.1.4
Creating Delivery Channel-Specific Payloads in a Single Message for Recipients with Different Delivery Types
62.3.2
API Reference for Interface Message
62.3.3
API Reference for Enum DeliveryType
62.3.4
Addressing a Message
62.3.4.1
Types of Addresses
62.3.4.2
Creating Address Objects
62.3.4.3
Creating a Recipient with a Failover Address
62.3.4.4
Recipient Types
62.3.4.5
API Reference for Class MessagingFactory
62.3.4.6
API Reference for Interface Address
62.3.5
User Preference Based Messaging
62.4
Retrieving Message Status
62.4.1
Synchronous Retrieval of Message Status
62.4.2
Asynchronous Receiving of Message Status
62.4.2.1
Creating a Listener Programmatically
62.4.2.2
Publish the Callback Service
62.4.2.3
Stop a Dynamically Published Endpoint
62.4.2.4
Registration
62.5
Receiving a Message
62.5.1
Registering an Access Point
62.5.2
Synchronous Receiving
62.5.3
Asynchronous Receiving
62.5.3.1
Creating a Listener Programmatically
62.5.3.2
Default Message Listener
62.5.3.3
Per Access Point Message Listener
62.5.4
Message Filtering
62.6
Configuring for a Cluster Environment
62.7
Configuring Security
62.7.1
Client and Server Security
62.7.2
Listener/Callback Security
62.8
Threading Model
62.9
Sample Chat Application with Web Services APIs
62.9.1
Overview
62.9.1.1
Provided Files
62.9.2
Running the Pre-Built Sample
62.9.3
Testing the Sample
62.10
Creating a New Application Server Connection
63
Parlay X Web Services Multimedia Messaging API
63.1
Introduction to Parlay X Messaging Operations
63.2
Send Message Interface
63.2.1
sendMessage Operation
63.2.2
getMessageDeliveryStatus Operation
63.3
Receive Message Interface
63.3.1
getReceivedMessages Operation
63.3.2
getMessage Operation
63.3.3
getMessageURIs Operation
63.4
Oracle Extension to Parlay X Messaging
63.4.1
ReceiveMessageManager Interface
63.4.1.1
startReceiveMessage Operation
63.4.1.2
stopReceiveMessage Operation
63.5
Parlay X Messaging Client API and Client Proxy Packages
63.6
Sample Chat Application with Parlay X APIs
63.6.1
Overview
63.6.1.1
Provided Files
63.6.2
Running the Pre-Built Sample
63.6.3
Testing the Sample
63.6.4
Creating a New Application Server Connection
64
User Messaging Preferences
64.1
Introduction to User Messaging Preferences
64.1.1
Terminology
64.1.2
Configuration of Notification Delivery Preferences
64.1.3
Delivery Preference Rules
64.1.3.1
Data Types
64.1.3.2
System Terms
64.1.3.3
Business Terms
64.1.4
Rule Actions
64.2
How to Manage Messaging Channels
64.2.1
Creating a Channel
64.2.2
Editing a Channel
64.2.3
Deleting a Channel
64.2.4
Setting a Default Channel
64.3
Creating Contact Rules using Filters
64.3.1
Creating Filters
64.3.2
Editing a Filter
64.3.3
Deleting a Filter
64.4
Configuring Settings
Part XII Appendices
A
BPEL Process Activities and Services
A.1
Introduction to Activities and Components
A.2
Introduction to BPEL 1.1 and 2.0 Activities
A.2.1
Tabs Common to Many Activities
A.2.1.1
Annotations Tab
A.2.1.2
Assertions Tab
A.2.1.3
Correlations Tab
A.2.1.4
Documentation Tab
A.2.1.5
Headers Tab
A.2.1.6
Properties Tab
A.2.1.7
Skip Condition Tab
A.2.1.8
Source and Targets Tabs
A.2.1.9
Timeout Tab
A.2.2
Assign Activity
A.2.3
Assert Activity
A.2.4
Bind Entity Activity
A.2.5
Compensate Activity
A.2.6
CompensateScope Activity
A.2.7
Create Entity Activity
A.2.8
Dehydrate Activity
A.2.9
Email Activity
A.2.10
Empty Activity
A.2.11
Exit Activity
A.2.12
Flow Activity
A.2.13
FlowN Activity
A.2.14
forEach Activity
A.2.15
If Activity
A.2.16
IM Activity
A.2.17
Invoke Activity
A.2.18
Java Embedding Activity
A.2.19
Partner Link Activity
A.2.20
Phase Activity
A.2.21
Pick Activity
A.2.22
Receive Activity
A.2.23
Receive Signal Activity
A.2.24
Remove Entity Activity
A.2.25
RepeatUntil Activity
A.2.26
Replay Activity
A.2.27
Reply Activity
A.2.28
Rethrow Activity
A.2.29
Scope Activity
A.2.30
Sequence Activity
A.2.31
Signal Activity
A.2.32
SMS Activity
A.2.33
Switch Activity
A.2.34
Terminate Activity
A.2.35
Throw Activity
A.2.36
Transform Activity
A.2.37
User Notification Activity
A.2.38
Validate Activity
A.2.39
Voice Activity
A.2.40
Wait Activity
A.2.41
While Activity
A.3
Introduction to BPEL Services
A.3.1
ADF-BC Service
A.3.2
AQ Adapter
A.3.3
Oracle B2B
A.3.4
Oracle BAM Adapter
A.3.5
Database Adapter
A.3.6
Direct Binding Service
A.3.7
EJB Service
A.3.8
File Adapter
A.3.9
FTP Adapter
A.3.10
HTTP Binding
A.3.11
JMS Adapter
A.3.12
MQ Adapter
A.3.13
Oracle Applications
A.3.14
Socket Adapter
A.3.15
Third Party Adapter
A.3.16
Web Service
A.4
Publishing and Browsing the Oracle Service Registry
A.4.1
How to Publish a Business Service
A.4.2
How to Create a Connection to the Registry
A.4.3
How to Configure a SOA Project to Invoke a Service from the Registry
A.4.3.1
Dynamically Resolving the SOAP Endpoint Location
A.4.3.2
Dynamically Resolving the WSDL Endpoint Location
A.4.3.3
Resolving Endpoints
A.4.4
How To Configure the Inquiry URL, UDDI Service Key, and Endpoint Address for Runtime
A.4.4.1
Changing Endpoint Locations in the Registry Control
A.4.4.2
Publishing WSDLs from Multiple SOA Partitions
A.4.5
How to Publish WSDLs to UDDI for Multiple Partitions
A.5
Providing Design-time Governance with the Oracle Enterprise Repository
A.6
Validating When Loading a Process Diagram
B
XPath Extension Functions
B.1
SOA XPath Extension Functions
B.1.1
Database Functions
B.1.1.1
lookup-table
B.1.1.2
query-database
B.1.1.3
sequence-next-val
B.1.2
Date Functions
B.1.2.1
add-dayTimeDuration-to-dateTime
B.1.2.2
current-date
B.1.2.3
current-dateTime
B.1.2.4
current-time
B.1.2.5
day-from-dateTime
B.1.2.6
format-dateTime
B.1.2.7
hours-from-dateTime
B.1.2.8
implicit-timezone
B.1.2.9
minutes-from-dateTime
B.1.2.10
month-from-dateTime
B.1.2.11
seconds-from-dateTime
B.1.2.12
subtract-dayTimeDuration-from-dateTime
B.1.2.13
timezone-from-dateTime
B.1.2.14
year-from-dateTime
B.1.3
Mathematical Functions
B.1.3.1
abs
B.1.4
String Functions
B.1.4.1
compare
B.1.4.2
compare-ignore-case
B.1.4.3
create-delimited-string
B.1.4.4
ends-with
B.1.4.5
format-string
B.1.4.6
get-content-as-string
B.1.4.7
get-content-from-file-function
B.1.4.8
get-localized-string
B.1.4.9
index-within-string
B.1.4.10
last-index-within-string
B.1.4.11
left-trim
B.1.4.12
lower-case
B.1.4.13
matches
B.1.4.14
right-trim
B.1.4.15
upper-case
B.2
BPEL XPath Extension Functions
B.2.1
addQuotes
B.2.2
authenticate
B.2.3
appendToList
B.2.4
copyList
B.2.5
countNodes
B.2.6
doc
B.2.7
doStreamingTranslate
B.2.8
doTranslateFromNative
B.2.9
doTranslateToNative
B.2.10
doXSLTransform
B.2.11
doXSLTransformForDoc
B.2.12
formatDate
B.2.13
generateGUID
B.2.14
getApplicationName
B.2.15
getAttachmentContent
B.2.16
getComponentName
B.2.17
getComponentInstanceID
B.2.18
getCompositeName
B.2.19
getCompositeInstanceID
B.2.20
getCompositeURL
B.2.21
getContentAsString
B.2.22
getConversationId
B.2.23
getCreator
B.2.24
getCurrentDate
B.2.25
getCurrentDateTime
B.2.26
getCurrentTime
B.2.27
getDomainId
B.2.28
getECID
B.2.29
getElement
B.2.30
getFaultAsString
B.2.31
getFaultName
B.2.32
getGroupIdsFromGroupAlias
B.2.33
getInstanceId
B.2.34
getNodeValue
B.2.35
getNodes
B.2.36
getOwnerDocument
B.2.37
getParentComponentInstanceID
B.2.38
getPreference
B.2.39
getProcessId
B.2.40
getProcessOwnerId
B.2.41
getProcessURL
B.2.42
getProcessVersion
B.2.43
getUserAliasId
B.2.44
getUserIdsFromGroupAlias
B.2.45
setCompositeInstanceTitle
B.2.46
instanceOf
B.2.47
integer
B.2.48
listUsers
B.2.49
lookupUser
B.2.50
parseEscapedXML
B.2.51
parseXML
B.2.52
processXQuery
B.2.53
processXSLT
B.2.54
processXSLTAttachment
B.2.55
processXSQL
B.2.56
readBinaryFromFile
B.2.57
readFile
B.2.58
search
B.2.59
writeBinaryToFile
B.2.60
BPEL Extension Functions in BPEL 1.1 and BPEL 2.0
B.2.60.1
getLinkStatus
B.2.60.2
getVariableData
B.2.60.3
getVariableProperty (For BPEL 1.1)
B.2.60.4
getVariableProperty (For BPEL 2.0)
B.2.61
Utility Functions
B.2.61.1
batchProcessActive
B.2.61.2
batchProcessCompleted
B.2.61.3
format
B.2.61.4
genEmptyElem
B.2.61.5
getChildElement
B.2.61.6
getMessage
B.2.61.7
max-value-among-nodeset
B.2.61.8
min-value-among-nodeset
B.2.61.9
square-root
B.2.61.10
translateFromNative
B.2.61.11
translateToNative
B.2.61.12
translateFromNativeAttachment
B.2.61.13
translateToNativeAttachment
B.3
Oracle Mediator XPath Extension Functions
B.3.1
doStreamingTranslate
B.3.2
doTranslateFromNative
B.3.3
doTranslateToNative
B.3.4
getAttachmentContent
B.3.5
getComponentInstanceID
B.3.6
getComponentName
B.3.7
getCompositeInstanceID
B.3.8
getCompositeName
B.3.9
getHeader
B.3.10
getECID
B.3.11
getParentComponentInstanceID
B.3.12
setCompositeInstanceTitle
B.3.13
translateFromNativeAttachment
B.3.14
translateToNativeAttachment
B.4
Advanced Functions
B.4.1
create-nodeset-from-delimited-string
B.4.2
generate-guid
B.4.3
lookupPopulatedColumns
B.4.4
lookupValue
B.4.5
lookupValue1M
B.4.6
lookupXRef
B.4.7
lookupXRef1M
B.4.8
lookup-xml
B.4.9
markForDelete
B.4.10
populateXRefRow
B.4.11
populateXRefRow1M
B.5
Workflow Service Functions
B.5.1
clearTaskAssignees
B.5.2
createWordMLDocument
B.5.3
getNotificationProperty
B.5.4
getNumberOfTaskApprovals
B.5.5
getPreviousTaskApprover
B.5.6
getTaskAttachmentByIndex
B.5.7
getTaskAttachmentByName
B.5.8
getTaskAttachmentContents
B.5.9
getTaskAttachmentsCount
B.5.10
getTaskResourceBundleString
B.5.11
wfDynamicGroupAssign
B.5.12
wfDynamicUserAssign
B.5.13
Identity Service Functions
B.5.13.1
getDefaultRealmName
B.5.13.2
getGroupProperty
B.5.13.3
getManager
B.5.13.4
getReportees
B.5.13.5
getSupportedRealmNames
B.5.13.6
getUserProperty
B.5.13.7
getUserRoles
B.5.13.8
getusersinapprole
B.5.13.9
getUsersInGroup
B.5.13.10
isUserInRole
B.5.13.11
lookupGroup
B.5.13.12
lookupUser
B.6
Building XPath Expressions in Oracle JDeveloper
B.6.1
How to Use the Expression Builder
B.6.2
Introduction to the XPath Building Assistant
B.6.3
How to Use the XPath Building Assistant
B.6.4
Using the XPath Building Assistant in the XSLT Mapper
B.6.5
Function Parameter Tool Tips
B.6.6
Syntactic and Semantic Validation
B.6.7
Creating Expressions with Free Form Text and XPath Expressions
B.7
Creating User-Defined XPath Extension Functions
B.7.1
How to Implement User-Defined XPath Extension Functions
B.7.1.1
How to Implement Functions for the XSLT Mapper
B.7.1.2
How to Implement Functions for All Other Components
B.7.2
How to Configure User-Defined XPath Extension Functions
B.7.3
How to Deploy User-Defined Functions to Runtime
C
Deployment Descriptor Properties
C.1
Introduction to Deployment Descriptor Properties
C.1.1
How to Define Deployment Descriptor Properties
C.1.2
How to Get the Value of a Preference within a BPEL Process
C.2
Deprecated 10.1.3 Properties
D
Understanding Sensor Public Views and the Sensor Actions XSD
D.1
Introduction to Sensor Public Views and the Sensor Actions XSD File
D.2
Sensor Public Views
D.2.1
BPM Schema
D.2.1.1
BPEL_PROCESS_INSTANCES
D.2.1.2
BPEL_ACTIVITY_SENSOR_VALUES
D.2.1.3
BPEL_FAULT_SENSOR_VALUES
D.2.1.4
BPEL_VARIABLE_SENSOR_VALUES
D.3
Sensor Actions XSD File
E
Oracle BAM Web Services Operations
E.1
DataObjectOperations10131
E.1.1
Batch
E.1.1.1
Request Message
E.1.2
Delete
E.1.2.1
Request Message
E.1.3
Insert
E.1.3.1
Request Message
E.1.4
Update
E.1.4.1
Request Message
E.1.5
Upsert
E.1.5.1
Request Message
E.2
DataObjectOperationsByName
E.2.1
Delete
E.2.1.1
Request Message
E.2.2
Get
E.2.2.1
Request Message
E.2.3
Insert
E.2.3.1
Request Message
E.2.4
Update
E.2.4.1
Request Message
E.2.5
Upsert
E.2.5.1
Request Message
E.3
DataObjectOperationsByID
E.3.1
Batch
E.3.1.1
Request Message
E.3.2
Delete
E.3.2.1
Request Message
E.3.3
Insert
E.3.3.1
Request Message
E.3.4
Update
E.3.4.1
Request Message
E.3.5
Upsert
E.3.5.1
Request Message
E.4
DataObjectDefinition Operations
E.4.1
Create
E.4.1.1
Request Message
E.4.1.2
Response Message
E.4.2
Delete
E.4.2.1
Request Message
E.4.2.2
Response Message
E.4.3
Get
E.4.3.1
Request Message
E.4.3.2
Response Message
E.4.4
Update
E.4.4.1
Request Message
E.4.4.2
Response Message
E.5
ManualRuleFire Operations
E.5.1
FireRuleByName
E.5.1.1
Request Message
E.5.1.2
Response Message
F
Oracle BAM Alert Rule Options
F.1
Events
F.1.1
In a specific amount of time
F.1.2
At a specific time today
F.1.3
On a certain day at a specific time
F.1.4
Every interval between two times
F.1.5
Every date interval starting on certain date at a specific time
F.1.6
When a report changes
F.1.7
When a data field changes in data object
F.1.8
When a data field in a report meets specified conditions
F.1.9
When a data field in a data object meets specified conditions
F.1.10
When this rule is launched
F.2
Conditions
F.2.1
If it is between two times
F.2.2
If It is between two days
F.2.3
If it is a particular day of the week
F.3
Actions
F.3.1
Send a report via email
F.3.2
Send a message via email
F.3.3
Send a report via email and escalate to another user after a specific amount of time
F.3.4
Send a parameterized message
F.3.5
Send a parameterized message for every matching row in a data object
F.3.6
Launch a rule
F.3.7
Launch rule if an action fails
F.3.8
Delete rows from a Data Object
F.3.9
Call a Web Service
F.3.9.1
How to Use Call a Web Service: An Example
F.3.10
Run an Oracle Data Integrator Scenario
F.3.11
Call an External Action
F.4
Frequency Constraint
G
Oracle BAM ICommand Operations and File Formats
G.1
Summary of Individual Operations
G.2
Detailed Operation Descriptions
G.2.1
Clear
G.2.2
Delete
G.2.3
Export
G.2.4
Import
G.2.5
Rename
G.3
Format of Command File
G.3.1
Inline Content
G.3.2
Command IDs
G.3.3
Continue On Error
G.4
Format of Log File
G.5
Sample Export File
G.6
Regular Expressions
H
Normalized Message Properties
H.1
Introduction to Normalized Messages
H.2
Oracle BPEL Process Manager Properties
H.3
Oracle Web Services Addressing Properties
H.4
Manipulating Normalized Message Properties with bpelx Extensions
H.4.1
BPEL 1.1 bpelx Extensions Syntax
H.4.2
BPEL 2.0 bpelx Extensions Syntax
I
Interfaces Implemented By Rules Dictionary Editor Task Flow
I.1
The MetadataDetails Interface
I.1.1
The getDocument Method
I.1.2
The getRelatedDocument Method
I.1.3
The setDocument Method
I.2
The NLSPreferences Interface
J
Oracle User Messaging Service Applications
J.1
Send Message to User Specified Channel
J.1.1
Overview
J.1.1.1
Provided Files
J.1.2
Installing and Configuring SOA and User Messaging Service
J.1.2.1
Updating Addresses in Your LDAP User Profile
J.1.3
Building the Sample
J.1.4
Creating a New Application Server Connection
J.1.5
Deploying the Project
J.1.6
Configuring User Messaging Preferences
J.1.7
Testing the Sample
J.1.7.1
Verifying the Execution of Sending the Email
J.2
Send Email with Attachments
J.2.1
Overview
J.2.1.1
Provided Files
J.2.2
Installing and Configuring SOA and User Messaging Service
J.2.2.1
Updating Addresses in Your LDAP User Profile
J.2.3
Running the Pre-Built Sample
J.2.4
Testing the Sample
J.2.4.1
Verifying the Execution
J.2.5
Building the Sample
J.2.5.1
Sending Text Content with base64 Encoding
J.2.6
Creating a New Application Server Connection
K
Oracle SOA Suite Properties Road Map
K.1
Oracle BPEL Process Manager Deployment Descriptor Properties
K.2
Normalized Message Header Properties
K.2.1
Oracle JCA Adapter Message Header Properties
K.2.2
Oracle BPEL Process Manager and Oracle Web Services Addressing Message Header Properties
K.2.3
Oracle B2B Message Header Properties
K.3
SOA Composite Application Properties
K.4
Fault Policy and Adapter Rejected Message Properties
K.5
Oracle B2B System Properties
K.6
Oracle Enterprise Manager Fusion Middleware Control Property Pages
K.6.1
SOA Infrastructure Properties
K.6.2
Oracle BPEL Process Manager
K.6.3
Human Workflow Notification and Task Service
K.6.4
Oracle Mediator
K.6.5
Cross References
K.6.6
Oracle B2B
K.6.7
Service and Reference Binding Component Properties
K.7
System MBean Browser Properties
K.7.1
SOA Infrastructure Properties
K.7.2
Oracle BPEL Process Manager Properties
K.7.3
Oracle Mediator Properties
K.7.4
Human Workflow Notification and Task Service Properties
K.7.5
Oracle Service Registry WSDL URL Caching Configuration
Index
Scripting on this page enhances content navigation, but does not change the content in any way.