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).
First you have to install the BPEL Designer:
- Download the Eclipse Platform Runtime Binary (at least version 3.7.x) from here.
- Unzip the package into an directory of your choice.
- Start eclipse.exe
- Create a workspace.
- Open the eclipse menu: Help -> Install New Software...
- if you are using
- Eclipse 3.7: Enter the update site of the BPEL Visual Designer: http://download.eclipse.org/bpel/site/
- Eclipse 3.8/4.2: Select the "Juno - http://download.eclipse.org/releases/juno" update site.
- Select the packages "BPEL Commons" and "BPEL Visual Designer" 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: http://download.eclipse.org/rt/smila/tooling/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
- To open a view with all available BPEL elements, select "Show Palette in Palette View" from the Context Menu of the BPEL editor (right-click on the workflow visualisation). To see the properties of the currently selected element, use "Show in Properties" from the context menu.
- In the BPEL view, pipelet invocation activities are identified by a small SMILA icon: . In the Properties view, you can edit details like name, pipelet class name ("Type:"), input/output variables and the pipelet configuration.
- To make available pipelets and their configuratio properties known to the editor, use the "Download Definitions"-Button in the toolbar: . Then enter the host and port of a running SMILA server and click OK. Then the pipelets in this server are available in the "Type:" combo box and the "Configuration" tab knows the configuration property names of the selected pipelet.
If you'd like to modify the SMILA designer plugins or compile the latest version from repository, do the following:
- Setup your RCP IDE (you could use this package)
- Install the BPEL Designer as described above into its own directory (without the SMILA plugins)
- Select this installation as the target platform (Window->Preferences->Plug-in Development->Target Platform)
- Checkout the SMILA designer plugins (https://git.eclipse.org/c/smila/org.eclipse.smila.tooling.git/)
Don't forget to inform us if you have a really cool modification that you would like to share ;-)
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:
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
- Create a new Eclipse installation including the RAP tools (you could use this package).
- 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:
- Download the bare RAP runtime and expand it into RAP_RUNTIME.
- From the Eclipse Platform add the following packages to RAP_RUNTIME/eclipse/plugins:
- From EMF:
- From WTP:
- Remove RAP_RUNTIME/eclipse/plugins/com.ibm.icu.base*.jar (it conflicts with the added com.ibm.icu package).
- Add empty dummy bundles for:
- 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
- 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.
- Select that target platform.
- In the preferences go to "Plug-in Development/API Baselines" and set "Missing API baseline" to "Ignore".
- 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).
- 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).
- Additionally you need an application configuration - in the patched projects above there is already one defined: org.eclipse.bpel.rap.
- 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".
- 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.