Skip to main content
Jump to: navigation, search


Revision as of 01:45, 16 September 2011 by (Talk | contribs)

This page describes how to edit SMILA pipelines in the BPEL Designer.


The BPEL Designer is an eclipse project that offers support for editing WS-BPEL 2.0 processes. Like other eclipse projects it may be extended using plugins. The SMILA project offers such plugins for editing SMILA specific activities (to invoke SMILA "pipelets" from a pipeline).


BPEL Designer

How to install the BPEL Designer:

  1. Download the Eclipse Platform Runtime Binary (at least version 3.6.2) from here.
  2. Unzip the package into an directory of your choice.
  3. Start eclipse.exe
  4. Create a workspace.
  5. Open the eclipse menu: Help -> Install New Software...
  6. Enter the update site of the BPEL Designer:
  7. Select the package and click [Finish]

SMILA designer plugins

You can either build the latest version of our plugins from repository (see below) or just use our update site:
The installation is the same as for the BPEL Designer above.

Now you can edit SMILA pipelines with the BPEL Designer. If you'd like to start with some example BPEL files, you could use the ones from the SMILA application configuration


If you'd like to modify the SMILA designer plugins or compile the latest version from repository, you can do that:

  1. Setup your RCP IDE (you could use this package)
  2. Install the BPEL Designer as described above into its own directory (without the SMILA plugins)
  3. Select that installation as target platform (Window->Preferences->Plug-in Development->Target Platform)
  4. Checkout the SMILA designer plugins (

Don't forget to inform us, if you have a really cool modification that you would like to share ;-)

RAP showcase

The Rich Ajax Platform is an Eclipse project that enables RCP applications to run in a web browser. During the implementation of our BPEL Designer extensions we tried to run the BPEL Designer as RAP application.

Here is a screenshot:

BPEL Designer in RAP screenshot


This was just a proof of concept - so many things aren't working up to now (or at least not as aspected):

  • Localization - As Eclipse is using static resources, you can only enable one language per server
  • Source view - The StyledText widget is not available in RAP, thats why we had to turn off the source view for the BPEL Editor
  • Menu bar - We had to create our own "application" and left the menu bar empty for now
  • Users - No user authentication or partition up to now - every user sees the same workspace
  • Problems view - The problems view is always empty in RAP (maybe fixed later)

How to set up the example

  1. Create a new Eclipse installation including the RAP tools (you could use this package)
  2. Create the RAP Runtime directory:
    • For Eclipse 3.7/RAP 1.4.0, we prepared already a working RAP Runtime. Just expand it into a directory (called RAP_RUNTIME from now on).
    • To create the RAP Runtime by yourself follow these steps:
    1. Download the bare RAP runtime and expand it into RAP_RUNTIME
    2. From the Eclipse Platform add the following packages to RAP_RUNTIME/eclipse/plugins:
      • org.eclipse.core.filebuffers*.jar
      • org.eclipse.core.filesystem*.jar
      • org.eclipse.core.resources*.jar
      • org.eclipse.core.variables*.jar
      • org.eclipse.osgi.util*.jar
      • org.eclipse.jface.text*.jar
      • org.eclipse.text*.jar
      • org.eclipse.ui.console*.jar
      • org.eclipse.ui.editors*.jar
      • org.eclipse.ui.workbench.texteditor*.jar
      • org.eclipse.ltk.core.refactoring*.jar
    3. From EMF:
      • org.eclipse.emf.common*.jar
      • org.eclipse.emf.ecore*.jar
      • org.eclipse.emf.edit*.jar
      • org.eclipse.xsd*.jar
    4. From WTP:
      • javax.wsdl_*.jar
      • javax.xml_*.jar
      • org.apache.xerces_*.jar
      • org.apache.xml*.jar
      • org.eclipse.jem.util*.jar
      • org.eclipse.wst*.jar
    5. Remove RAP_RUNTIME/eclipse/plugins/*.jar (it conflicts with the added package)
    6. Add empty dummy bundles for:
      • org.eclipse.equinox.p2.engine
      • org.eclipse.equinox.p2.metadata
    7. Add dummy packages that reexport the RAP packages (you can use the bundles in the prepared RAP Runtime from above as template):
      • org.eclipse.jface - reexport org.eclipse.rap.jface
      • org.eclipse.swt - reexport org.eclipse.rap.rwt
      • org.eclipse.ui.forms - reexport org.eclipse.rap.ui.forms
      • org.eclipse.ui.navigator - reexport org.eclipse.rap.ui.navigator
      • org.eclipse.ui.views - reexport org.eclipse.rap.ui.views
      • org.eclipse.ui.workbench - reexport org.eclipse.rap.ui.workbench
      • org.eclipse.ui - reexport org.eclipse.rap.ui
  3. Now open "Window/Preferences/Plug-in Development/Target Platform" in your Eclipse IDE and add a new empty target platform with RAP_RUNTIME as location
  4. Select that target platform
  5. In the preferences go to "Plug-in Development/API Baselines" and set "Missing API baseline" to "Ignore"
  6. Now you can patch all bundles that you need to modify for a working BPEL Designer on RAP:
    • We already created a set of patched projects. Just expand and import that set into your workspace.
    • If you would like to create the patches by yourself, follow these steps for every plugin:
      • Remove all not really required plugins
      • Check all (used) classes for missing imports
      • Remove the usage of Clipboard, ScrollBar, PrintSupport, PaintListener, MouseTrackListener and MouseMoveListener
      • Remove static references to instantiated images and image registries, as these are created per session in RAP
      • Check the result of Display.getDefault() for 'null', as it is only available from the user-interface thread during browser requests (not during initialisation).
      • Access the preferences store from the user-interface thread during browser requests only
      • Instead of IDialogConstants.*_LABEL (static variable) use IDialogConstants.get().*_LABEL
      • Remove ContentAssist from text fields (it doesn't support most of the used features up to now)
      • Remove references to StyledText (missing widget in RAP)
  7. Additionally you need an application configuration - in the patched projects above there is already one defined: org.eclipse.bpel.rap
  8. Now go to "Run/Run Configurations" select "RAP Application" and create a new launch for that application:
    • Servlet name: bpel
    • Entry point of application: designer
    • On the "Bundles" tab select all bundles from your workspace and than "Add required bundles"
  9. If you now run the launch, your browser will open and you should see the RAP workbench

You can create a project by right clicking in the explorer and selecting New/Project...

The best way to add files to your project is by adding them to the workspace in the file system and refresh the project

Back to the top