MOTEUR2 pre-release

MOTEUR2 is available as a pre-release (v0.9).

Reference

Tristan Glatard, Johan Montagnat, Diane Lingrand, Xavier Pennec. “Flexible and efficient workflow deployement of data-intensive applications on grids with MOTEUR”, International Journal of High Performance Computing Applications (IJHPCA), 22 (3), pages 347-360, 2008. pdf

User Guidelines

Downloads

Download jar archives from http://proton.polytech.unice.fr/moteur2. Make your choice of:

  • A self-contained jar archive: moteur2-client.jar
  • A stand-alone jar archive contained in: moteur2-client.zip, which includes both the client jar moteur2-client-<version>.jar and its dependencies in the lib directory. Upon execution, the CLASSPATH environment variable is overiden in the jar archive MANIFEST file. The lib sub-directory containing dependencies is expected to be found in the archive's directory.

The client contains the moteur server component and it will auto-start a local server upon execution if none is found already running. However, if you want to run a separate server (running on a separate machine or started has an independent process), then you will also need to download the independent server jar archive: moteur2-server.jar.

Installation

You need Java Runtime Environment v6 installed on your computer (get it here ). MOTEUR2 also depends on GraphViz's graph representation tools. Download GraphViz here (UNIX / windows) or there (MacOSX).

Run MOTEUR2 client to initiate the configuration procedure:

> java -jar moteur2-client-<version>-jar-with-dependencies.jar

On first run, you will have to give the dot executable location (from GraphViz's package). Default is in /usr/local/bin.

Execution

The client is used for workflows design and execution monitoring. The server is used for workflow execution enactment. When starting a client, the graphical designer/monitoring interface appears (unless the –no-gui option is used):

> java -jar moteur2-client-*-jar-with-dependencies.jar

As soon as a workflow execution is requested, the client connects to the server (or auto-start a server if none is running).

In case you want to start an independent server process, start the server prior to starting workflow execution from the client with:

> java -jar moteur2-server-*-jar-with-dependencies.jar

Use the –help option for detailed command line information.

Note: To use the option of proxy certificates generation using key/certificate you should choose the moteur2-client.zip distribution because some Bouncy Castle jars require to be signed in the CLASSPATH. Uncompress the ZIP file and execute the moteur2.sh under Unix/Mac environments or moteur2.bat under Windows environments. Alternatively experienced users may configure the Bouncy Castle provider in their environments registering it statically and then continue to use the moteur2-client.jar distribution.

The provider can be configured as part of your environment via static registration by adding an entry to the java.security properties file (found in $JAVA_HOME/jre/lib/security/java.security, where $JAVA_HOME is the location of your JDK/JRE distribution). You'll find detailed instructions in the file but basically it comes down to adding a line:

security.provider.<n>=org.bouncycastle.jce.provider.BouncyCastleProvider

Where <n> is the preference you want the provider at (1 being the most prefered). Issues arise if the Sun provided providers are not first.

Where you put the jar is up to mostly up to you, although the best (and in some cases only) place to have it is in $JAVA_HOME/jre/lib/ext. Under Windows there will normally be a JRE and a JDK install of Java if you think you have installed it correctly and it still doesn't work chances are you have added the provider to the installation not being used. [Source: Bouncy Castle Specifications (see last part of section 5.1)]

Development

Deployment of application services

The MOTEUR workflow engines support different kind of services:

  • command-line tools wrapped with the jGASW wrapper and accessible as Web Services.
  • regular Web Services
  • command-line tools wrapped with the GASW wrapper (executable on gLite, OAR/G5K and locally)
  • local java code (beanshell)

Pre-deployed Web Services (including jGASW-wrapped tools) hosted in an Axis2 or a Tomcat service container are browsable from the MOTEUR2 editor.

The recommended method to deploy new command-line based application services is to use the jGASW wrapper tool (use the tool GUI to create and deploy the Web Service bundle) and host services in a Tomcat container. To do so, a Tomcat server with the metro Web Service software stack is needed.

Tomcat container installation

  1. Download Apache Tomcat version 6.x from here and declare $CATALINA_HOME environment variable
  2. Download metro from https://metro.dev.java.net/
  3. unarchive metro: java -jar metro-standalone-2.1.jar
  4. Deploy metro within tomcat: ant -Dtomcat.home=$CATALINA_HOME -f metro/metro-on-tomcat.xml install (see metro documentation).
  5. Copy all jGASW dependencies found here in $CATALINA_HOME/shared/lib
  6. Copy the file cog-url.jar in $CATALINA_HOME/endorsed

Wrapping command line tools with jGASW

  1. Download jGASW UI jar archives from here
  2. Run the service packaging interface with java -jar jgasw-ui-*-bin.jar
  3. Run the service deployment tool with java -jar jgasw-tools-*-bin.jar

Invoking Web Services from MOTEUR

To add a Web Service in a workflow, the easiest way is to use the service discoverer included in MOTEUR2 through the Edit → Browse menu item. You can drag service operations that are listed in the browser window into the workflow edition canvas. The resulting processor will be configured with the service WSDL, operation invoked and corresponding input / output ports. To populate the browser window, you can provide endpoints to services deployed or to service containers (e.g. your own tomcat container):

  1. Endpoints to services deployed: select the custom services list item in the list of repositories and use the (+) button to enter the URL of the service WSDL.
  2. Listing containers content: MOTEUR2 is capable of browsing the content of AXIS2 server containers. Press the (+) button and enter the container URL. MOTEUR2 can also browse the content of Tomcat server containers if a specific discovery service is hosted within this server. The service discovery archive for Tomcat is available here. Just copy this file in your $CATALINA_HOME/webapps folder.

MOTEUR server

MOTEUR server is a Web-Service used to start grid workflows executed with MOTEUR. It is developed in collaboration with the eBioScience group of the Academic Medical Center Amsterdam) and Creatis . It is primarily meant to be used with the VBrowser client as described in Olab-10.

Please find the current documentation here: http://kingkong.grid.creatis.insa-lyon.fr:9002/projects/vip/wiki/Wiki

rapport_tklascaw.pdf.zip security_integration_report.pdf.zip