Designer > Planning Your BPEL Process > Understanding BPEL Process Structure and Properties
  

Understanding BPEL Process Structure and Properties

A BPEL process has the following structural parts:
A BPEL process is represented graphically in the Process Editor, as described in Using the Process Developer Process Editor. In addition, you can view BPEL source code, as described in BPEL XML Source and Implicitly Added Activities.

Process Element and Properties

After you create a new BPEL file in Process Developer, add an activity to the Process Editor canvas, and save your file, Process Developer creates the underlying XML source file. The XML source begins with the <process> element.
The XML Syntax for an executable process element looks like this:
<process name="NCName" targetNamespace="anyURI"
queryLanguage="anyURI"?
expressionLanguage="anyURI"?
suppressJoinFailure="yes|no"?
exitOnStandardFault="yes|no"?
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
If you use Process Developer extensions, other namespaces and process attributes can be added, as described in Declaring Extensions.
Click on a blank part of the Process Editor canvas to put the process as a whole in focus. In the Properties view, set the Process properties as desired.
Property
Description
Default Value
Generate Prefixed Source
Specifies that BPEL XML source code elements are generated with the <bpel:...> prefix. Enabling this property ensures that the attribute xmlns:bpel will not be null.
yes
Write Port Type
Add port type attribute to activity definition for receives, replies, onEvents, onMessages, and invokes.
no
Abstract Process
Specifies whether the process is abstract or executable. For more information, see Creating an Executable vs. an Abstract Process. This setting can be specified as a preference for all new processes. See Process Developer Preferences.
no
Abstract Process Profile
List of default profiles referenced in the WS-BPEL 2.0 specification
http://docs.oasis-open.org/wsbpel/2.0/process/abstract/simple-template/2006/08
BPEL Namespace
Specifies the BPEL language namespace for an executable or abstract process. The default is for executable processes.
http://docs.oasis-open.org/wsbpel/2.0/process/executable
Comment
Optional property for adding an HTML-tagged annotation to the <process> element. You can also add a comment to any activity, link, or container.
none
Create XPath
This property is a Process Developer extension to WS-BPEL 2.0, described in Declaring Extensions.
yes
Disable Selection Failure
This property is a Process Developer extension to WS-BPEL 2.0, described in Declaring Extensions.
yes
Documentation
Optional property for adding annotation to the <process> element. You can also add documentation to any activity, link, or container. See Adding Documentation to a Process.
none
Exit on Standard Fault
If this property is set to yes, then the process exits immediately as if an exit activity has been reached, when a WS-BPEL standard fault other than bpel:joinFailure is encountered. If this property is set to no, the process can handle a standard fault using a fault handler.
Processes can be suspended on an uncaught fault. This behavior takes precedence over the Exit on Standard Fault setting.
no
Expression Language
Specifies the language used in building variable and other expressions. The default is XPath 1.0. There is also built in support for XQuery 1.0 and Javas-Script 1.5 Other languages can also be added.
urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
Extensions
Indicates element and attribute extensions to the WS-BPEL 2.0 specification that are not understood by Process Developer exist in the process. Extensions can also exist in most other BPEL constructs, such as partner links and activities. For details, see Declaring Extension Elements and Attributes.
none
Links are Transitions
By default, allows links to completed activities. For details, see Process Developer Extension for Links.
yes
Message Exchanges
A process or scope property that can be selected as an attribute of a receive or onMessage and its matching replies
(none)
Process Level Compensation/Termination
This is a Process Developer extension to WS-BPEL 2.0. Specifies whether the process as a whole can be compensated and terminated by platform-specific means. The process instance can be compensated after normal completion. For details, see Creating a BPEL Process as a Service for Another BPEL Process.
If you set this to yes, the Process Editor displays new tabs. For details, see Process Editor Compensation and Termination Handler Tabs.
no
Process Name
You can specify a process name that differs from the BPEL file name. This is useful if you create different or updated versions of the same process. You can name the BPEL file with meaningful version information, but can use the same internal process name. The process name property, not the BPEL filename, is known to the server engine.
name of the BPEL file
Query Language
Specifies the XML query language. The default is XPath 1.0. Also available for future standards as they evolve.
urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
Suppress Join Failure
A join condition is a property of all activity types and provides status about an incoming link. A join failure indicates that link execution failed. At the process level, this attribute specifies whether a join failure is suppressed for the whole process. Can be overridden at the activity level and can be specified as a preference for all new processes. See Process Developer Preferences.
yes
Target Namespace
The XML namespace that refers to the required WSDL information. This is a required property.
none
Image Generation
See Generate Deployment Image
Automatic
(Informatica Process Developer only) Simulation: Process Initiator
See Simulating a Process with a People Activity in the Human Tasks section of this help
 

Partner Links

A BPEL process describes a flow of interactions between the process and services. Each interaction describes what role the process and services play at that step in the flow and what data can be manipulated by the parties in those roles.
The constructs used to define roles are:
You can define and add these roles in Process Developer. For more information, see Participants.

Variables

The BPEL process receives, manipulates, and sends data through XML variables. For example, the process receives a purchase order message from a buyer and puts the message in an input XML variable, and from there it can be copied to another operation.
Variables are defined in one of the following ways:
Variables allow processes to maintain state data, (such as time outs) and process history based on messages exchanged.

Activities

Activities are the processing steps, performed in the order described by the flow diagram you design in Process Developer.
In Process Developer, there are several types of activities:
For more information, see Implementing a BPMN Task or Event in BPEL.

Fault Handlers

A fault handler defines the activity that the process must perform in response to an error condition. For more information, see Fault Handling.
A fault handler defines the activity that the process must perform in response to an error condition.

Compensation Handlers

Compensation is the process of reversing or providing an alternative for a successfully completed activity, especially when a fault occurs. For more information, see Compensation.

BPEL XML Source and Implicitly Added Activities

Process Developer generates BPEL XML source code for each construct you add to the Process Editor. You do not need to save your file to see the source. Select the Source tab of the Process Editor to view or edit the source code.
You may notice that Process Developer automatically wraps process-level activities in a flow container if you do not and if a sequence or other container is not present. If Process Developer adds a top-level container for you, it does not appear on the Process Editor canvas or in the Outline view.