ActiveBPEL™ Designer User’s Guide

Migrating Processes from BPEL4WS 1.1 to WS-BPEL 2.0

You can migrate any BPEL process you created in earlier versions of ActiveBPEL Designer, or any BPEL4WS 1.1 process, to a WS-BPEL 2.0 process. Doing so gives you access to all the new and updated activities, data manipulation, and handlers supported, as described in What’s New in WS-BPEL 2.0.

You can migrate your BPEL 1.1 processes as follows:

  1. From the Navigator, double-click a BPEL file to open it in the Process Editor.
  2. Select File>SaveAs.
  3. In the Save As dialog, select another file location, if desired, and rename your BPEL 2.0 file if you do not want to overwrite the BPEL 1.1 file.
  4. Select the checkbox next to Convert to WS-BPEL 2.0 format, as shown in the example, and select OK.

Save as dialog

Your BPEL 2.0 process opens in the Process Editor, and ActiveBPEL Designer changes to WS-BPEL 2.0 mode.

All of your preference settings are preserved.

Conversion issues:

Fault variable. The variable used in a catch activity is accessible only in the catch activity. In BPEL 1.1 the variable was declared in the enclosing scope. It is no longer available anywhere except within the catch. If a 1.1 process was using the fault var outside of the catch, the static analysis will report an error.

OnEvent variable. Same issue as above. The variable is now declared within the OnEvent activity, not in the enclosing scope. The variable is accessible only to the OnEvent and not to the scope.

Queries in copy operations. The absolute path used in 1.1 processes is now a relative path. However, a query using an XPath expression beyond a simple path to data may not get converted. A query that cannot correctly convert is left in get Variable Data() syntax. ActiveBPEL Designer warns you that the expression is not WS-BPEL 2.0 compliant.

Custom Function Pick Lists

The XML format for custom function pick lists has changed for ActiveBPEL Designer, for all process versions. You must update expression builder pick list files as follows.

The old syntax is:

<pickList xmlns="http://active-endpoints.com/
FunctionBuilderSchema">
 <pickHeader ...>
  <pickItem pickDisplay="ncname"
   syntax="namespace:ncname"
   caretOffset="colnum-expr"
   hoverHelp="prefix|namespace:ncname Description:ncname"/>*
 </pickHeader>
</pickList>

The new syntax is:

<pickList xmlns="http://schemas.active-endpoints.com/picklist/2006/08/ExpressionBuilder_FunctionsPickList_Schema.xsd">
 <pickHeader ...>
  <pickItem pickDisplay="NCName"
   syntax="${prefix}:NCName(${caret})"
   hoverHelp="prefix|namespace:NCName Description: NCName"/>*
  </pickHeader>
</pickList>

Note: If your ActiveBPEL 3.X installation uses an existing workspace, your already-loaded custom function picklist will continue to work. However, you can not reload it without receiving a validation error.