Skip to content

Instantly share code, notes, and snippets.

@tsurdilo
Created July 10, 2020 16:39
Show Gist options
  • Save tsurdilo/39e1cf1bbd9dbb2fa938ca353fa47a8d to your computer and use it in GitHub Desktop.
Save tsurdilo/39e1cf1bbd9dbb2fa938ca353fa47a8d to your computer and use it in GitHub Desktop.
Function definitions allows you to define invocation information of services that need to be invoked during
workflow execution.
They can be referenced by name in [actions](#Action-Definition) defined in [Event](#Event-State), [Operation](#Operation-State), or [Callback](#Callback-State) workflow states.
There are two possible ways to define service infocation information:
* Via the 'resource' properties which defines the exposed URI of the service that allows its invocation via REST for example.
The results of the service execution in this case are assumed to be present in the REST call response.
* Via the 'triggerEventRef' and 'resultEventRef' properties. In this scenario the defined function is invoked by the referenced
trigger event and its results can be obtained in the payload body of the referenced result event. Note that since there can be
many workflow instances invoking the same function event correlation on the workflow instance id for example must be established
in this scenario so that the result event can be correlated to the needed workflow instance.
The type parameter allows implementations to give more information regarding the function to the readers.
It should not affect workflow execution or service invocation.
Function definitions themselves do not define data input parameters as they are reusable definitions. These are
defined via the 'parameters' property of [function definitions](#FunctionRef-Definition) inside [actions](#Action-Definition).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment