JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS BPEL Designer and Service Engine User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

BPEL Designer and Service Engine User's Guide

Overview

The JBI Runtime Environment

To View the Installed or Deployed JBI Components

The BPEL Designer

The BPEL Service Engine

The Composite Application Project

BPEL Designer and Service Engine Features

BPEL Service Engine Features

Supported WS-BPEL 2.0 Constructs

BPEL Service Engine and Oracle SOA Suite

Understanding the BPEL Module Project

Creating Sample Processes in the BPEL Designer

A Synchronous Sample Process

An Asynchronous Sample Process

Travel Reservation Service Sample

Creating a Sample BPEL Module Project

Navigating in the BPEL Designer

The BPEL Designer Window

The BPEL Editor Views

Cloning Document Views

Element Documentation and Report Generation

Creating Documentation for an Element

Generation a Report

The Navigator Window

XML View

Logical View

The Properties Window

Scrolling

Collapsing and Expanding Process Blocks in the Diagram

To Collapse and Expand a Process Block

Zooming In and Out of the Diagram

Printing BPEL Diagrams and Source Files

To Preview and Print a BPEL Diagram or Source File

To Customize Print Options

To Customize Page Settings

Creating a BPEL Module Project

Starting GlassFish

To Check the Status of the GlassFish V2 Application Server in the NetBeans IDE

To Register the GlassFish V2 Application Server with the NetBeans IDE

To Start the GlassFish V2 Application Server in the NetBeans IDE

Creating a new BPEL Module Project

To Create a BPEL Module Project

Creating the XML Schema and the WSDL Document

Creating a BPEL Process Using the BPEL Designer

To Create the BPEL Process

Creating a Composite Application Project

To Create a New Composite Application Project

Building and Deploying the Composite Application Project

To Build and Deploy the Composite Application Project

Testing the Composite Application

Test the HelloWorldApplication Composite Application Project

Summary

Developing a BPEL Process Using the Diagram

The BPEL Diagram

Configuring Element Properties in the Design View

Finding Usages of BPEL Components

To Find Usages of a BPEL Component

Saving Your Changes

The BPEL Designer Palette Elements

Drop-Zones

The Process Element

Adding BPEL Components to the Process

BPEL Process Properties

The Web Service Elements

Using the Invoke Element

Usage

Invoke Properties

Correlations

Using the Receive Element

Usage

Receive properties

Correlations

Using the Reply Element

Usage

Reply Properties

Correlations

Using the Partner Link Element

Partner Link Types and Roles

Usage

Partner Link Properties

Partner Link Layout

Dynamic Partner Links and Dynamic Addressing

The Basic Activities

Using the Assign Element

Usage

Assign Element Properties

Using the JavaScript Element

Usage

JavaScript Element Properties

Using the Validate Element

Usage

Validate Element Properties

Using the Empty Element

Usage

Empty Element Properties

Using the Wait Element

Usage

Wait Element Properties

Using the Throw Element

Usage

Throw Element Properties

Using the Rethrow Element

Usage

ReThrow Element Properties

Using the Exit Element

Usage

Exit Element Properties

Using the Compensate Element

Usage

Compensate Element Properties

Using the CompensateScope Element

Usage

CompensateScope Element Properties

The Structured Activities

Using the If Element

Usage

Adding an Else If Branch to the If Element

Adding an Else Branch to the If Element

Reordering Else If Branches

If Element Properties

Using the While Element

Usage

While Element Properties

Using the Repeat Until Element

Usage

Repeat Until Element Properties

Using the For Each Element

Usage

For Each Element Properties

Using the Pick Element

Usage

Adding an On Alarm branch

Pick Element Properties

Using the Flow Element

Usage

Adding Branches to the Flow Element

Changing the Order of Elements inside Flow

Flow Element Properties

Using the Sequence Element

Usage

Adding Child Activities to the Sequence

Changing the Order of Elements inside Sequence

Sequence Element Properties

Using the Scope Element

Usage

Scope Element Properties

Variables

To Define a Variable

To Edit a Variable

Using the BPEL Mapper

About the BPEL Mapper

To Open the BPEL Mapper Window

Creating BPEL Mappings

To Create a Mapping Without Using any Functions

To Use a Function in a Mapping

To Delete a Link or Function in a Mapping

Working with Predicates

To Create a Predicate

To Edit a Predicate

To Delete a Predicate

XPath Function Reference

Operator

Boolean

String

Nodes

Number

Date & Time

BPEL

Mapping Examples

Assign Activity Scenario

If Activity Scenario

Predicate Scenario

Using Type Cast and Pseudo-Components

Type Cast

Pseudo-Component

Type Cast and Validation

Type Cast and Pseudo Component Limitations

Using Normalized Message Properties

Using Normalized Message Properties in a BPEL Process

Using Predefined Normalized Message Properties in a BPEL Process

To Use Predefined Normalized Message Properties in a BPEL Process

Adding Additional Normalized Message Properties to a BPEL Process

To Add a Normalized Message Property Shortcut to a BPEL Process

To Edit an NM Property Shortcut

To Delete an NM Property Shortcut

To Add a Normalized Message Property to a BPEL Process

To Delete an NM Property

BPEL Code Generation Using NM Properties

General Normalized Message Properties

Binding Component Specific Normalized Message Properties

Using Handlers

Using a Fault Handler

When to Use

Usage

Catch Element

Catch Element Properties

Catch All Element

Using an Event Handler

When to Use

Usage

On Event Element

Usage

On Alarm Element

On Alarm Element Properties

Using a Compensation Handler

When to Use

To Add a Compensation Handler to Scope or Invoke Elements

Using a Termination Handler

When to Use

To Add a Termination Handler to Scope or Process Elements

Using Correlation

Understanding Correlation. Using the Correlation Wizard

Elements That Use and Express Correlation

Defining Correlation Using the Correlation Wizard

Validation

Validation Criteria

Validation Types

Notifications

The Output window

The Design view

The Navigator window

BPEL Process Logging and Alerting

Defining Logging

To Log the Variable Value

To Set the Log Level for the BPEL Service Engine

To View the Log File

Defining Alerting

Configuring the BPEL Service Engine Runtime Properties

Accessing the BPEL Service Engine Runtime Properties

Runtime Property Descriptions

BPEL Service Engine Deployment Artifacts

Testing and Debugging BPEL Processes

Testing a BPEL Process

To Add a Test Case and Bind it to a BPEL Operation

To Set the Test Properties

To Customize Test Input

To Run the Test Cases

Looking at Test Case Results

Debugging BPEL Processes

Steps in Debugging BPEL Processes

Starting and Finishing a BPEL Debugging Session

Using Breakpoints to Debug BPEL Processes

Debugging Commands

To disable a breakpoint

Group operations over breakpoints

Monitoring Execution of BPEL Processes

BPEL Debugger Windows

Sessions Window

BPEL Process Instances Window

Correlation Sets and Faults information

Local Variables Window

Watches Window

BPEL Process Execution Window

BPEL Partner Links Window

BPEL Debugger Console Messages

Monitoring the BPEL Service Engine

Installing the BPEL Monitor API and Command Line Monitoring Tool

To Install the Monitoring Tool

Using the BPEL Monitor Command Line Tool

To Use the BPEL Monitor Command Line Tool

Command Usage Pattern

More Information

Configuring Quality of Service (QOS) Properties, Throttling, and Redelivery

Configuring the Quality of Service Properties

To Access the Config QOS Properties Editor

Quality of Service Properties

Configuring Message Throttling

Configuring an Endpoint for Throttling

Configuring Redelivery

Using Dynamic Partner Links and Dynamic Addressing

Using a Literal to Construct an Endpoint

Using an Existing Partner Link's Endpoint

Using an Incoming Message to Extract the Endpoint

Using a Database Query to Provide an Endpoint

Sending Service Endpoint References

Configuring Persistence for the BPEL Service Engine

Setting the JVM Classpath to the Database JDBC Drivers

To Set the GlassFish JVM Classpath Settings

Configuring the User and Database for Persistence

Derby (JavaDB)

Oracle

MySQL

Setting max_allowed_packet

Creating an XA Connection Pool and a JDBC Resource

To Create an XA Connection Pool

Create a New JDBC Resource

Creating a Non-XA Connection Pool and JDBC Resource

Enabling Persistence for the BPEL Service Engine

To Enable Persistence for the BPEL Service Engine

Truncating and Dropping Tables

Drop and Truncate Scripts

Configuring Failover for the BPEL Service Engine

Failover Considerations

BPEL BluePrints

Troubleshooting

Using BPEL Schemas Different from the BPEL 2.0 Specification

Service Endpoint Conflict

Relationship of Service Endpoint to Test Cases

Troubleshooting Port Numbers

GlassFish V2 Application Server HTTP Port

Travel Reservation Service Endpoint Conflict

Change URLs

Test Run

Test Run Failures

Disabling Firewalls when Using Servers

Required Correlation Set Usage is Not Detected by the Validation System

BPEL Designer and Service Engine Features

This section contains the following information:

BPEL Service Engine Features

Following features are supported by the BPEL Service Engine:

Supported WS-BPEL 2.0 Constructs

The following WS-BPEL 2.0 constructs are implemented by the BPEL Service Engine

Features
Support
Process

WS-BPEL 2.0 process root element. The Process element is present in the BPEL Designer diagram by default.

Supported Elements

  • extensions
  • import

  • partnerLinks

  • variables

  • correlationSets

  • faultHandlers

  • eventHandlers

Supported Attributes

  • name

  • targetNamespace

Not Supported

  • queryLanguage (xpath only)

  • expressionLanguage (xpath only)

  • suppressJoinFailure

  • abstractProcess

  • exitOnStandardFault

Extensions

More Information

Variable

Supplies the mechanism used to hold messages that make up the state of a business process.

Supported Elements

  • name
  • messageType

  • type

  • element

Supported Attributes

Extensions

More Information

Correlation

Tracks the multiple long-running exchanges of messages that typically take place between a BPEL process and its partner services. The correlation mechanism helps to route messages to appropriate process instances.

Supported Elements

Supported Attributes

Extensions

More Information

EventHandlers

Invokes a specific action concurrently with a specified corresponding event.

Supported Elements

  • onEvent
  • onAlarm

Supported Attributes

Extensions

More Information

FaultHandlers

Defines the activities that are executed as a response to faults resulting from invoked services.

Supported Elements

  • catch
  • catchAll

Supported Attributes

Extensions

More Information

Import

Used within a process to clearly express dependency upon external XML Schema or WSDL definitions. The Process element can have any number of Import elements as initial children, preceding any other child element.

Supported Elements

Supported Attributes

  • namespace

  • location

  • importType

Extensions

More Information

Web Services
Invoke

Invokes a one-way or request-response operation on a portType offered by a partner. It enables the business process to send messages to partners. The operation is defined in the partner's WSDL file.

Supported Elements

  • correlations
  • toPart

  • fromPart

Not Supported

  • catch

  • catchAll

  • compensationHandler

Supported Attributes

  • partnerLink

  • portType

  • operation

  • inputVariable

  • outputVariable

Extensions

More Information

Receive

Allows the business process to do a blocking wait for a particular message to arrive.

Supported Elements

  • correlations
  • fromPart

Supported Attributes

  • partnerLink

  • portType

  • operation

  • Variable

  • createInstance

  • messageExchange

Extensions

More Information

Reply

Returns a message from the process to the same partner that initiated the operation. The combination of Receive and Reply activities creates a request-response operation.

Supported Elements

  • correlations
  • toPart

Supported Attributes

  • partnerLink

  • portType

  • operation

  • Variable

  • faultName

  • messageExchange

Extensions

More Information

PartnerLink

Identifies the parties that interact with your business process. Each link is defined by a partner link type and a role name.

Supported Elements

Supported Attributes

  • name

  • partnerLinkType

  • myRole

  • partnerRole

Not Supported

  • initializePartnerRole

Extensions

More Information

Basic Activities
Assign

Assigns values to variables. You use the Assign element to copy data from one variable to another, construct and calculate the values of expressions, and store new data in variables. Expressions are required to perform simple computation or operate message selections, properties, and literal constants to produce a new value for variables.

Supported Elements

  • copy (child elements from and to)
  • extensibleAssign

Supported Attributes

  • from (name="variable" type="NCName")

  • from (name="part" type="NCName")

  • to (name="variable" type="NCName")

  • to (name="part" type="NCName")

  • validate

  • from (name="expressionLanguage" type="anyURI" — xpath only)

  • from (name="property" type="QName")

  • from (name="partnerLink" type="NCName")

  • from (name="endpointReference" type="bpws:tRoles")

  • from (name="opaque" type="bpws:tBoolean")

  • to (name="queryLanguage" type="anyURI")

  • to (name="property" type="QName")

  • to (name="partnerLink" type="NCName")

Extensions

More Information

JavaScript

Acts like an Assign activity that enables you to use JavaScript (E4X), rather than using XPath 1.0.

Supported Elements

  • copy (child elements from and to)
  • extensibleAssign

Supported Attributes

  • Validate

Extensions

More Information

Validate

Validates the values of variables against their associated XML and WSDL data definition. The element includes a Variables property that lists the variables for the process, and allows you to specify which variables to validate. When one or more variables prove invalid against a corresponding XML definition, a standard fault, bpel:invalidVariables, is thrown.

Supported Elements

Supported Attributes

  • variable

Extensions

More Information

Empty

Used as a placeholder within a process to catch and suppress faults or to help synchronize actions within a flow activity that are executed concurrently.

Supported Elements

Supported Attributes

Extensions

More Information

Wait

Waits for a specified time or until a deadline is reached.

Supported Elements

  • for
  • until

Supported Attributes

Extensions

More Information

Throw

Used to signal a specific internal fault, and can provide a QName and information for that fault.

Supported Elements

Supported Attributes

  • faultName

  • faultVariable

Extensions

More Information

ReThrow

Used to rethrow a fault.

Supported Elements

Supported Attributes

Extensions

More Information

Exit

Terminates the execution of a business process instance.

Supported Elements

Supported Attributes

Extensions

More Information

Compensate

Invokes the compensation handler of a particular scope.

Supported Elements

Supported Attributes

Extensions

More Information

CompensateScope

Invokes the compensation handler of a particular scope.

Supported Elements

Supported Attributes

Extensions

More Information

Structured Activities
If

Supports conditional behavior of a business process instance. The If activity consists of conditional branches defined by the If and Else If elements, followed by an optional Else branch. The conditions on If and Else If branches are evaluated in the order they appear. During execution, the first branch whose condition holds true is taken and provides the activity specified for the If activity. In other words, if there are several Else If branches whose conditions hold true, only the first of them will be executed.

Supported Elements

  • elseIf
  • condition

Supported Attributes

Extensions

More Information

While

Repeatedly execute one or more activities as long as specific conditions are in place at the beginning of each iteration.

Supported Elements

  • condition

Supported Attributes

Extensions

More Information

RepeatUntil

Repeatedly executes one or more activities as long as specific conditions are in place after the execution of each iteration. This element contains other elements that are repeated until the success criteria you specify are met. If the condition you specify leads to true, the activities listed will be executed once.

Supported Elements

  • condition

Supported Attributes

Extensions

More Information

ForEach

Repeatedly execute its contained scope activity exactly N+1 times where N equals the Final Counter Value minus the Start Counter Value.

Supported Elements

  • startCounterValue
  • finalCounterValue

  • completionCondition

Supported Attributes

  • counterName

Not Supported

  • parallel

Extensions

More Information

Pick

Blocks a process and waits until a specified events occurs. After one of the specific event occurs, the activity associated with this event is performed. The possible events are the arrival of a message or a timer-based alarm. The selected activity is dependent upon which event occurs first.

Supported Elements

  • onMessage
  • onAlarm

Supported Attributes

  • variable

Extensions

More Information

Flow

Defines a set of activities that will execute concurrently (in parallel). This is a structured activity, containing other activities separated into individual control paths or branches. You can embed as many paths in the activity as you want, and they will all be executed simultaneously.

Supported Elements

Not Supported

  • links

Supported Attributes

Extensions

More Information

Sequence

Used to nest a series of activities in a process. Activities within a sequence execute in strict sequential order, completing when the last activity within the nest has finished.

Supported Elements

Supported Attributes

Extensions

More Information

Scope

Essentially, this activity is a collection of child activities that can have their own Variables, Fault and Event Handlers, and correlation sets. The Scope activity provides the behavior context for the child elements.

Supported Elements

  • variables
  • faultHandlers

  • eventHandlers

Not Supported

  • partnerLinks

  • correlationSets

  • compensationHandler

  • terminationHandler

Supported Attributes

Not Supported

  • isolated

  • exitOnStandardFault

Extensions

More Information

Other Activities
OnMessage
Supported Elements

Supported Attributes

  • variable

Extensions

More Information

OnMsgCommon

Supported Elements

  • fromPart
  • correlations

Supported Attributes

  • partnerLink

  • portType

  • operation

  • messageExchange

Extensions

More Information

OnAlarmPick

Specifies an event that is triggered when a given duration variable is exceeded.

Supported Elements

Supported Attributes

Extensions

More Information

CompletionCondition
Supported Elements

Supported Attributes

  • countCompletedBranchesOnly

Extensions

More Information

Catch

Used to intercept a specifically defined type of fault.

Supported Elements

  • faultName
  • faultVariable

  • faultMessageType

  • faultElement

Supported Attributes

Extensions

More Information

OnEvent

Indicates that a specified event is triggered when a message arrives.

Supported Elements

  • messageType
  • variable

Supported Attributes

Extensions

More Information

Activity
Supported Elements

Not Supported

  • targets

  • sources

Supported Attributes

  • name

Not Supported

  • suppressJoinFailure

Extensions

More Information

property

Defines a unique name and associates it with an XML Schema simple type.

Supported Elements

Supported Attributes

  • name

  • type

  • element

Extensions

More Information

propertyAlias

Defines a globally named property as an alias.

Supported Elements

  • query

Supported Attributes

  • propertyName

  • messageType

  • part

Not Supported

  • queryLanguage (xpath only)

Extensions

More Information

PartnerLinkType

Expresses the dependences between services by defining each service's role.

Supported Elements

  • role

Supported Attributes

  • name

Extensions

More Information

Role

Specifies one WSDL portType.

Supported Elements

Supported Attributes

  • name

  • portType

Extensions

More Information

CorrelationWithPattern
Supported Elements

Supported Attributes

Extensions

More Information

BPEL Service Engine and Oracle SOA Suite

You can use the BPEL Service Engine to call Oracle SOA Suite web services, however Oracle SOA Suite supports both BPEL versions 1.1. and 2.0 while the BPEL Service Engine only supports BPEL 2.0. There are a few differences between Java CAPS and Oracle SOA Suite when BPEL 1.1 is used in an Oracle SOA Suite BPEL project that generates a web service. Notably, the partner link definition in WSDL documents generated in BPEL 1.1 is different from the partner link definition generated in Java CAPS.

If you import WSDL documents from BPEL 1.1 projects in SOA Suite, you need to make the following changes to the WSDL file: