Changes and New Feature in the BPEL wizard


I have just added a new way to create BPEL processes in the BPEL Designer.
This feature allows to generate a BPEL skeleton from a WSDL port type. Roughly, it means we can generate BPEL processes that implement a given interface. In SOA, such a top-down approach is quite useful. It allows to be driven by service contracts.

In a RCP application I’m working on, I used to have this feature, but implemented through different means (and associated with an older fork of the BPEL Designer). It is now entirely based on the EMF metamodels (those of XML schemas, WSDL and BPEL). Since I want to get rid of this fork, I decided to contribute all my enhancements to the official BPEL Designer at And this feature is part of it.

Extending the wizard was also an opportunity to update the user interface in the creation wizard. Obviously, the former options of the wizard have been kept, even if they were reorganized. Here are some screenshots.

First, here is the new approach. You decide to create a BPEL from a WSDL contract…

Select the creation approach

You define the location of the WSDL and select the contract…

Specify the WSDL options

You can even import the WSDL (and its imports) in the project if you want.

Import the WSDL in the project

And eventually, you decide where to create the BPEL process.

The target location

Here is a video of this wizard in action.

Demonstration – WSDL to BPEL from Vincent Zurczak on Vimeo.

And here is how the former options are displayed now.

Generate a BPEL from templates

The next page is about the template and its options.

Fill-in the template options

These options depend on the selected template. A warning was also added to the “empty” template (this follows a discussion we had on the BPEL-dev mailing-list).

The empty template

And you have already seen the page to select the target location.

This contribution comes with SWTBot tests and a new plugin with utilities for WSDL and XML schemas. It was committed on a branch (thanks Git!). This way, it can be commented and discussed. Hopefully, this branch should then be merged with the master branch.

About this entry