We use the Grid Workflow Execution Service by Fraunhofer FIRST as the enactment engine in TextGrid. It is a webapp to be installed in a Servlet Conatiner such as Apache Tomcat. It accepts GridWorkflowDL documents that contain all information the engine needs, i.e. input data is also contained in a GridWorkflowDL document. The abstract formalism of GridWorkflowDL is High-Level Petri Nets, which is Turing-complete. Data is represented as structured tokens, and flows from places to transitions and from transitions to places. While a workflow is being executed, the GridWorkflowDL document is in permanent change, with data moving from one place over the transitions (which may be Web or Grid Services) to another. The workflow halts if there are no more enabled transitions, i.e. no transition that has all incoming places filled with at least one data token.
The engine can be configured to hold workflows in memory for a certain amount of time, e.g. one day. Further persistence is facilitated by storing the workflows in a database afterwards. Natively the GWES works with XML databases such as eXist.
Installation and configuration of the GWES is straightforward: download the gwes.war from FIRST (and optionally exist.war from its download site), move it into the webapp/ folder of a running Tomcat and let Tomcat unpack it. Afterwards, edit webapps/gwes/WEB-INF/classes/gwes.properties, mainly for timeout configuration, and conf/tomcat-users.xml to specify the user(s) that are allowed to login to the monitoring site.
Andreas Hoheisel: Grid Workflow Execution Service – Dynamic and Interactive Execution and Visualization of Distributed Workflows. In Proceedings of the Cracow Grid Workshop 2006, Cracow, 2007, http://www.first.fraunhofer.de/owx_medien/pdf/3462_hohe2007.pdf