Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation.

BPEL M3 information

What's in M3 ?

The biggest new item in M3 is the BPEL 2.0 validator. Now your BPEL files will get checked for errors. In addition, we have moved very closely to BPEL 2.0 compliance in several ways outlined below. Read more to see what is in M3.

M3 has been built and further milestones will continue to exist on top of WTP2.0 This eliminates an issue for developers to use the BPEL EMF model in their downstream plug ins and various nasty issues around model code regeneration.

There had been several improvements to the editor. You can now hide the palette or place it in the palette view just like any other standard GEF editor does. A duplicate command had been added to the edit action so that you can quickly select and duplicate entire sections of diagrams for fast diagram creation. Selection and multi-selection speed has been improved. Some undo /redo problems were fixed too.

You can now validate a BPEL project. There are currently 2 hooks into validation. There is a builder which is attached to the BPEL project and there is a WST extension point implementation for BPEL validation.

The if BPEL 2.0 activity has been added and the corresponding switch activity removed.

The compensateScope BPEL 2.0 activity has been added.

A integrated WSIL browser has been added to help you discover web services available for integration using BPEL. You should be able to plugin in your own WSIL documents for viewing as well.

You can copy/cut/paste from one BPEL editor instance to another. You can copy entire sections of BPEL code. Multiple selections also work. You can also copy variables, partner links, etc and paste them in the right location.

Everything that you copy also appears in source form in the system clipboard. The reverse is also true. You can paste BPEL source code from the clipboard to the visual editor "where it makes sense". Now if you see any BPEL code anywhere, you can clip it, and paste into the editor "where it makes sense".

Try pasting this little nuggest "some place".

 <sequence name="main"
    xmlns:ns="" xmlns:ns0="">
    <receive name="receiveInput" operation="initiate"
        partnerLink="client" portType="ns:Traffic2" variable="input"/>
    <assign name="Assign" validate="no">
            <from part="payload" variable="input">
            <to part="hwynums" variable="trafficRequest"/>
    <invoke inputVariable="trafficRequest" name="Invoke"
        operation="getTraffic" outputVariable="trafficResponse"
        partnerLink="traffic" portType="ns0:CATrafficPortType"/>
    <assign name="Assign1" validate="no">
            <from part="return" variable="trafficResponse"/>
            <to part="return" variable="trafficResponse"/>
    <invoke inputVariable="output" name="callbackClient"
        operation="onResult" partnerLink="client" portType="ns:Traffic2Callback"/>


Namespaces,namespaces, namespaces. To migrate closer to 2.0 compliance we have moved to 2.0 proposed namespaces for BPEL, PartnerLinks, VariableProperties. Also, the templates are using the new namespaces as well.

UI Support for documentation elements had been added.

UI Support for variable initialization had been added. Variable initialization is 2.0 BPEL feature and takes on the form of a virtual copy rule.

We have spent some time cleaning out bugs and are hoping to get the count closer to 0 in the future.

While not an official part of the release, the folks from the Univ. of London had implemented their own Active BPEL runtime for the editor. More on this here: