The Grid Workflow Execution Service

Dynamic and Interactive Execution and Visualization of Distributed Workflows

The Grid Workflow Execution Service (GWES) is the workflow enactment engine originally implemented for the Fraunhofer Resource Grid, redesigned within the K-Wf Grid project, and enhanced for Enterprise Grids, Instant-Grid, MediGRID, BauVOGrid, TextGrid, and PneumoGRID. The GWES coordinates the composition and execution process of Grid or SOA workflows. It implements a highly dynamic workflow concept by means of the Grid Workflow Description Language (GWorkflowDL), which is based upon the theory of high-level Petri nets. It provides interfaces to the Web Portal and to a command line client for user interaction and to the low-level Grid Middleware for the invocation of application operations.

The main purpose of the Grid Workflow Execution Service and its client interfaces is to enable users to automatically execute workflows on distributed resources without being bothered with implementation-specific details, putting more attention to the functionality of the workflow itself. Therefore the Grid Workflow Execution service provides methods to initiate and analyze Grid workflows, and to coordinate and optimize the execution of these workflows on distributed and inhomogeneous resources regarding the control as well as the data flow. Abstract operations are automatically mapped onto matching software and hardware resources, triggering web service operations, remote executions of programs, or file transfers. The workflow service supports pure Web Services and Globus Toolkit 4, and it is easily extendible for further execution platforms, such as UNICORE, Condor, GRIA, and SUN Grid Engine, allowing reusing existing workflows on different Grid middleware.

Deployment

The Grid Workflow Execution Service is deployed as a standard Web Service, so it seamlessly integrates into common system architectures. There is a strict separation of the enactment machine and its client interfaces. The graphical user interface is realized by a set of Java Applets and Servlets which can be easily integrated in generic or application-specific web portals. In addition there exists a command line client program that implements the full set of workflow management features and which simplifies the integration into legacy frameworks.

These are the basic steps for deploying the GWES as a Web Service:

  1. Download and install a current version of Apache Tomcat and set the environment variable ${CATALINA_HOME} to the top level folder of Tomcat
  2. Download gwes.war from the GWES download section
  3. Copy gwes.war to the Tomcat's webapps folder and restart Tomcat
  4. Configure the GWES by editing the files gwes.properties, rft.properties and log4j.properties in the folder ${CATALINA_HOME}/webapps/gwes/WEB-INF/classes
  5. Insert a role gwes and corresponding users to the tomcat users file at ${CATALINA_HOME}/conf/tomcat-users.xml
  6. Restart Tomcat
  7. Go with your web browser to http://localhost:8080/gwes

The GWES supports TSL/SSL security with client authorization based on X509 certificates. The security layer is optional, so if the GWES clients and server are behind a firewall you may prefer the default configuration without security layer. Please note, that the documentation about the GWES security is not part of the open source distribution. If you need assistance in setting up the security layer, please contact andreas.hoheisel@first.fraunhofer.de.

Depending on your requirements, you may need to deploy and configure additional services, such as the eXist database, the Resource Matcher, the Resource Updater and the Linux Toolbox. For details please refer to the GWES User Manual or contact Fraunhofer FIRST to get an offer for the configuration of your system.

Innovation

The main scientific achievements include the definition of a theoretically well founded Workflow Description Language, which is very simple but expressiveness at the same time, using the well-known concept of high-level Petri nets. With this approach we are able to model arbitrary algorithms, including parallel branches or loops. Transitions can possess conditions that we express using the XPath 1.0 syntax.

In order to make the workflows persistent, the execution service uses a native XML database for storing snapshots of the workflows including the workflow's state, which is represented by the marking of the corresponding Petri net. The system provides a simple and robust checkpoint-restore functionality and the user may initiate each of these snapshots as a new workflow instance. Another scientific achievement is the overall concept of iteratively mapping abstract workflows onto concrete resources, taking into account the most current monitoring information. Each of the abstraction levels uses the same workflow description language, so it is possible to mix several levels of abstraction in one workflow.

Selected Publications

  • Dagmar Krefting, Sebastian Canisius, Andreas Hoheisel, Thomas Tolxdorff, Thomas Penzel: Gridbased Sleep Research Analysis of Polysomnographies using a Grid Infrastructure. In Proceedings of the CCGrid-Health workshop, Shangai, China, 2009.
  • Sílvia D. Olabarriaga, Tristan Glatard, Andreas Hoheisel, Aart J. Nederveen, Dagmar Krefting: Crossing HealthGrids Borders: Early Results in Medical Imaging. Proceedings of the HealthGrid 2009, Berlin, 2009.
  • Andreas Hoheisel: Grid-Workflow-Management. In: Weisbecker, A.; Pfreundt, F.-J.; Linden, J.; Unger, S. (Eds.): Fraunhofer Enterprise Grids - Software. Fraunhofer IRB Verlag, Stuttgart, 2008. ISBN: 978-3-8167-7804-2
  • Marian Bubak, Steffen Unger (Eds.): K-Wf Grid - The Knowledge-based Workflow System for Grid Applications. Proceedings of CGW'06, Vol. II, CYFRONET, Cracow, 2007 (pdf 11MB)
  • Falk Neubauer, Andreas Hoheisel, Joachim Geiler: Workflow-based Grid Applications. In: Peter Sloot (Ed.) Future Generation Computer Systems, Volume 22, Number 1-2, pp. 6-15, Elsevier, 2006 (doi:10.1016/j.future.2005.08.002)
  • Andreas Hoheisel and Martin Alt: Petri Nets. In: Workflows for eScience, Ian J. Taylor, Dennis Gannon, Ewa Deelman, and Matthew S. Shields (Eds.), Springer, 2006
  • Martin Alt, Andreas Hoheisel, Hans-Werner Pohl, Sergei Gorlatch: Using High Level Petri-Nets for Describing and Analysing Hierarchical Grid Workflows. In: Proceedings of the CoreGRID Integration Workshop 2005, Pisa, 2005
  • Martin Alt, Andreas Hoheisel, Hans-Werner Pohl, Sergei Gorlatch: A Grid Workflow Language Using High-Level Petri Nets. In: Proceedings of the PPAM05, Poznan, 2005
  • Hoheisel, A.: User Tools and Languages for Graph-based Grid Workflows. In: Special Issue of Concurrency and Computation: Practice and Experience, (c) Wiley, 2005 (pdf 502kB, doi10.1002/cpe.1002)
  • Andreas Hoheisel, Uwe Der: An XML-based Framework for Loosely Coupled Applications on Grid Environments. P.M.A. Sloot et al. (Eds.): ICCS 2003. LNCS 2657, 245-254, (c) Springer-Verlag Berlin Heidelberg, 2003 (pdf 492kB)

License Issues

Please regard that the license agreement allows the free use only for the Licensee's own scientific or educational purposes. Any use beyond - especially but not limited for commercial purposes - and/or distribution to third parties requires our prior written consent. In these cases please contact andreas.hoheisel@first.fraunhofer.de or steffen.unger@first.fraunhofer.de.