WEEP Portal

Workflow Enactment Engine Project

Documentation

From Wiki

Contents

User Guide

Welcome to the WEEP Engine User Guide


Installing WEEP Engine

Prerequisite Software


Environment Settings Be sure that your environment variables JAVA_HOME, ANT_HOME, MAVEN_HOME and GLOBUS_LOCATION point to the respective installation directories.


For successful installation and running of the WEEP Engine under Globus Toolkit 4 (GT4) follow all the next steps in sequence:

Globus Toolkit 4

  • Download and install GT4 (recommended version 4.0.5) how-to


Deploy WEEP Services into GT4 Container

  • To deploy the services execute (unix | windows):
 ./bin/globus-deploy.sh | bin/globus-deploy.bat


Start WEEP Database

  • To start the database execute the following command (unix | windows):
 ./bin/db-start | bin/db-start.bat  


Start GT4 Container

  • Execute the following command from /path/to/your/globus/bin (unix | windows)
 ./globus-start-container -nosec | globus-start-container.bat -nosec

Using WEEP Client

  • Standard format of ant tasks "ant client-<CommandName> [-DParameter]"
  • To get complete list of supported tasks run:
 ant client-help
  • The currently supported ant task are:
ant client-createTemplate -Dgwa.url=URL
ant client-listTemplates
ant client-createEngine -DtemplateId=ID    
ant client-engineState  -DengineId=ID
ant client-engineVariables -DengineId=ID    
ant client-run -Dgwa.url=URL                           
ant client-startEngine -DengineId=ID
ant client-listEngines                                     
ant client-templateDefinitions -DtemplateId=D    


By default, the URLs of the TemplateEngineFactory, ProcessEngineFactory and ProcessEngineService services are set to the localhost! You can change their values using the following parameters for any ant task.

-Dtemplate.factory.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessTemplateFactory 
-Dengine.factory.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessEngineFactory 
-Dengine.service.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessEngineService 

Tasks Description

  • This command takes an URL of Grid Workflow Archive file (GWA) as a parameter and creates new ProcessTemplateResource with a unique ID.
ant client-createTemplate -Dgwa.url=URLofGWA 
  • This command lists all available ProcessTemplateResources. It takes no parameters.
ant client-listTemplates 
  • This creates a new ProcessResource with a unique engine ID. It takes as parameter the ID of ProcessTemplateResource.
ant client-createEngine -DtemplateId=ID
  • This command is for checking the state of the engine. Every engine has four states: Runnable, Running, Failed and Completed. In the parameter part of this command it takes the ID of a ProcessResource.
ant client-engineState -DengineId=ID
  • As the command shows, its functionality is to start the process and it takes the ID of ProcessResource as parameter.
ant client-startEngine -DengineId=ID
  • The purpose of this command is to display the ProcessResource variables along with their names and current values.
ant client-engineVariables -DengineId=ID 
  • This command is used for listing all the ProcessResources, along with their Names and IDs. It takes no parameter.
ant client-listEngines -DtemplateID=ID
  • This command displays BPEL and WSDL related to the specified ProcessTemplateResource.
ant client-templateDefinitions -DtemplateId=ID
  • This command creates new ProcessTemplateResource, ProcessResource and finally starts the process.
ant client-run -Dgwa.url=ID


To invoke demo example run the following command:

ant client-run \
-Dtemplate.factory.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessTemplateFactory \ 
-Dengine.factory.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessEngineFactory \
-Dengine.service.url=http://localhost:8080/wsrf/services/gridminer/weep/ProcessEngineService \
-Dgwa.url=http://weep.gridminer.org/examples/process_example_01.gwa

The archive file contains:


Engine Interaction Example

In this section we explain the functionality of WEEP client in interaction with the WEEP Engine. To complete the example successfully follow the below described steps in sequence.

1) Create a ProcessTemplateResource First create a ProcessTemplateResource by executing :

ant client-createTemplate -Dgwa.url=http://weep.gridminer.org/examples/process_example_01.gwa

This will create a ProcessTemplateResource along with its ID: TemplateId


2) View a list of created templates

To get list of ProcessTemplateResources run:

ant client-listTemplates

This gives the list of all created ProcessTemplateResources with their IDs and Names.


3) Create engine After creating the ProcessTemplateREsource, the next step is to create an engine instance represented as a WS-REsource. To create the resource execute:

ant client-createEngine -DtemplateId=templateEngineId

This will create the engine with a engine ID:engineId_1

Note: -DtemplateId=templateEngineId, templateEngineId is the ID of the template engine we created in
      the first step.


4) List engines

To see the list of all engines run:

ant client-listEngines


5) View state of created engine

To check the state of created engine run:

ant client-engineState -DengineId=engineId_1

This gives one of the states of the engine i.e. runnable, running, failed, pending or completed.

Note: -DengineId=engineId_1, is the ID of the ProcessResource, created in the third step.


6) Start process

To start the process run:

ant client-startEngine -DengineId=engineId_1

Note: -DengineId=engineId_1, is the ID of the ProcessResource, created in the third step.


7) Check variables

To check the final values of process variables run:

ant client-engineVariables -DengineId=engineId_1

Hurrah!!! if all worked fine the counter value is 20.

WEEP Tools

Dynamic Invoker GUI

The dynamic invoker is a basic component of the WEEP engine for interaction with the partner services. The invoker can be started:

./bin/invoker | bin/invoker.bat


JMX Interface

The WEEP Engine can be interactively controlled using its JMX HTML adaptor - running on port 8082


WS-BPEL Visualization

The BPEL files in version 2.0 can be easily converted to the SVG and PNG format

Workflow Archive File

The workflow archive file is a 'jar' file containing process definition files like e.g. BPEL, WSDL. Moreover, it can contain additional files like XSD schemas or XSLT files etc. required by the BPEL or WSDL files. To create the demo archive file run java jar command as follows.

jar -vxfM process_example_01.gwa process_example_01.bpel CounterService.wsdl


Deploying Composite Service to GT4

...coming soon.

Building from Source Code

To build the the required packages from the source distribution run:

./bin/build | bin/build.bat

! Ignore the maven2 WARNING messages if any


Project Structure

The project consists of several modules based on Project Object Model. Each parent module contains a pom.xml file including all the library dependencies. The POM files allow to compile and install WEEP to the local maven2 repository usually located in 'path/to/users/home/directory/.m2/repository'. Additionally, some submodules contain ant build scripts, which allow to run module specific tools. The "bin" directory of the WEEP distribution holds a set of handy shell scripts, which allow to invoke some of the ant targets.

The source code project consists of the following Maven2 modules:

  • beans-bpel
  • core-bpel
  • core-invocation
  • core-enactment
  • core-management
  • core-persistence
  • globus-client
  • globus-stubs
  • globus-service
  • standalone
  • visualization (BPEL)
  • webapps (Portal)