Service - A container for process models that execute on the server tier

This is a generic container for user-defined modeling.

Service executes in runtime on the server tier, causing a client-to-server call if its parent process is executed on the client tier. In cases where the same modeling can be executed on the client tier, consider using Action instead.


The Service template does not require any triggers, but can have as many user-defined triggers as needed. Triggers can be of any type (including user-defined, composite types), they can be repetitive (or not) and mandatory (or not).

Apart from passing parameters, triggers define execution order explicitly. If you want to use a trigger specifically for setting execution order without passing any value, you can create a new empty trigger ("empty trigger" is a trigger with data type Nothing). In order to simplify creation of an empty trigger, a default implementation, Control, is available through the template prototype (right-click the process model, select Add Element, and choose Control). Note that the name Control has no special meaning, and any other name can be used for empty triggers you create.

If no triggers are specified (or if all triggers are non-mandatory and none have flows into them), the process will execute when the parent process commences. If a parent contains multiple processes of this type the precise order of execution is undetermined.


<Done> (non-repetitive Nothing-type exit [not required]): Fired when processing is done. The <Done> exit is used mainly to explicitly define execution order in the parent model by adding flow from it to the Control trigger of other processes. The <Done> exit is available via the template prototype (Add Element context menu option).

Unlimited user-defined exits of any type can be added, to return results to be used outside the scope of the action. The exits can be repetitive (or not).


progressMessage (shared, text): If specified, replaces the default system message (Service: service_name) that is displayed while the user is waiting for the server to respond.

cancellable (shared, false/true): Controls whether the service can be canceled by the end user before the server responds. If true, a Cancel link appears on the screen below the progress bar while the user is waiting for the server to respond, and the user can press it co cancel the service.

serviceTimeout (shared, number): Specifies the server timeout in seconds for the service. Overrides the default timeout of 600 seconds defined in the server. Server timeout is defined when a server call is made, therefore this property will have no effect if the service is called from another service.