JBoss.orgCommunity Documentation

Chapter 3. Reference

3.1. Wizards
3.1.1. New BPEL project
3.1.2. New BPEL Process file
3.1.3. New BPEL Deployment Descriptor
3.2. Perspectives
3.2.1. BPEL Perspective
3.3. Views
3.3.1. Outline
3.3.2. Palette
3.3.3. Dashboard
3.3.4. Property sections
3.4. Editors
3.4.1. BPEL Designer
3.4.2. BPEL Deployment Descriptor editor
3.5. Preference pages
3.5.1. Editor
3.5.2. Expression editors
3.5.3. WSIL browser
3.6. Dialogs
3.6.1. XPath expression editor (embedded control)
3.6.2. Quick pick (embedded control)
3.6.3. Type selection
3.6.4. Select WSDL property
3.6.5. Create WSDL property
3.6.6. Create WSDL property alias
3.6.7. Cheat sheets
3.7. Icons, buttons and menus
3.7.1. Context menu

Described are the user interface controls of BPEL Designer, and how they relate to the OASIS standard. If you are new to BPEL it is recommended that you first become familiar with the concepts surrounding the technology, detailed in ???.

The New BPEL Process File Wizard will create a BPEL process based on one of several templates defined by the wizard. The wizard assumes the new BPEL process is to be created in the curently selected project of the Project Explorer or Navigator view. If a BPEL process of the same name already exists within the project, a warning message will be displayed before any action is performed.


This section describes the Property Sheet tabs that are common to many activities.

This section describes the Property Sheet tabs that are unique to process activities.

This section describes the Details tab and its attributes as they will appear for individual activities. Several activities share common detail elements, but all are presented here for your reference.

The Assign section is probably one of the more complex pages in the BPEL Designer, due to the nature of the BPEL Assign activity. The figure below shows the detail tab of an empty Assign activity with callouts describing each component:


  1. List (initially empty) of assignment operations currently defined.

  2. From combo box for selecting the source element category.

  3. To combo box for selecting the target element category.

  4. Contents and order management buttons. The New button adds a new assignment operation to the list. When clicked, the From and To combo boxes become active and display Variable. These allow you to select the source and categories for target items.

  5. Validate checkbox; when enabled will cause the BPEL engine to validate the data after the assignment. If an error is detected it will cause a fault, which can be caught by a fault handler in the BPEL process.

  6. Ignore Missing Source Data checkbox; When enabled, missing source data is not considered an error (no fault will be generated).

  7. Keep Source Element Name checkbox; when enabled, the complex target variable element names will not be replaced by the source element names if they differ.

The following figure shows the detail tab of an Assign activity which has an XPath expression as the source (From) and a process variable element as the target (To):


A requirement of the BPEL language is that all complex variables must be initialized with valid XML before they are referenced either as a target of an assignment, or in another BPEL activity. The BPEL Designer understands this and, once you have selected the target of an assignment operation, it will ask if you would like to have an XML fragment generated for the target variable:


Unless you are certain that the variable has been initialized during a previous assignment operation or other activity, you should click Yes. The figure below shows the Assign details tab after the initializer has been generated:


Assignment Operation Categories

Additional type selection or data entry widgets will appear below the From and To combo boxes, depending on the source and target item categories selected in the combo boxes. Initially these will be controls for the selection of process variables, since the default combo box selection is Variable. The possible source and target categories are described in the following table:


This section discusses the features of the BPEL Designer. See Section 3.3, “Views” for a detailed discussion of each of these features.


  1. Drawing Canvas: This contains the graphical representation of the BPEL process and is displayed when the Design tab at the bottom of the editor window is selected. The primary mouse click action (default is left mouse button) on any of the activity names activates an in-line editor, allowing you to edit the process name. To finish editing, simply press the ENTER key or change focus by clicking on a different window control.

    The Source tab displays the XML (text) representation of the process. Any changes made in one view are immediately reflected in the other. The default layout of activities is top-to-bottom, but can be changed to horizontal layout from the context menu.

  2. Palette: The primary editing, creation and viewing tools of the BPEL Designer are accessed from the tool Palette.

  3. Dashboard: Provides an overview of the BPEL process.

  4. Property Sheet: When an activity is selected in the drawing canvas, its properties are displayed in the tabbed Properties sheet.

  5. Outline: This panel provides a structural view of the BPEL process.

The BPEL Designer will validate your business process every time it is saved. If an activity is found to be incomplete or incorrectly configured, it will be decorated with an error icon (red circle with an X) as for example the Assign activity below:


Hovering your mouse over this icon will display an error message in a tooltip:


The remainder of this section discusses some basic BPEL concepts and how they relate to the BPEL Designer.

Basic activities are represented on the drawing canvas as rounded rectangles containing an icon and the user-defined name of the activity. The Actions section of the Palette contains all of the basic activities. For example: Assign, Invoke and Receive.

Most basic activities will require some additional configuration. See Section 3.3.4, “Property sections” for more information.

Structured activities can be thought of as containers that can hold one or more activities. The Controls section of the Palette contains all of the structured activities. When you drag and drop one of these onto the drawing canvas, the BPEL Designer will create a basic skeleton of the activity, and assign default properties.

All structured activities will require some additional configuration before they are considered valid. For example, BPEL does not allow an empty Sequence activity. Invalid structured activities will be decorated with an error icon similar to basic activities.

Structured activities can be expanded and collapsed on the drawing canvas by clicking the plus and minus buttons at the bottom of the figure. Illustrated below is a collapsed and expanded Sequence:



The following sections describe the structured activities and how each must be configured to be considered vaid for BPEL.

The Flow activity allows multiple activities to be executed in parallel. All activities or Sequences of activities that are contained in a Flow, are executed (or begun) at the same time by the BPEL engine. A Flow completes when all of its enclosed activities have completed.

Parallel processing is typically used to save time by doing more than one thing at a time and as a result, speed up the process. However, in many situations several tasks can be started at the same time, but one or more tasks may depend on the successful completion of other tasks. This task dependency sequencing is called synchronization and is achieved using Links.

For example, a process that handles purchase orders for material goods needs to:

All of these activities can be started at the same time, however the shipping cost must be finalized before the total order price can be determined, and the invoice can be sent.

To create a Link, right-click on the activity that must be completed first (the activity that is the source of the dependency) and select Add Link from the context menu. Next, move the mouse to the activity in the Flow that depends on this one (the target) and click the left mouse button to create the link.

A Link is identified by a name that must be unique within the Flow. The BPEL Designer generates a reasonable default name, but you can change this in its properties. You can also add a test to the Link that defines the conditions for considering an activity to be complete. For example an activity in a Flow may require two pieces of information, provided by other services, in order to continue. Consider the process Flow shown below:


In this example, the Billing department can begin preparation of a customer invoice, but it needs to know if sufficient stock is on hand to fulfill the order and if an outside vendor needs to provide the additional quantities ordered. The following condition would enable the Link so that execution can continue for the price calculation and customer invoicing:


This process is only partially complete though as it does not consider the number of outside vendors, or if the total quantity being ordered can ever be filled.

Handlers allow a BPEL process to recover from exception conditions. Exception conditions include: a timeout waiting for a response from a partner service, invalid or missing message data, a fault condition returned by a service. There are four types of handlers:

Handlers are defined for the process or for certain activities. To create a new handler right-click an activity and select the desired handler from its context menu. The BPEL Designer will generate a skeleton of the handler within a collapsible window that is attached to the activity. The figure below illustrates all of the different types of handlers in their fully expanded view. The handler windows can be collapsed and expanded by clicking on their respective icon.


The behavior of handlers and the order of exception processing is complex and beyond the scope of this document. Refer to the OASIS WS-BPEL 2.0 specification at http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html for more information.

Before a BPEL project can be deployed to the runtime engine, you must create what is called a deployment descriptor. This is simply a manifest file, serialized as XML, that describes all of the BPEL processes and their interfaces to the BPEL engine. The deployment descriptor file must be created in the root folder of your project. See Section 3.1.3, “New BPEL Deployment Descriptor” more information.

The deployment descriptor editor traverses the folder hierarchy in your project and searches for all BPEL files. Each process is then represented in a separate tab in the editor. The figure below shows two processes (HelloWorld and GoodbyeWorld). Each process must be configured before the project can be deployed.


  1. Process selection tabs: Click on these tabs to display the configuration page for each process.

  2. Initial process state: The process can be deployed in either an active, inactive or retired state.

  3. Inbound interfaces selection: Select the WSDL port type that clients will use to invoke this service.

  4. Output interfaces selection: Each invoked service (if any) will require you to select its port type.

  5. Process-level monitoring events: Allow you to select which events are generated by the BPEL engine. This is currently unused but will be used in future for debugging the process.

  6. Scope-level monitoring events: The BPEL engine can be configured to generate monitoring events for each Scope defined in the process.

The only action required to configure a processes is to select the interfaces for inbound and outbound services used by the process; all other settings are optional.

Certain aspects of the BPEL Designers behavior can be customized to suit your personal preference.

The BPEL Designer does not contribute any toolbar buttons, or main menu actions.