|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface GWES
This is the public Interface to the Generic Workflow Execution Service (GWES). This Interface is implemented
by the GWESEngine
GWESEngine| Method Summary | |
|---|---|
void |
abort(String workflowID,
String userID)
Abort a workflow with a certain identifier. |
String[][] |
getActivityStatusArray(String workflowID,
String userID)
Get the status array of all instantiated activities of a given workflow. |
String[] |
getAvailableResources(String ofClass,
String userID)
Get a list of all available resources. |
String[] |
getCheckpoints(String workflowID,
String userID)
Get the path of all available checkpoints for a specific workflow. |
String[] |
getData(String workflowID,
String placeID,
String userID)
Get some data that is hold inside a specific workflow and that is referenced by a data place identifier. |
String |
getDescription(String workflowID,
String userID)
Get the human-readable description for a specific workflow. |
String[][] |
getProperties(String workflowID,
String userID)
Get all propertries of a specific workflow. |
String |
getProperty(String workflowID,
String name,
String userID)
Get the value of a specific workflow property. |
String |
getResourceDescription(String resourceUri,
String userID)
Get the resource description of a specific resource in D-GRDL syntax. |
int |
getStatus(String workflowID,
String userID)
Get the current status code of the workflow specified by its identifier. |
String |
getWorkflowDescription(String workflowID,
String userID)
Get the current Generic Workflow Description document of the workflow specified by its identifier. |
String[] |
getWorkflowIDs(int level,
String userID)
Get the identifiers of all the workflows that are handled by this Generic Workflow Execution Service. |
String[][] |
getWorkflowStatusArray(int level,
String userID)
Get the workflow status of all currently available workflows. |
String |
initiate(String gworkflowdl,
String userID)
Initiates a workflow with a certain userID. |
void |
remove(String workflowID,
int level,
String userID)
Remove a specific workflow from memory, database, and/or its temporary data on the Grid nodes. |
String |
restart(String workflowID,
String userID)
Restart a workflow with a certain identifier from the beginning. |
String |
restore(String workflowID,
String userID)
Restores a workflow from the XML database. |
void |
resume(String workflowID,
String userID)
Resume a workflow with a certain identifier. |
void |
setDescription(String workflowID,
String description,
String userID)
Set the human-readable description for a specific workflow. |
void |
setProperty(String workflowID,
String name,
String value,
String userID)
Set the value of a specific workflow property. |
void |
setWorkflowDescription(String workflowID,
String gworkflowdl,
String userID)
Overwrite the current Generic Workflow Description document of the workflow specified by its identifier. |
void |
start(String workflowID,
String userID)
Start a workflow with a certain identifier. |
String |
store(String workflowID,
String userID)
Store a workflow in the XML workflow database. |
void |
suspend(String workflowID,
String userID)
Suspend a workflow with a certain identifier. |
int |
waitForStatusChangeFrom(String workflowID,
int oldStatus,
String userID)
Wait for workflow to change its status from an specified status. |
int |
waitForStatusChangeToCompletedOrTerminated(String workflowID,
String userID)
Wait for workflow to change its status to final states COMPLETED or TERMINATED. |
| Method Detail |
|---|
String initiate(String gworkflowdl,
String userID)
throws net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
WorkflowSecurityException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException
gworkflowdl - The description of the workflow.userID - userID|credential: The ID of the user who owns the workflow. Use the DN of the
certificate if available. The optional user credential is separated from userID by "|".
user ID MUST NOT contain "|" or spaces!
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
WorkflowSecurityException
StateTransitionException
LoggingException
GWESException
RemoteException
void start(String workflowID,
String userID)
throws NoSuchWorkflowException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
StateTransitionException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void suspend(String workflowID,
String userID)
throws NoSuchWorkflowException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
StateTransitionException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void resume(String workflowID,
String userID)
throws NoSuchWorkflowException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
StateTransitionException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void abort(String workflowID,
String userID)
throws NoSuchWorkflowException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
StateTransitionException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String restart(String workflowID,
String userID)
throws NoSuchWorkflowException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
WorkflowSecurityException,
DatabaseException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException
workflowID - The unique identifier of the workflow to restart.userID - The user identifier of the user who owns the workflow.
NoSuchWorkflowException - If the workflow identifier is not available in the workflow database
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException - If the workflow stored in the database has the wrong format
DatabaseException - If there is a problem with retrieving the workflow from the database
StateTransitionException - If the state of the workflow is not INITIATED at the beginning.
WorkflowSecurityException
LoggingException
GWESException
RemoteException
String getWorkflowDescription(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void setWorkflowDescription(String workflowID,
String gworkflowdl,
String userID)
throws NoSuchWorkflowException,
StateTransitionException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The unique workflow identifier.gworkflowdl - The GWorkflowDL description of the workflow.userID -
NoSuchWorkflowException
StateTransitionException
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
int getStatus(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
- STATUS_UNDEFINED = 0
- STATUS_INITIATED = 1
- STATUS_RUNNING = 2
- STATUS_SUSPENDED = 3
- STATUS_ACTIVE = 4
- STATUS_TERMINATED = 5
- STATUS_COMPLETED = 6
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
int waitForStatusChangeFrom(String workflowID,
int oldStatus,
String userID)
throws NoSuchWorkflowException,
InterruptedException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifieroldStatus - The old status of the workflowuserID -
NoSuchWorkflowException
InterruptedException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
int waitForStatusChangeToCompletedOrTerminated(String workflowID,
String userID)
throws NoSuchWorkflowException,
InterruptedException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifieruserID -
NoSuchWorkflowException
InterruptedException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String[] getWorkflowIDs(int level,
String userID)
throws DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
- level = 1: workflows handled in main memory
- level = 2: workflows stored in workflow database
- level = 3: workflows handled in main memory AND stored in workflow database
level - The level from where to get the workflowIDs.userID -
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String[][] getWorkflowStatusArray(int level,
String userID)
throws DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
"ID=hoheisel_f2968050-1d6a-11db-bacc-ad353bc1f9b1" "status=COMPLETED" "birthdayMs=1154003111126" "durationUndefinedMs=527" "durationInitiatedMs=792" "durationRunningMs=0" "durationActiveMs=0" "durationSuspendedMs=0" "durationTotalMs=1351" "endTimeMs=1154003112477" "level=MEMORY" "description=test workflow"The level denotes from where to get the workflow IDs:
- level = 1: workflows handled in main memory
- level = 2: workflows stored in workflow database
- level = 3: workflows handled in main memory AND stored in workflow database
level - The level from where to get the workflowIDs.userID -
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String store(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
restore method.
workflowID - The unique workflow identifier.userID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException - If there is a problem with the XML database
LoggingException
GWESException
RemoteException
WorkflowSecurityExceptionrestore(String,String)
String restore(String workflowID,
String userID)
throws NoSuchWorkflowException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
WorkflowSecurityException,
DatabaseException,
StateTransitionException,
LoggingException,
GWESException,
RemoteException
/db/gworkflowdl/[workflowID]/0000000221.xml. The method call
returns the new workflow ID of the restored workflow.
A restored workflow has the status INITIATED and needs to be started using the start() method.
Workflows are stored, e.g., by using the store method.
workflowID - The old workflow ID of the stored workflow.userID - The user ID.
NoSuchWorkflowException
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
WorkflowSecurityException
DatabaseException
StateTransitionException
LoggingException
GWESException
RemoteExceptionstore(String, String),
start(String, String)
String[] getData(String workflowID,
String placeID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifierplaceID - The place identifier that refers to the datauserID -
NoSuchWorkflowException
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void setDescription(String workflowID,
String description,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifierdescription - The human-readable descriptionuserID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String getDescription(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifieruserID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void setProperty(String workflowID,
String name,
String value,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifiername - Name of the propertyvalue - Value of the propertyuserID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
GWESException
RemoteException
WorkflowSecurityException
String getProperty(String workflowID,
String name,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifiername - Name of the propertyuserID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
GWESException
RemoteException
WorkflowSecurityException
String[][] getProperties(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException,
GWESException,
RemoteException,
WorkflowSecurityException
properties = getProperties(workflowID); properties[0][0] //Name of the first workflow property properties[0][1] //Value of the first workflow property properties[1][0] //Name of the second worklfow property properties[1][1] //Value of the second workflow property
workflowID - userID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
net.kwfgrid.gworkflowdl.structure.WorkflowFormatException
GWESException
RemoteException
WorkflowSecurityException
String[] getCheckpoints(String workflowID,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
workflowID - The workflow identifier.userID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
void remove(String workflowID,
int level,
String userID)
throws NoSuchWorkflowException,
DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
- level = 1: main memory
- level = 2: workflow database
- level = 3: main memory AND workflow database
- level = 4: temporary data on Grid nodes
- level = 5: main memory AND temporary data on Grid nodes
- level = 6: workflow database AND temporary data on Grid nodes
- level = 7: main memory AND workflow database AND temporary data on Grid nodes
workflowID - The workflow identifier.level - From where to remove the workflow data.userID - The user ID.
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String[][] getActivityStatusArray(String workflowID,
String userID)
throws LoggingException,
NoSuchWorkflowException,
GWESException,
RemoteException,
WorkflowSecurityException
ID=hoheisel_2addc790-416a-11de-97f3-9cdc141524de_0000000025
status=ACTIVE
activityClass=net.kwfgrid.gwes.wsgramactivity.GRAMActivity
operationName=software:makeload100
resourceName=hardware:quadro.first.fhrg.fraunhofer.de
timeoutActive=7200000
timeoutRunning=86400000
birthdayMs=1242403824742
durationUndefinedMs=1
durationInitiatedMs=1
durationRunningMs=1886
durationActiveMs=0
durationSuspendedMs=0
durationTotalMs=0
endTimeMs=0
workflowID - The workflow identifier.userID -
NoSuchWorkflowException - If the workflow identifier is unknown to this GWES.
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String[] getAvailableResources(String ofClass,
String userID)
throws DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
String[] resources = getAvailableResources("urn:dgrdl:software");
resources[0]=
<resource>
<uri>software:cat-fhrg</uri> // Operation URI
<classUri>urn:dgrdl:software:cat</classUri> // Operation Class URI (workflow: operationClass name="...")
<name>cat</name> // Operation Name
<description>Program that concatenates two files<description> // Operation Description
</resource>
ofClass - The class which this resource should be part of. This method only checkes whether the class starts
with the given ofClass parameter, e.g., "urn:dgrdl:software" would match both classes: "urn:dgrdl:software:A"
as well as "urn:dgrdl:software:B". If ofClass is null then all classes of resources are
returned.userID -
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
String getResourceDescription(String resourceUri,
String userID)
throws DatabaseException,
LoggingException,
GWESException,
RemoteException,
WorkflowSecurityException
resourceUri - The resource URI.userID -
DatabaseException
LoggingException
GWESException
RemoteException
WorkflowSecurityException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||