Table of Contents
- Title and Copyright Information
- Preface
-
Part I Getting Started with Oracle SOA Suite
-
1
Introduction to Building Applications with Oracle SOA Suite
- Introduction to Oracle SOA Suite
- Getting Started with Oracle SOA Suite
- Setting Accessibility Options
-
2
Getting Started with Developing SOA Composite Applications
- Developing SOA Projects in Reference Configuration Mode
- Creating a SOA Application
- Adding Service Components
-
Adding Service Binding Components
- How to Add a Service Binding Component
- How to Define the Interface (WSDL) for a Web Service
- How to View Schemas
- How to Edit a Service Binding Component
- What You May Need to Know About Adding and Deleting Services
- What You May Need to Know About Using the Same Namespace in Different WSDL Files in the Same Composite
- What You May Need to Know About Multiple Schema Elements in a WSDL Types Section
- What You May Need to Know About WSDL Browsing in the Resources Window When the SOA Infrastructure Uses Both Internal and External Oracle HTTP Servers
- Adding Reference Binding Components
- Adding Wires
- Adding Descriptions to SOA Composite Applications
- Renaming, Deleting, and Moving Components and Artifacts
- Viewing Component Details in the Property Inspector
- Adding Security Policies
- Deploying a SOA Composite Application
- Managing and Testing a SOA Composite Application
-
3
Managing Shared Data with the Design-Time MDS Repository
- Introduction to SOA Design-Time MDS Repository Management
- Changing the Default SOA-MDS Location
- Sharing Data with the SOA Design-Time MDS Repository
- Creating and Deleting Subfolders Under the /apps Folder
- Exporting the Selected Contents of the /apps Folder to a JAR File
- Importing the Contents of the JAR File into the /apps Folder
- Transferring the Selected Contents of the /apps Folder to Another MDS Repository
- Exporting an Existing Release 11g MDS Repository to a JAR File
- Browsing for Files in the SOA Design-Time MDS Repository
-
1
Introduction to Building Applications with Oracle SOA Suite
-
Part II Using the BPEL Process Service Component
-
4
Getting Started with Oracle BPEL Process Manager
- Introduction to the BPEL Process Service Component
- Introduction to Activities
- Introduction to Partner Links
-
Creating a Partner Link
-
How to Create a Partner Link
- Partner Links for an Outbound Adapter
- Partner Links for an Inbound Adapter
- Partner Links from an Abstract WSDL to Call a Service
- Partner Links from an Abstract WSDL to Implement a Service
- Partner Links and Human Tasks or Business Rules
- Partner Links from an Existing Human Task, Business Rule, or Oracle Mediator
-
How to Create a Partner Link
- Introduction to Adapters
- Introduction to BPEL Process Monitors
-
5
Introduction to Interaction Patterns in a BPEL Process
- Introduction to One-Way Messages
- Introduction to Synchronous Interactions
- Introduction to Asynchronous Interactions
- Introduction to Asynchronous Interactions with a Timeout
- Introduction to Asynchronous Interactions with a Notification Timer
- Introduction to One Request, Multiple Responses
- Introduction to One Request, One of Two Possible Responses
- Introduction to One Request, a Mandatory Response, and an Optional Response
- Introduction to Partial Processing
- Introduction to Multiple Application Interactions
-
6
Manipulating XML Data in a BPEL Process
- Introduction to Manipulating XML Data in BPEL Processes
- Delegating XML Data Operations to Data Provider Services
- Translating Between Native Data and XML
- Using Standalone SDO-based Variables
- Initializing a Variable with Expression Constants or Literal XML
- Copying Between Variables
- Copy Between JSON and XML Variables in a BPEL Process
- Moving and Copying Variables in the Structure Window
- Accessing Fields in Element and Message Type Variables
- Assigning Numeric Values
- Using Mathematical Calculations with XPath Standards
- Assigning String Literals
- Concatenating Strings
- Assigning Boolean Values
- Assigning a Date or Time
- Manipulating Attributes
- Manipulating XML Data with bpelx Extensions
- Validating XML Data
- Using Element Variables in Message Exchange Activities in BPEL 2.0
- Mapping WSDL Message Parts in BPEL 2.0
- Importing Process Definitions in BPEL 2.0
- Manipulating XML Data Sequences That Resemble Arrays
- Converting from a String to an XML Element
- Understanding Document-Style and RPC-Style WSDL Differences
- Manipulating SOAP Headers in BPEL
- Declaring Extension Namespaces in BPEL 2.0
- 7 Invoking a Synchronous Web Service from a BPEL Process
-
8
Invoking an Asynchronous Web Service from a BPEL Process
- Introduction to Invoking an Asynchronous Web Service
-
Invoking an Asynchronous Web Service
- How to Invoke an Asynchronous Web Service
-
What Happens When You Invoke an Asynchronous Web Service
- portType Section of the WSDL File
- partnerLinkType Section of the WSDL File
- Partner Links Section in the BPEL File
- Composite Application File
- Invoke and Receive Activities
- createInstance Attribute for Starting a New Instance
- Dehydration Points for Maintaining Long-Running Asynchronous Processes
- Multiple Runtime Endpoint Locations
- What You May Need to Know About Midprocess Receive Activities Consuming Messages After Timing Out
- What You May Need to Know About Multiple Client Components Invoking a Composite
- What You May Need to Know About Limitations on BPEL 2.0 IMA Support
- What Happens When You Specify a Conversation ID
- Routing Callback Messages to the Correct Endpoint when Multiple Receive or Pick Activities Use the Same Partner Link
- Managing Idempotence at the Partner Link Operation Level
- Creating a Dynamic Partner Link at Design Time for Use at Runtime
- Overriding Security Certificates when Invoking Dynamic Partner Links
- Overriding WSDL Files of Dynamic Partner Links
- Using WS-Addressing in an Asynchronous Service
-
9
Using Correlation Sets and Message Aggregation
- Introduction to Correlation Sets in an Asynchronous Service
-
Creating Correlation Sets in Oracle JDeveloper
- How to Create a Correlation Set with the Correlation Wizard
- How to Manually Create Correlation Sets From the Correlations Tab
- What You May Need to Know About Conversion IDs and Different Composite Revisions
- What You May Need to Know About Setting Correlations for an IMA Using a fromParts Element With Multiple Parts
- Routing Messages to the Same Instance
-
10
Using Parallel Flow in a BPEL Process
- Introduction to Parallel Flows in BPEL Processes
-
Creating a Parallel Flow
- How to Create a Parallel Flow
- What Happens When You Create a Parallel Flow
- Synchronizing the Execution of Activities in a Flow Activity
- How to Create Synchronization Between Activities Within a Flow Activity
- What Happens When You Create Synchronization Between Activities Within a Flow Activity
- What You May Need to Know About Join Conditions in Target Activities
- Customizing the Number of Parallel Branches
- 11 Using Conditional Branching in a BPEL Process
-
12
Using Fault Handling in a BPEL Process
- Introduction to a Fault Handler
- Introduction to BPEL Standard Faults
- Introduction to the Business and Runtime Fault Categories of BPEL Faults
-
Handling Faults with the Fault Management Framework
- Understanding How the Fault Policy Binding Resolution Works
- How to Design a Fault Policy for Automated Fault Recovery with the Fault Policy Wizard
- How to Manually Design a Fault Policy for Automated Fault Recovery
- How to Execute a Fault Policy
- How to Use a Java Action Fault Policy
- How to Design Fault Policies for Oracle BPM Suite
- What You May Need to Know About Designing a Fault Policy in a Synchronous BPEL Process
- What You May Need to Know About Fault Management Behavior When the Number of Instance Retries is Exceeded
- What You May Need to Know About Binding Level Retry Execution Within Fault Policy Retries
- Catching BPEL Runtime Faults
- Getting Fault Details with the getFaultAsString XPath Extension Function
- Throwing Internal Faults with the Throw Activity
- Rethrowing Faults with the Rethrow Activity
- Returning External Faults
-
Managing a Group of Activities with a Scope Activity
- How to Create a Scope Activity
- How to Add Descriptive Notes and Images to a Scope Activity
- What Happens After You Create a Scope Activity
- What You May Need to Know About Scopes
- How to Use a Fault Handler Within a Scope
- What You May Need to Know About the idempotent Property and Fault Handling
- How to Create a Catch Activity in a Scope
- What Happens When You Create a Catch Activity in a Scope
- How to Insert No-Op Instructions into a Business Process with an Empty Activity
- What Happens When You Create an Empty Activity
- Re-executing Activities in a Scope Activity with the Replay Activity
- Using Compensation After Undoing a Series of Operations
- Stopping a Business Process Instance with a Terminate or Exit Activity
-
Throwing Faults with Assertion Conditions
- How to Create Assertion Conditions
- How to Disable Assertions
- What Happens When You Create Assertion Conditions
-
What You May Need to Know About Assertion Conditions
- bpelx:postAssert and bpelx:preAssert Extensions
- Use of faultName and message Attributes
- Multiple Assertions
- Use of Built-in and Custom XPath Functions and $variable References
- Assertion Condition Evaluation Logging of Events to the Instance Audit Trail
- Expressions Not Evaluating to an XML Schema Boolean Type Throw a Fault
- Assertion Conditions in a Standalone Assert Activity
- What You May Need to Know About Postassertion and Preassertion Condition Schemas and Syntax
- Classifying SOAP Faults as Retriable
- 13 Transaction and Fault Propagation Semantics in BPEL Processes
-
14
Incorporating Java and Java EE Code in a BPEL Process
- Introduction to Java and Java EE Code in BPEL Processes
-
Incorporating Java and Java EE Code in BPEL Processes
- How to Wrap Java Code as a SOAP Service
- What You May Need to Know About Wrapping Java Code as a SOAP Service
- How to Embed Java Code Snippets into a BPEL Process with the bpelx:exec Tag
- How to Embed Java Code Snippets in a BPEL 2.0 Process
- How to Use an XML Facade to Simplify DOM Manipulation
- How to Use bpelx:exec Built-in Methods
- How to Use Java Code Wrapped in a Service Interface
- Adding Custom Classes and JAR Files
- Using Java Embedding in a BPEL Process in Oracle JDeveloper
- Embedding Service Data Objects with bpelx:exec
- Sharing a Custom Implementation of a Class with Oracle BPEL Process Manager
-
15
Using Events and Timeouts in BPEL Processes
- Introduction to Event and Timeout Concepts
- Selecting Between Continuing or Waiting on a Process with a Pick Activity
-
Setting Timeouts for Request-Reply and In-Only Operations in Receive Activities
- How to Set Timeouts in Receive Activities
- What Happens When You Set Timeouts in Receive Activities
-
What You May Need to Know About Setting Timeouts for Request-Reply and In-Only Operations
- Timeout Settings Relative from When the Activity is Invoked
- Timeout Settings as an Absolute Date Time
- Timeout Settings Computed Dynamically with an XPath Expression
- bpelx:timeout Fault Thrown During an Activity Timeout
- Event Added to the BPEL Instance Audit Trail During an Activity Timeout
- Recoverable Timeout Activities During a Server Restart (Refresh Expiration Alarm Table)
- Setting an Expiration Time with a Wait Activity
- Specifying Events to Wait for Message Arrival with an OnEvent Branch in BPEL 2.0
- Setting Timeouts for Durable Synchronous Processes
- Invoking an Oracle Enterprise Scheduler Job in a BPEL Process
- 16 Coordinating Master and Detail Processes
-
17
Using the Notification Service
- Introduction to the Notification Service
- Introduction to Notification Channel Setup
- Selecting Notification Channels During BPEL Process Design
- Allowing the End User to Select Notification Channels
-
18
Using Oracle BPEL Process Manager Sensors and Analytics
- Introduction to Oracle BPEL Process Manager Sensors
- Configuring Sensors and Sensor Actions in Oracle JDeveloper
- Viewing Sensors and Sensor Action Definitions in Oracle Enterprise Manager Fusion Middleware Control
-
Configuring BPEL Process Analytics
- Introduction to Business Indicators
- Introduction to Standard Sampling Points
- Introduction to User-Defined Sampling Points
- How to Access Analytics View
- How to Edit Business Indicators in the Business Indicator Overview Editor
- Deploying BPEL Analytics
- Viewing BPEL Analytics at Runtime
-
4
Getting Started with Oracle BPEL Process Manager
-
Part III Using the Oracle Mediator Service Component
-
19
Getting Started with Oracle Mediator
- Introduction to Oracle Mediator
-
Mediator Functionality
- Content-Based and Header-Based Routing
- Synchronous and Asynchronous Interactions
- Sequential and Parallel Routing of Messages
- Message Resequencing
- Data Transformation
- Payload Validation
- Java Callouts
- Event Handling
- Dynamic Routing
- Error Handling
- Sending Messages Back to the Caller (Echo)
- Multiple Part Messages
- Creating a Mediator
- Introduction to the Mediator Editor Environment
- Configuring the Mediator Interface Definition
- Defining an Interface for a Mediator
- Generating a WSDL File
- Specifying Validation and Priority Properties
- Modifying a Mediator Service Component
-
20
Creating Oracle Mediator Routing Rules
- Introduction to Routing Rules
- Resequencing Rules
-
Defining Routing Rules
- How To Access the Routing Rules Section
-
How to Create Static Routing Rules
- How to Specify Mediator Services or Events
- What You May Need to Know About Echoing a Service
- How to Specify Sequential or Parallel Execution
- How to Configure Response Messages
- How to Handle Premature Callbacks
- How to Handle Multiple Callbacks
- How to Handle Faults
- How to Specify an Expression for Filtering Messages
- How to Translate Between Native XSD Formats and XML Formats
- How to Use Inbound Translation
- How to Use Outbound Translation
- How to Create XSLT Transformations
- How to Create XQuery Transformations
- How to Assign Values
- What You May Need to Know About the Assign Activity
- How to Access Headers for Filters and Assignments
- How to Use Semantic Validation
- How to Work with Attachments
- How to Use Java Callouts
- How to Create Dynamic Routing Rules
- What You May Need to Know About Using Dynamic Routing Rules
- How to Define Default Routing Rules
-
21
Working with Multiple Part Messages in Oracle Mediator
- Introduction to Mediator Multipart Message Support
-
Working with Multipart Request Messages
- How to Specify Filter Expressions for Multipart Request Messages
- How to Add Validations for Multipart Request Messages
- How to Create Transformations for Multipart Request Messages
- How to Assign Values for Multipart Request Messages
- How to Work with Multipart Reply, Fault, and Callback Source Messages
- How to Work with Multipart Target Messages
- 22 Using Oracle Mediator Error Handling
-
23
Resequencing in Oracle Mediator
- Introduction to the Resequencer
-
Resequencing Order
- Standard Resequencer
- FIFO Resequencer
-
Best Effort Resequencer
- Overview of the Best Effort Resequencer
- Best Effort Resequencer Message Selection Strategies
- Best Effort Resequencer Message Delivery
- Information Required for Best Effort Resequencing
- Example of Best Effort Resequencing Based on Maximum Rows
- Example of Best Effort Resequencing Based on a Time Window
- Configuring the Resequencer
- 24 Understanding Message Exchange Patterns of an Oracle Mediator
-
19
Getting Started with Oracle Mediator
-
Part IV Using the Business Rules Service Component
-
25
Getting Started with Oracle Business Rules
- Introduction to the Business Rule Service Component
- Overview of Rules Designer Editor Environment
- Introduction to Creating and Editing Business Rules
-
Adding Business Rules to a BPEL Process
- How to Add Inputs for Business Rule
- How to Add Outputs for Business Rule
- How to Set Options and Create Decision Service and Business Rule Dictionary
- What Happens When You Add Business Rules to a BPEL Process
- What Happens When You Create a Business Rules Dictionary
- What You May Need to Know About Invoking Business Rules in a BPEL Process
- What You May Need to Know About Decision Component Stateful Operation
- Adding Business Rules to a SOA Composite Application
- Running Business Rules in a Composite Application
- Using Business Rules with Oracle ADF Business Components Fact Types
-
26
Using Declarative Components and Task Flows
- Introduction to Declarative Components and Task Flows
-
Introduction to the Oracle Business Rules Editor Declarative Component
- Using the Oracle Business Rules Editor Component
- How to Create and Run a Sample Application by Using the Rules Editor Component
- How to Deploy a Rules Editor Application to a Standalone WLS
- What You May Need to Know About the Custom Permissions for the Rules Editor Component
- What You May Need to Know About the Supported Tags of the Rules Editor Component
-
Introduction to the Oracle Business Rules Dictionary Editor Declarative Component
- Using the Oracle Business Rules Dictionary Component
- How to Create and Run a Sample Application by Using the Rules Dictionary Editor Component
- How to Deploy a Rules Dictionary Application to a Standalone Oracle WebLogic Server
- What You May Need to Know About the Supported Attributes of the Rules Dictionary Editor Component
- Introduction to the Oracle Business Rules Dictionary Editor Task Flow
- Localizing the ADF-Based Web Application
- Working with Translations
-
25
Getting Started with Oracle Business Rules
-
Part V Using the Human Workflow Service Component
-
27
Getting Started with Human Workflow
- Introduction to Human Workflow
- Introduction to Human Workflow Concepts
- Introduction to Human Workflow Use Cases
- Introduction to Human Workflow Architecture
- Human Workflow and Business Rule Differences Between Oracle SOA Suite and Oracle BPM Suite
-
28
Creating Human Tasks
- Introduction to Human Tasks
- Creating Human Tasks
- Configuring Human Tasks
- Exiting the Human Task Editor and Saving Your Changes
-
Associating Human Tasks with BPEL Processes
- How to Associate a Human Task with a BPEL Process
- What You May Need to Know About Deleting a Wire Between a Human Task and a BPEL Process
- How to Define the Human Task Activity Title, Initiator, Priority, and Parameter Variables
- How to Define the Human Task Activity Advanced Features
- How to View the Generated Human Task Activity
- What You May Need to Know About Changing the Generated Human Task Activity
- What You May Need to Know About Deleting a Partner Link Generated by a Human Task
- How to Define Outcome-Based Modeling
- What You May Need to Know About Encoding an Attachment
-
29
Configuring Human Tasks
- Accessing the Sections of the Human Task Editor
- Specifying the Title, Description, Outcome, Priority, Category, Owner, and Application Context
- Specifying the Task Payload Data Structure
-
Assigning Task Participants
- How to Specify a Stage Name and Add Parallel and Sequential Blocks
- How to Assign Task Participants
- How to Configure the Single Participant Type
- How to Configure the Parallel Participant Type
- How to Configure the Serial Participant Type
- How to Configure the FYI Participant Type
-
Selecting a Routing Policy
- How to Customize Tasks Routing
- How to Specify Advanced Task Routing Using Business Rules
- How to Use External Routing
- How to Configure the Error Assignee and Reviewers
- Specifying Multilingual Settings and Style Sheets
- Specifying What to Show in Task Details in the Worklist
- Escalating, Renewing, or Ending the Task
-
Specifying Participant Notification Preferences
- How to Notify Recipients of Changes to Task Status
- How to Edit the Notification Message
- How to Set Up Reminders
- How to Change the Character Set Encoding
- How to Secure Notifications to Exclude Details
- How to Display the Oracle BPM Worklist URL in Notifications
- How to Make Email Messages Actionable
- How to Send Task Attachments with Email Notifications
- How to Send Email Notifications to Groups and Application Roles
- How to Customize Notification Headers
- Specifying Access Policies and Task Actions on Task Content
- Specifying Restrictions on Task Assignments
- Specifying Java or Business Event Callbacks
-
30
Designing Task Forms for Human Tasks
- Introduction to the Task Form
- Associating the Task Flow with the Task Service
-
Creating an ADF Task Flow Based on a Human Task
- How To Create an ADF Task Flow from the Human Task Editor
- How To Create an ADF Task Flow Based on a Human Task
- What Happens When You Create an ADF Task Flow Based on a Human Task
- What You May Need to Know About Having Multiple ADF Task Flows That Contain the Same Element with Different Meta-attributes
-
Creating a Task Form
- How To Create an Autogenerated Task Form
- How to Register the Library JAR File for Custom Page Templates
- How To Create a Task Form Using the Custom Task Form Wizard
- How To Create a Task Form Using the Complete Task with Payload Drop Handler
- How To Create Task Form Regions Using Individual Drop Handlers
- How To Add the Payload to the Task Form
- What Happens When You Create a Task Form
- Refreshing Data Controls When the Task XSD Changes
- Securing the Task Flow Application
- Creating an Email Notification
-
Deploying a Composite Application with a Task Flow
- How To Deploy a Composite Application with a Task Flow
- How To Redeploy the Task Form
- How To Deploy a Task Flow as a Separate Application
-
How To Deploy a Task Form to a non-SOA Oracle WebLogic Server
- Before Deploying the Task Form: Port Changes
- Configuring Unique Cookie Context Paths for the Session Tracking Cookies
- Deploying oracle.soa.workflow.jar to a non-SOA Oracle WebLogic Server
- Defining the Foreign JNDI Provider on a non-SOA Oracle WebLogic Server
- Defining the Foreign JNDI Provider Links on a non-SOA Oracle WebLogic Server
- Including a Grant for bpm-services.jar
- Deploying the Application
- What Happens When You Deploy the Task Form
- What You May Need to Know About Undeploying a Task Flow
- Displaying a Task Form in the Worklist
- Displaying a Task in an Email Notification
- Reusing the Task Flow Application with Multiple Human Tasks
-
31
Human Workflow Tutorial
- Introduction to the Human Workflow Tutorial
- Prerequisites
- Creating an Application and a Project with a BPEL Process
- Creating the Human Task Service Component
- Designing the Human Task
- Associating the Human Task and BPEL Process Service Components
- Creating a Task Form Project
- Deploying the Task Form
- Creating an Application Server Connection
- Deploying the SOA Composite Application
- Initiating the Process Instance
- Acting on the Task in Oracle BPM Worklist
-
32
Using Oracle BPM Worklist
- Introduction to Oracle BPM Worklist
- Logging In to Oracle BPM Worklist
- Customizing the Task List Page
- Exporting Tasks to Microsoft Excel
- Acting on Tasks: The Task Details Page
- Approving Tasks
- Setting a Vacation Period
- Setting Rules
-
Using the Worklist Administration Functions
- How To Manage Other Users' or Groups' Rules (as an Administrator)
- How to Specify the Login Page Realm Label
- How to Specify the Resource Bundle
- How to Specify the Language Locale Information
- How to Specify User Name Format
- How to Specify a Branding Logo
- How to Specify the Branding Title
- How to Choose a Skin
- How to Enable Customized Applications and Links
- How to Specify an Image for a Task Action
- Specifying Additional Process Workspace Settings
- Specifying Notification Settings
- Using Mapped Attributes (Flex Fields)
- Creating Worklist Reports
-
Accessing Oracle BPM Worklist in Local Languages and Time Zones
- Strings in Oracle BPM Worklist
- How to Change the Preferred Language, Display Names of Users, and Time Zone Settings if the Identity Store is LDAP-Based
- How to Change the Language in Which Tasks Are Displayed
- How To Change the Language Preferences from a JAZN XML File
- What You May Need to Know Setting Display Languages in Worklist
- How To Change the Time Zone Used in the Worklist
-
Creating Reusable Worklist Regions
- How to Create an Application With an Embedded Reusable Worklist Region
- How to Set Up the Deployment Profile
- How to Prepare Federated Mode Task Flows For Deployment
- What You May Need to Know About Task List Task Flow
- What You May Need to Know About Certificates Task Flow
- What You May Need to Know About the Reports Task Flow
- What You May Need to Know About Application Preferences Task Flow
- What You May Need to Know About Mapped Attributes Task Flow
- What You May Need to Know About Rules Task Flow
- What You May Need to Know About Approval Groups Task Flow
- What You May Need to Know About Task Configuration Task Flow
- Java Code for Enabling Customized Applications in Oracle BPM Worklist
-
33
Building a Custom Worklist Client
- Introduction to Building Clients for Workflow Services
- Packages and Classes for Building Clients
- Workflow Service Clients
- Class Paths for Clients Using SOAP
- Class Paths for Clients Using Remote EJBs
- Initiating a Task
- Changing Workflow Standard View Definitions
- Writing a Worklist Application Using the HelpDeskUI Sample
-
34
Understanding Human Workflow Services
-
Introduction to Human Workflow Services
- SOAP, Enterprise JavaBeans, and Java Support for the Human Workflow Services
- Security Model for Services
- Task Service
- Task Query Service
- Identity Service
- Task Metadata Service
- User Metadata Service
- Task Report Service
- Runtime Config Service
- Evidence Store Service and Digital Signatures
- Task Instance Attributes
-
Notifications from Human Workflow
- Contents of Notification
- Error Message Support
- Reliability Support
- Management of Oracle Human Workflow Notification Service
- How to Configure the Notification Channel Preferences
- How to Configure Notification Messages in Different Languages
- How to Send Actionable Messages
- How to Send Inbound and Outbound Attachments
- How to Send Inbound Comments
- How to Send Secure Notifications
- How to Set Channels Used for Notifications
- How to Send Reminders
- How to Set Automatic Replies to Unprocessed Messages
- How to Create Custom Notification Headers
- Assignment Service Configuration
- Class Loading for Callbacks and Resource Bundles
- Resource Bundles in Workflow Services
- Introduction to Human Workflow Client Integration with Oracle WebLogic Server Services
- Task States in a Human Task
- Database Views for Oracle Workflow
-
Introduction to Human Workflow Services
- 35 Design Time at Runtime in Oracle Business Process Management
-
27
Getting Started with Human Workflow
-
Part VI Using Binding Components
-
36
Getting Started with Binding Components
- Introduction to Binding Components
- Introduction to Integrating a Binding Component in a SOA Composite Application
- Creating Tokens for Use in the Binding URLs of External References
-
37
Integrating REST Operations in SOA Composite Applications
- Introduction to REST Support
-
Creating REST Support in Service and Reference Binding Components
- How to Configure the REST Binding Component in a SOA Composite Application
- How to Consume REST-Based Integrations Created in Oracle Integration from SOA Composite Applications
- How to Invoke OAuth-Protected Oracle Integration REST Endpoints from SOA Composite Applications
- How to Configure the REST Adapter Through Shortcuts
- How to Generate Schemas Manually
- How to Generate Schemas from Samples
- How to Use Global Token Variables
- How to Set REST Header Properties
- What You May Need to Know About REST Fault Binding
- What You May Need to Know About Converting a JSON Interchange Format to a REST Schema
- What You May Need to Know About REST References Calling REST Services in the Same Node
- Using JavaScript and JSON in BPEL Components
- Testing the REST Adapter with the HTTP Analyzer
- Testing and Configuring REST Reference Binding Components in Oracle Enterprise Manager Fusion Middleware Control
- Configure Proxy Host and Proxy Port for an External REST Endpoint
- Multipart Form Data Support for REST Binding
-
38
Integrating Enterprise JavaBeans with Composite Applications
- Introduction to Enterprise JavaBeans Binding Integration with SOA Composite Applications
- Designing an SDO-Based Enterprise JavaBeans Application
- Creating an Enterprise JavaBeans Service in Oracle JDeveloper
- Designing an Enterprise JavaBeans Client to Invoke Oracle SOA Suite
- Specifying Enterprise JavaBeans Roles
- Configuring Enterprise JavaBeans Binding Support in the Credential Store Framework
- 39 Using Direct Binding to Invoke Composite Services
-
36
Getting Started with Binding Components
-
Part VII Sharing Functionality Across Service Components
-
40
Oracle SOA Suite Templates and Reusable Subprocesses
- Introduction to Oracle SOA Suite Templates
- Introduction to Standalone and Inline BPEL Subprocess Invocations
- Differences Between Oracle SOA Suite Templates and Reusable Subprocesses
- Creating Oracle SOA Suite Templates
- Creating Standalone and Inline BPEL Subprocesses in a BPEL Process
-
41
Creating Transformations with the XSLT Map Editor
- Introduction to the XSLT Map Editor
-
Creating an XSLT Map
- How to Create an XSLT Map
- How to Create an XSL Map File in Oracle BPEL Process Manager
- How to Create an XSL Map File from Imported Source and Target Schema Files in Oracle BPEL Process Manager
- How to Create an XSL Map File in Oracle Mediator
- What You May Need to Know About Creating an XSL Map File
- What Happens at Runtime If You Pass a Payload Through Oracle Mediator Without Creating an XSL Map File
- What Happens If You Receive an Empty Namespace Tag in an Output Message
-
Editing an XSLT Map in Map View
- How to Perform a Value Copy by Linking Nodes
- How to Create an Empty Node in the Output Document
- How to Set a Literal Text Value for a Target Node
-
How to Add an XSLT Statement
- To Add an XSLT Statement:
- To Add an xsl:text or xsl:variable Statement:
- To Drag and Drop an XSLT statement to a Target Node:
- How to Add Conditional Processing Using xsl:if
- How to Add Conditional Processing Using xsl:choose
- How to Add Loops Using xsl:for-each
- How to Add xsl:sort for an xsl:for-each Statement
- How to Duplicate XSLT Instructions
- How to Duplicate an Element
- How to Delete an Element or Attribute
- How to Remove Mappings from an Element or Attribute
-
Editing an XSLT Map in XSLT View
- How to Add a Target Element or Attribute Before Mapping
- How to Perform a Value Copy by Linking Nodes
- How to Insert an xsl:valueof Statement
- How to Set a Literal Text Value for an XSLT Node
- How to Set a Literal Text Value Using an xsl:text Instruction
- How to Add XSLT Statements
- How to Set the Value of an XSLT Expression Attribute
- How to Duplicate an Element
- How to Delete an Element or Attribute
- How to Move an Element
- How to Remove Mappings from an Element or Attribute
-
Using XPath Expressions
- How to Modify an Existing Source to Target Mapping
- How to Modify an Existing Function XPath Expression in the Canvas Pane
- How to Create a New Function in the Canvas Pane
- How to Chain Functions Together
- How to Remove an XPath Expression
- How to Import User-Defined Functions
- Using Auto Map to Map Complex Nodes
- Checking the Completion Status of the Map
- Testing the Map
- Importing an External XSLT Map
- Using Variables and Parameters
- Substituting Elements and Types
- Using Named Templates
- Using Template Rules
- Using the Execution View
- Debugging the XSLT Map
- Troubleshooting Memory Issues
- Setting XSL Map Preferences
- 42 Creating Transformations with the XQuery Mapper
-
43
Using Business Events and the Event Delivery Network
- Introduction to Business Events
- Creating Business Events in Oracle JDeveloper
-
Subscribing to or Publishing a Business Event from an Oracle Mediator Service Component
- How to Subscribe to a Business Event
- How to Publish a Business Event
- What Happens When You Create and Subscribe to a Business Event
- What Happens When You Publish a Business Event
- What You May Need to Know About Subscribing to a Business Event
- What You May Need to Know About Publishing Events Across Domains Using SAF
- How to Configure a Foreign JNDI Provider to Enable Administration Server Applications to Publish Events to the SOA Server
- How to Configure the Connection Factory When the Oracle WebLogic Server JMS Runs in the Same Local JVM as the JMS Adapter
- Subscribing to or Publishing a Business Event from a BPEL Process Service Component
- How to Integrate Oracle ADF Business Component Business Events with Oracle Mediator
-
44
Working with Cross References
- Introduction to Cross References
- Introduction to Cross Reference Tables
- Oracle Data Integrator Support for Cross Referencing
- Creating and Modifying Cross Reference Tables
- Populating Cross Reference Tables
- Looking Up Cross Reference Tables
- Deleting a Cross Reference Table Value
-
Creating and Running the Cross Reference Use Case
-
How to Create the Use Case
- Task 1: How to Configure the Oracle Database and Database Adapter
- Task 2: How to Create an Oracle JDeveloper Application and a Project
- Task 3: How to Create a Cross Reference
- Task 4: How to Create a Database Adapter Service
- Task 5: How to Create EBS and SBL External References
- Task 6: How to Create the Logger File Adapter External Reference
- Task 7: How to Create an Oracle Mediator Service Component
- Task 8: How to Specify Routing Rules for an Oracle Mediator Service Component
- Task 9: How to Specify Routing Rules for the Common Oracle Mediator
- Task 10: How to Configure an Application Server Connection
- Task 11: How to Deploy the Composite Application
- How to Run and Monitor the XrefCustApp Application
-
How to Create the Use Case
-
Creating and Running Cross Reference for 1M Functions
-
How to Create the Use Case
- Task 1: How to Configure the Oracle Database and Database Adapter
- Task 2: How to Create an Oracle JDeveloper Application and a Project
- Task 3: How to Create a Cross Reference
- Task 4: How to Create a Database Adapter Service
- Task 5: How to Create an EBS External Reference
- Task 6: How to Create a Logger File Adapter External Reference
- Task 7: How to Create an Oracle Mediator Service Component
- Task 8: How to Specify Routing Rules for an Oracle Mediator Component
- Task 9: How to Specify Routing Rules for the Common Oracle Mediator
- Task 10: How to Configure an Application Server Connection
- Task 11: How to Deploy the Composite Application
-
How to Create the Use Case
-
45
Working with Domain Value Maps
- Introduction to Domain Value Maps
- Creating Domain Value Maps
- Editing a Domain Value Map
- Using Domain Value Map Functions
-
Creating a Domain Value Map Use Case for a Hierarchical Lookup
-
How to Create the HierarchicalValue Use Case
- Task 1: How to Create an Oracle JDeveloper Application and a Project
- Task 2: How to Create a Domain Value Map
- Task 3: How to Create a File Adapter Service
- Task 4: How to Create ProcessOrders Mediator Component
- Task 5: How to Create a File Adapter Reference
- Task 6: How to Specify Routing Rules
- Task 7: How to Configure an Application Server Connection
- Task 8: How to Deploy the Composite Application
- How to Run and Monitor the HierarchicalValue Application
-
How to Create the HierarchicalValue Use Case
-
Creating a Domain Value Map Use Case For Multiple Values
-
How to Create the Multivalue Use Case
- Task 1: How to Create an Oracle JDeveloper Application and Project
- Task 2: How to Create a Domain Value Map
- Task 3: How to Create a File Adapter Service
- Task 4: How to Create the LookupMultiplevaluesMediator Mediator
- Task 5: How to Create a File Adapter Reference
- Task 6: How to Specify Routing Rules
- Task 7: How to Configure an Application Server Connection
- Task 8: How to Deploy the Composite Application
- How to Run and Monitor the Multivalue Application
-
How to Create the Multivalue Use Case
- Preloading DVM Cache for Faster First-Use
- 46 Using Oracle SOA Composer with Domain Value Maps
-
40
Oracle SOA Suite Templates and Reusable Subprocesses
-
Part VIII Completing Your Application
- 47 Enabling Security with Policies and Message Encryption
-
48
Deploying SOA Composite Applications
- Introduction to Deployment
- Deployment Prerequisites
- Understanding the Packaging Impact
- Anatomy of a Composite
-
Preparing the Target Environment
- How to Create Data Sources and Queues
- How to Create Connection Factories and Connection Pooling
- How to Enable Security
- How to Set the Business Flow Instance Name or Composite Instance Name at Design Time
- How to Deploy Trading Partner Agreements and Task Flows
- How to Create an Application Server Connection
- How to Create a SOA-MDS Connection
-
Customizing Your Application for the Target Environment Before Deployment
-
How to Use Configuration Plans to Customize SOA Composite Applications for the Target Environment
- Introduction to Configuration Plans
- Introduction to a Configuration Plan File
- Introduction to Use Cases for a Configuration Plan
- How to Create a Configuration Plan in Oracle JDeveloper
- How to Create a Configuration Plan with the WLST Utility
- How to Attach a Configuration Plan with ant Scripts
- How to Create Global Token Variables
-
How to Use Configuration Plans to Customize SOA Composite Applications for the Target Environment
- Deploying SOA Composite Applications or Projects in Oracle JDeveloper
- Deploying and Managing SOA Composite Applications with the WLST Utility
-
Deploying and Managing SOA Composite Applications with ant Scripts
- How to Use ant to Automate the Testing of a SOA Composite Application
- How to Use ant to Compile a SOA Composite Application
- How to Use ant to Package a SOA Composite Application into a Composite SAR File
- How to Use ant to Deploy a SOA Composite Application
- How to Use ant to Undeploy a SOA Composite Application
- How to Use ant to Export a Composite into a SAR File
- How to Use ant to Export Postdeployment Changes of a Composite into a JAR File
- How to Use ant to Import Postdeployment Changes of a Composite
- How to Use ant to Export Shared Data of a Given Pattern into a JAR File
- How to Use ant to Remove a Top-level Shared Data Folder
- How to Use ant to Start a SOA Composite Application
- How to Use ant to Stop a SOA Composite Application
- How to Use ant to Activate a SOA Composite Application
- How to Use ant to Retire a SOA Composite Application
- How to Use ant to Assign the Default Version to a SOA Composite Application
- How to Use ant to List the Deployed SOA Composite Applications
- How to Use ant to List All Available Partitions in the SOA Infrastructure
- How to Use ant to List All Composites in a Partition
- How to Use ant to Create a Partition in the SOA Infrastructure
- How to Use ant to Delete a Partition in the SOA Infrastructure
- How to Use ant to Start All Composites in the Partition
- How to Use ant to Stop All Composites in the Partition
- How to Use ant to Activate All Composites in the Partition
- How to Use ant to Retire All Composites in the Partition
- How to Use ant to Manage SOA Composite Applications
- Deploying SOA Composite Applications from Oracle Enterprise Manager Fusion Middleware Control
-
Deploying SOA Composite Applications with No Servers Running
- Offline Deployment Configuration Files
- How to Deploy SOA Composite Applications and Shared Data with No Server Running
- What You May Need to Know About Offline Composite Deployment in a Cluster Environment
- What You May Need to Know About Deploying SOA Composite Applications that Reference Shared Data That is Not in the MDS Repository
- Importing XSLT Customizations into a Deployed SOA Composite Application
- Postdeployment Configuration
-
Testing and Troubleshooting
- Verifying Deployment
- Initiating an Instance of a Deployed Composite
- Automating the Testing of Deployed Composites
- Recompiling a Project After Receiving a Deployment Error
- Reducing Java Code Size to Resolve Java Compilation Errors
-
Troubleshooting Common Deployment Errors
- Common Oracle JDeveloper Deployment Issues
- Common Configuration Plan Issues
- Deploying to a Managed Oracle WebLogic Server
- Deploying to a Two-Way, SSL-Enabled Oracle WebLogic Server
- Deploying with an Unreachable Proxy Server
- Releasing Locks to Resolve ADF Task Form EAR File Deployment Errors
- Increasing Memory to Recover from Compilation Errors
- Oracle JDeveloper Compilation Error When Property Alias Definition is Missing for a Receive Activity with a Correlation Set
- ADF Binding Service Names Must Be Unique Across All Deployed SOA Composite Applications
- Patching Running Instances of a SOA Composite
- 49 Using the Oracle SOA Suite Development Maven Plug-In
- 50 Debugging and Auditing SOA Composite Applications
-
51
Automating Testing of SOA Composite Applications
- Introduction to the Composite Test Framework
- Introduction to the Components of a Test Suite
- Creating Test Suites and Test Cases with the Create Composite Test Wizard
- Editing the Contents of Test Cases in Test Mode in the SOA Composite Editor
-
Testing BPEL Process Service Components
- Overview of Assertions on BPEL Process Activities
- Overview of a Fast Forward Action on a Wait Activity
- Overview of Assert Activity Execution
- How to Create BPEL Process Service Component Tests
- How to Create Assertions
- How to Bypass a Wait Activity
- How to Specify the Number of Times to Execute an Activity
- Deploying and Running a Test Suite
-
Part IX Advanced Topics
-
52
Managing Large Documents and Large Numbers of Instances
-
Best Practices for Handling Large Documents
-
Use Cases for Handling Large Documents
- Passing Binary Objects as Base64-Encoded Text in XML Payloads
-
End-to-End Streaming with Attachments
- SOAP with Attachments
- Working with Streaming Attachments
- Creating Composites that Use MIME Attachments
- Performance Overhead and Pass Through Attachments
- Properties for Streaming Attachments
- Streaming Attachments from the SOA Web Service Binding Layer
- Reading and Encoding SOAP Attachment Content
- Sending Attachment Streams
- Overriding Pass Through Settings for Attachments in Oracle Mediator
- Sharing Attachments Using Synchronous Flows
- Attachment Options of File/FTP Adapters
- Oracle B2B Attachment
- Sending and Receiving MTOM-Optimized Messages to SOA Composite Applications
- Processing Large XML with Repeating Constructs
- Processing Large XML Documents with Complex Structures
- Limitations on Concurrent Processing of Large Documents
- JVM Memory Sizing Recommendations for SOA Composite Applications
-
General Tuning Recommendations
- General Recommendations
- Setting Audit Levels from Oracle Enterprise Manager for Large Payload Processing
- Using the Assign Activity in Oracle BPEL Process Manager and Oracle Mediator
- Using XSLT Transformations on Large Payloads (For Oracle BPEL Process Manager)
- Using XSLT Transformations on Large Payloads (For Oracle Mediator)
- Using XSLT Transformations for Repeating Structures
- Processing Large Documents in Oracle B2B
- Setting a Size Restriction on Inbound Web Service Message Size
- Using XPath Functions to Write Large XSLT/XQuery Output to a File System
-
Use Cases for Handling Large Documents
-
Best Practices for Handling Large Metadata
- Boundary on the Processing of Large Numbers of Activities in a BPEL Process
- Using Large Numbers of Activities in BPEL Processes (Without FlowN)
- Using Large Numbers of Activities in BPEL Processes (With FlowN)
- Using a Flow With Multiple Sequences
- Using a Flow with One Sequence
- Using a Flow with No Sequence
- Large Numbers of Oracle Mediators in a Composite
- Importing Large Data Sets in Oracle B2B
- Best Practices for Handling Large Numbers of Instances
-
Best Practices for Handling Large Documents
-
53
Customizing SOA Composite Applications
- Introduction to Customizing SOA Composite Applications
-
Creating the Customizable Composite
- How to Create Customization Classes
- How to Create the Customizable Composite
- How to Add an XSD or WSDL File
- How to Search for Customized Activities in a BPEL Process
- What You May Need to Know About Resolving Validation Errors in Oracle JDeveloper
- What You May Need to Know About Resolving a Sequence Conflict
- What You May Need to Know About Compiling and Deploying a Customized Application
- Customizing the Vertical Application
- Customizing the Customer Version
- Upgrading the Composite
- 54 Defining Composite Sensors
- 55 Creating Dynamic Business Processes
-
56
Integrating the Spring Framework in SOA Composite Applications
- Introduction to the Spring Service Component
- Integration of Java and WSDL-Based Components in the Same SOA Composite Application
- Creating a Spring Service Component in Oracle JDeveloper
- Defining Custom Spring Beans Through a Global Spring Context
- Using the Predefined Spring Beans
- JAXB and OXM Support
- Configuring Groovy and Aspectj Classes with the Spring Service Component
- Troubleshooting Spring Errors
-
52
Managing Large Documents and Large Numbers of Instances
- Part X Appendices
-
A
BPEL Process Activities and Services
- Introduction to Activities and Components
-
Introduction to BPEL 1.1 and 2.0 Activities
- Tabs Common to Many Activities
- Using the Native Format Builder Wizard Outside of Adapter Configuration
- Assign Activity
- Assert Activity
- Bind Entity Activity
- Call Activity
- Compensate Activity
- CompensateScope Activity
- Create Entity Activity
- Dehydrate Activity
- Dynamic Partner Link Activity
- Email Activity
- Empty Activity
- Exit Activity
- Flow Activity
- FlowN Activity
- forEach Activity
- If Activity
- IM Activity
- Invoke Activity
- Java Embedding Activity
- Partner Link Activity
- Phase Activity
- Pick Activity
- Receive Activity
- Receive Signal Activity
- Remove Entity Activity
- RepeatUntil Activity
- Replay Activity
- Reply Activity
- Rethrow Activity
- Schedule Job
- Scope Activity
- Sequence Activity
- Signal Activity
- SMS Activity
- Switch Activity
- Terminate Activity
- Throw Activity
- Translate Activity
- User Notification Activity
- Validate Activity
- Wait Activity
- While Activity
- XQuery Transform Activity
- XSLT Transform Activity
- Introduction to BPEL Services
-
B
XPath Extension Functions
-
Advanced Functions
- batchProcessActive
- batchProcessCompleted
- copyList
- create-nodeset-from-delimited-string
- createDelimitedString
- createEssParameter
- doStreamingTranslate
- doTranslateFromNative
- doTranslateToNative
- format
- genEmptyElem
- generate-guid
- get-content-from-file-function
- getApplicationName
- getAttachmentContent
- getAttachmentProperty
- getChildElement
- getComponentInstanceID
- getComponentName
- getCompositeInstanceID
- getCompositeName
- getCompositeURL
- getECID
- getFaultAsString
- getFaultAsXML
- getFaultName
- getMilestoneName
- getOwnerDocument
- getParentComponentInstanceID
- getRevision
- getTaskReminderDuration
- instanceOf
- lookup-xml
- parseEscapedXML
- parseXML
- processScalableDocumentToNative
- processXSLTAttachmentFromNativeToNative
- processXSLTAttachmentFromNativeToStream
- processXSLTAttachmentToNativeStream
- processXSLTAttachmentToStream
- processXSLTForScalableDocument
- setCompositeInstanceTitle
- BPEL Extension Functions
-
BPEL XPath Extension Functions
- addQuotes
- authenticate
- countNodes
- doXSLTransform
- doXSLTransformForDoc
- doc
- formatDate
- generateGUID
- getConfigProperty
- getContentAsString
- getConversationId
- getCreator
- getCurrentDate
- getCurrentDateTime
- getCurrentTime
- getElement
- getInstanceId
- getNodeValue
- getNodes
- getPreference
- getProcessId
- getProcessOwnerId
- getProcessURL
- getProcessVersion
- integer
- listUsers
- lookupUser
- parseEscapedXML
- processXQuery
- processXQuery10
- processXQuery2004
- processXSLT
- readBinaryFromFile
- readBinaryFromFileWithMimeHeaders
- readFile
- search
- toCDATA
- tryToCastToBoolean
- writeBinaryToFile
- getGroupIdsFromGroupAlias
- getUserIdsFromGroupAlias
- Conversion Functions
- DVM Functions
- Database Functions
- Date Functions
- Identity Service Functions
- Logical Functions
- Mathematical Functions
- Node Set Functions
-
String Functions
- compare
- compare-ignore-case
- concat
- contains
- create-delimited-string
- ends-with
- format-string
- get-content-as-string
- get-localized-string
- index-within-string
- last-index-within-string
- left-trim
- lower-case
- matches
- normalize-space
- right-trim
- starts-with
- string-length
- substring
- substring-after
- substring-before
- translate
- upper-case
- Workflow Service Functions
- XREF Functions
-
Building XPath Expressions in the Expression
Builder in Oracle JDeveloper
- How to Use the Expression Builder
- Introduction to the XPath Building Assistant
- How to Use the XPath Building Assistant
- Using the XPath Building Assistant in the XSLT Mapper
- Function Parameter Tool Tips
- Syntactic and Semantic Validation
- Creating Expressions with Free Form Text and XPath Expressions
- Using Double Slashes for Directory Paths in XPath Functions on Windows Can Cause Errors
- Creating User-Defined XPath Extension Functions
-
Advanced Functions
- C Deployment Descriptor Properties
- D Understanding Sensor Public Views and the Sensor Actions XSD
- E Propagating Normalized Message Properties Through Message Headers
- F Interfaces Implemented By Rules Dictionary Editor Task Flow
-
G
Oracle SOA Suite Configuration Properties Road Map
- Oracle BPEL Process Manager Deployment Descriptor Properties
- Normalized Message Header Properties
- SOA Composite Application Properties
- Fault Policy and Adapter Rejected Message Properties
- Oracle B2B System Properties
- Oracle Healthcare Properties
- Oracle Business Activity Monitoring Properties
-
Oracle Enterprise Manager Fusion Middleware Control Property Pages
- SOA Infrastructure Properties
- Oracle BPEL Process Manager Properties
- Human Workflow Notification and Task Service Properties
- Oracle Mediator Properties
- Cross Reference Properties
- Oracle B2B Properties
- Service and Reference Binding Component Properties
- Global Token Variables and Automatic Database Purging Properties
- System MBean Browser Advanced Properties
- H Working with Large Schemas in the XSLT Editor