Difference between revisions of "Workflow Engine"

From Gcube Wiki
Jump to: navigation, search
Line 6: Line 6:
 
Adaptors are implemented to operate on a specific third party language which they can understand, parse, and translate into internally used constructs. This way the WorkflowEngine opens up its usability level since existing workflows already defined in third party languages can be easily incorporated. Additionally, the learning curve for anyone wishing to use the execution and workflow capabilities of the system is greatly reduced as depending on ones needs one can simply focus on one of the existing supported languages which will best match the job at hand. Additionally, for the same language, more than one adaptors can be implemented that will offer different type of functionality either by modifying the semantics of the produced [[ExecutionPlan]] or even by incorporating external components to the evaluation.
 
Adaptors are implemented to operate on a specific third party language which they can understand, parse, and translate into internally used constructs. This way the WorkflowEngine opens up its usability level since existing workflows already defined in third party languages can be easily incorporated. Additionally, the learning curve for anyone wishing to use the execution and workflow capabilities of the system is greatly reduced as depending on ones needs one can simply focus on one of the existing supported languages which will best match the job at hand. Additionally, for the same language, more than one adaptors can be implemented that will offer different type of functionality either by modifying the semantics of the produced [[ExecutionPlan]] or even by incorporating external components to the evaluation.
  
Currently two adaptors are offered:
+
The following list of adaptors is currently provided:
 
*[[WorkfowJDLAdaptor]]
 
*[[WorkfowJDLAdaptor]]
 
*:This adaptor parses a Job Description Language (JDL) definition block and translates the described job or DAG of jobs into an [[ExecutionPlan]] which can be submitted to the [[ExecutionEngine]] for evaluation.
 
*:This adaptor parses a Job Description Language (JDL) definition block and translates the described job or DAG of jobs into an [[ExecutionPlan]] which can be submitted to the [[ExecutionEngine]] for evaluation.
 
*[[WorkflowGridAdaptor]]
 
*[[WorkflowGridAdaptor]]
 
*:This adaptor constructs an [[ExecutionPlan]] that can contact a gLite UI node, submit, monitor and retrieve the output of a grid job.
 
*:This adaptor constructs an [[ExecutionPlan]] that can contact a gLite UI node, submit, monitor and retrieve the output of a grid job.

Revision as of 17:38, 29 January 2010

Overview

The Workflow Engine operates on top of the ExecutionEngine. Its purpose is to abstract over the low level details that are needed by the ExecutionEngine and the ExecutionPlan it is provided with.

Adaptors

One of the functionalities offered by the WorkflowEngine is the possibility to bridge between existing well known job description and workflow definition languages and the internally used WorkflowLanguage which is subsequently transformed in the an ExecutionPlan. This bridging is performed by means of 'Adaptors'.

Adaptors are implemented to operate on a specific third party language which they can understand, parse, and translate into internally used constructs. This way the WorkflowEngine opens up its usability level since existing workflows already defined in third party languages can be easily incorporated. Additionally, the learning curve for anyone wishing to use the execution and workflow capabilities of the system is greatly reduced as depending on ones needs one can simply focus on one of the existing supported languages which will best match the job at hand. Additionally, for the same language, more than one adaptors can be implemented that will offer different type of functionality either by modifying the semantics of the produced ExecutionPlan or even by incorporating external components to the evaluation.

The following list of adaptors is currently provided: