Skip to main content
Jump to: navigation, search

Difference between revisions of "SMILA/BPEL Designer"

(Development)
 
(20 intermediate revisions by 6 users not shown)
Line 9: Line 9:
 
=== BPEL Designer ===
 
=== BPEL Designer ===
  
How to install the BPEL Designer:
+
First you have to install the BPEL Designer:
  
#Download the Eclipse ''Platform Runtime Binary'' (at least version 3.6.2) from [http://download.eclipse.org/eclipse/downloads/ here].
+
#Download the Eclipse ''Platform Runtime Binary'' (at least version 3.7.x) from [http://download.eclipse.org/eclipse/downloads/ here].
 
#Unzip the package into an directory of your choice.
 
#Unzip the package into an directory of your choice.
 
#Start eclipse.exe
 
#Start eclipse.exe
 
#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: [http://download.eclipse.org/bpel/update-site/ http://download.eclipse.org/bpel/update-site/]
+
#if you are using
#Select the package and click [Finish]
+
##Eclipse 3.7: Enter the update site of the BPEL Visual Designer: [http://download.eclipse.org/bpel/site/ 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 ===
 
=== 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/ http://download.eclipse.org/rt/smila/tooling/update-site/]<br/>
 
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/ http://download.eclipse.org/rt/smila/tooling/update-site/]<br/>
 
The installation is the same as for the BPEL Designer above.
 
The installation is the same as for the BPEL Designer above.
 +
 +
== Usage ==
  
 
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 [http://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/SMILA.application/configuration/org.eclipse.smila.processing.bpel/pipelines/ SMILA application configuration]
 
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 [http://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core/SMILA.application/configuration/org.eclipse.smila.processing.bpel/pipelines/ SMILA application configuration]
 +
 +
Some hints:
 +
* 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: [[Image:SMILA-BPELDesigner-pipelet-icon.png]]. 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: [[Image:SMILA-BPELDesigner-download-icon.png]]. 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.
  
 
== Development ==
 
== Development ==
  
If you'd like to modify the SMILA designer plugins or compile the latest version from repository, you can do that:
+
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 [http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/heliossr2 this package])
+
# Setup your RCP IDE (you could use [http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/indigosr1 this package])
 
# Install the BPEL Designer as described above into its own directory (without the SMILA plugins)
 
# Install the BPEL Designer as described above into its own directory (without the SMILA plugins)
# Select that installation as target platform (Window->Preferences->Plug-in Development->Target Platform)
+
# Select this installation as the target platform (Window->Preferences->Plug-in Development->Target Platform)
# Checkout the SMILA designer plugins (https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/tooling)
+
# 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 ;-)
+
Don't forget to inform us if you have a really cool modification that you would like to share ;-)
  
 
== RAP showcase ==
 
== RAP showcase ==
 +
 +
{{Important|This showcase is not actively supported anymore by the SMILA project. The following description has not been tested with current Eclipse releases and might or might not work. Feel free to test it and improve it. ;-) }}
  
 
The [http://www.eclipse.org/rap/ 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.
 
The [http://www.eclipse.org/rap/ 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.
Line 47: Line 60:
 
=== Limitations ===
 
=== Limitations ===
  
This was just a proof of concept - so many things aren't working up to now (or at least not as aspected):
+
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
+
* 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
+
* 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 for now
+
* Menu bar - We had to create our own "application" and left the menu bar empty by now.
* Users - No user authentication or partition up to now - every user sees the same workspace
+
* 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 (maybe fixed later)
+
* Problems view - The 'Problems' view is always empty in RAP (may be fixed later).
  
 
=== How to set up the example ===
 
=== How to set up the example ===
  
# Create a new Eclipse installation including the RAP tools (you could use [http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/indigor this package])
+
# Create a new Eclipse installation including the RAP tools (you could use [http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/indigor this package]).
 
# Create the RAP Runtime directory:
 
# Create the RAP Runtime directory:
#* For Eclipse 3.7/RAP 1.4.0, we prepared already a working [http://download.eclipse.org/rt/smila/tooling/rap/RAPRuntime.zip RAP Runtime]. Just expand it into a directory (called RAP_RUNTIME from now on).
+
#* For Eclipse 3.7/RAP 1.4.0, we prepared already a working [https://www.dropbox.com/s/w0utokdumhmrcfe/RAPRuntime.zip RAP Runtime]. Just expand it into a directory (called RAP_RUNTIME from now on).
 
#* To create the RAP Runtime by yourself follow these steps:
 
#* To create the RAP Runtime by yourself follow these steps:
## Download the [http://www.eclipse.org/rap/downloads/ bare RAP runtime] and expand it into RAP_RUNTIME
+
## Download the [http://www.eclipse.org/rap/downloads/ bare RAP runtime] and expand it into RAP_RUNTIME.
 
## From the Eclipse Platform add the following packages to RAP_RUNTIME/eclipse/plugins:
 
## From the Eclipse Platform add the following packages to RAP_RUNTIME/eclipse/plugins:
 
##* com.ibm.icu*.jar
 
##* com.ibm.icu*.jar
Line 88: Line 101:
 
##* org.eclipse.jem.util*.jar
 
##* org.eclipse.jem.util*.jar
 
##* org.eclipse.wst*.jar
 
##* org.eclipse.wst*.jar
## Remove RAP_RUNTIME/eclipse/plugins/com.ibm.icu.base*.jar (it conflicts with the added com.ibm.icu package)
+
## 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 empty dummy bundles for:
 
##* org.eclipse.equinox.p2.engine
 
##* org.eclipse.equinox.p2.engine
Line 100: Line 113:
 
##* org.eclipse.ui.workbench - reexport org.eclipse.rap.ui.workbench
 
##* org.eclipse.ui.workbench - reexport org.eclipse.rap.ui.workbench
 
##* org.eclipse.ui - reexport org.eclipse.rap.ui
 
##* 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
+
# 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
+
# 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:
 
# Now you can patch all bundles that you need to modify for a working BPEL Designer on RAP:
#* We already created a set of [http://download.eclipse.org/rt/smila/tooling/rap/RAPProjects.zip patched projects]. Just expand and import that set into your workspace.
+
#* We already created a set of [https://www.dropbox.com/s/h1dlaqpqn20hmw8/RAPProjects.zip 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:
+
#* If you would like to create the patches yourself, follow these steps for every plugin:
#** Remove all not really required plugins  
+
#** Remove all not really required plugins.
#** Check all (used) classes for missing imports  
+
#** Check all (used) classes for missing imports.
#** Remove the usage of Clipboard, ScrollBar, PrintSupport, PaintListener, MouseTrackListener and MouseMoveListener  
+
#** 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
+
#** 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).
 
#** 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  
+
#** Access the preferences store from the user-interface thread during browser requests only .
#** Instead of IDialogConstants.*_LABEL (static variable) use IDialogConstants.get().*_LABEL
+
#** 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 ContentAssist from text fields (it doesn't support most of the used features up to now).
#** Remove references to StyledText (missing widget in RAP)
+
#** Remove references to StyledText (missing widget in RAP).
# Additionally you need an application configuration - in the patched projects above there is already one defined: org.eclipse.bpel.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).
# Now go to "Run/Run Configurations" select "RAP Application" and create a new launch for that application:
+
# 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
 
#* Servlet name: bpel
 
#* Entry point of application: designer
 
#* Entry point of application: designer
#* On the "Bundles" tab select all bundles from your workspace and than "Add required bundles"
+
#* On the "Bundles" tab select all bundles from your workspace, then "Add required bundles".
# If you now run the launch, your browser will open and you should see the RAP workbench
+
# 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).
  
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 adding them to the workspace of the launch in the file system and then refreshing the project in the project explorer.
  
The best way to add files to your project is by adding them to the workspace in the file system and refresh the project
+
To open files, you need to select "Open" in the context menu of the file, double clicking does not work up to now.
  
 
[[Category:SMILA]]
 
[[Category:SMILA]]

Latest revision as of 04:33, 19 December 2014

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

Introduction

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).

Installation

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. if you are using
    1. Eclipse 3.7: Enter the update site of the BPEL Visual Designer: http://download.eclipse.org/bpel/site/
    2. Eclipse 3.8/4.2: Select the "Juno - http://download.eclipse.org/releases/juno" update site.
  7. 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.

Usage

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

Some hints:

  • 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: SMILA-BPELDesigner-pipelet-icon.png. 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: SMILA-BPELDesigner-download-icon.png. 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.

Development

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 (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 ;-)

RAP showcase

Important.png
This showcase is not actively supported anymore by the SMILA project. The following description has not been tested with current Eclipse releases and might or might not work. Feel free to test it and improve it. ;-)


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

Limitations

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:
      • com.ibm.icu*.jar
      • org.eclipse.compare.core*.jar
      • 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/com.ibm.icu.base*.jar (it conflicts with the added com.ibm.icu 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