Service metadata
Service metadata is used to describe the interface of a processing service so it can be executed by Steep.
Runtime environments
Steep provides a set of default runtime environments that define how processing services are executed. More environments can be added through runtime environment plugins.
Service parameters
This data model describes the parameters that can be passed to a processing service.
Example cardinalities:
"0..1"
means the parameter is optional (it can appear 0 times or 1 time)"1..1"
means the parameter is mandatory (it must appear 1 time)"1..n"
means it must appear at least once or many times (no upper limit)
Data type:
Steep treats parameters differently depending on the type
and dataType
:
-
If
type
is"output"
anddataType
is"directory"
, Steep will create a new directory for the service’s output and recursively search it for result files after the service has been executed. -
If
type
is"input"
anddataType
is"directory"
, Steep will find the common parent directory of the files from the parameter’s value and pass it to the service. For example, if the parameter’s value is an array with the elements["/tmp/a.txt", "/tmp/b.txt", "/tmp/subdir/c.txt"]
, Steep will pass"/tmp/"
to the service. -
If
type
is"input"
,dataType
is not"directory"
, but the parameter’s value is an array, Steep will duplicate the parameter as many times as there are items in the array (given that the cardinality has no upper limit). -
If
type
is"input"
,dataType
is"boolean"
, and the parameter has alabel
, Steep will pass thelabel
to the service if the parameter’s value istrue
and ignore the parameter if the value isfalse
. -
Otherwise, this property can be an arbitrary string. New data types with special handling can be added through output adapter plugins.
Runtime arguments
Runtime arguments are similar to service parameters, except they are passed to the runtime that executes the service (e.g. Docker) instead of the service itself.