Skip to main content
Jump to: navigation, search

Difference between revisions of "SMILA/BPEL Designer"

(BPEL Designer)
(BPEL Designer)
Line 16: Line 16:
#Create a workspace.
#Create a workspace.
#Open the eclipse menu: Help -> Install New Software...
#Open the eclipse menu: Help -> Install New Software...
#Enter the update site of the BPEL Designer: []
#Enter the update site of the BPEL Visual Designer: []
#Select the package and click [Finish]
#Select the packages and click [Finish]
=== SMILA designer plugins ===
=== SMILA designer plugins ===

Revision as of 05:40, 10 April 2013

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

First you have to install the BPEL Designer:

  1. Download the Eclipse Platform Runtime Binary (at least version 3.7.x) 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 Visual Designer:
  7. Select the packages and click [Finish]

SMILA designer plugins

Now we have to add the plugins that extend the BPEL designer for SMILA specific features.

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, do the following:

  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 this installation as the 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 expected):

  • 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, that's 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 by now.
  • Users - To date there is no user authentication or partition whatsoever - every user shares the same workspace.
  • Problems view - The 'Problems' view is always empty in RAP (may be 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 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. If you have any errors in your projects about missing definitions of referenced elements in "exsd" files - just ignore them (we didn't include the sources of the plugins in our Target Platform, which contain imported exsd files - you can add them manually if you like).
  8. Additionally you need an application configuration - in the patched projects above there is already one defined: org.eclipse.bpel.rap.
  9. Now go to "Run/Run Configurations", select "RAP Application", and create a new launch for this application:
    • Servlet name: bpel
    • Entry point of application: designer
    • On the "Bundles" tab select all bundles from your workspace, then "Add required bundles".
  10. Now, when running the launch, your browser will open and you should see the RAP workbench (sometimes you need to hit refresh in the browser first, because the browser is open before the application has started).

You can create a project by right clicking in the explorer and selecting "New/Project.../General Project" (the BPEL project is not working due to missing plugins).

The best way to add files to your project is adding them to the workspace of the launch in the file system and then refreshing the project in the project explorer.

To open files, you need to select "Open" in the context menu of the file, double clicking does not work up to now.

Back to the top