*) Workflows and services can be abstract (template) or concrete (instance).
Unless otherwise noted, we always refer to the concrete instance of the workflow/service below
*) All workflows are also services.
*) Services may be part of zero or more workflows
*) When Services execute in the context of a workflow,
an invocation of the service is associated with the workflowID of the workflow whose context
in which it is being invoked (also called parent workflow),
the timestep of this invocation in the parent workflow,
and the node ID that uniquely identifies this service within the parent workflow instance.
*) Workflows can also be invoked in the context of another parent workflow.
*) Workflow ID always refers to the "parent workflow ID". When refering to the invocation of a workflow,
its instance ID is called the Service ID.
*) Workflows that are not invoked from another workflow do not have a context of execution
(parent workflow is not present => Workflow ID is NULL)
*) Schema design notes
- This schema uses the "Venetian Blind" schema design pattern
- It uses Upper Camel Case for schema types and lower camel case for
element and attribute names
ID to uniquely identify the service instance.
This is usually formed from the targetnamespace and porttype name of the service's WSDL.
This ID may refer to the instance ID for a service or for a workflow.
String that identifies uniquely a node in workflow graph.
The node ID is unique in the scope of a workflow ID.
The timestep within workflow execution at which this invocation is made.
This is a logical time that monotonically increments for each invocation in a workflow.
Unique logical ID for a data product in the form of a UUID.
Physical URL for the data products can be resolved using this ID.
The workflow context within which this service is executing.
If this service is itself a workflow and not executing as part of another workflow
(i.e. this is the root of the invocation trace) then the workflow ID is absent.
Otherwise, this is the service ID of the workflow instance.
ID to uniquely identify a service instance. The service instance can
be part of zero or more workflow.
This is formed from the targetnamespace of the service's CWSDL.
Distinct ID of a node within a Workflow graph. unique within the workflowID,
not necessarily the order of execution.
The timestep within workflow execution at which this invocation is made.
32bit integer. Timestep is a numerically ordered monotonically increasing sequence
within wf execution that allows relative ordering of invocations.
It is unique within the workflowID for each invocation in the workflow.
This is the base type for all notification activities that are produced
This identifies the entity/invocation context from which this notifcation is being sent.
Optional human friendly description of this notification.
Optional additional metadata for this notification. See common.AnnotationConsts file.
String identifying notification schema version (used for verifying compatible schema and filtering).
Optional human friendly description of this data product.
Optional additional metadata for this data product.