Runtime Concepts

Runtime refers to the TIBCO® Cloud Integration engine that hosts and executes the applications.

Process Instance

Execution of any process creates an execution scope for the activities that are a part of the process and this scope is called a process instance. Each process instance has a unique id which is referred to as "ProcessInstanceId".

The execution of a process is triggered by various events. For example, events can be generated by a Timer that is scheduled to trigger at specific time intervals, or by changes that occur in the file system, or by messages that are sent by a client over a specific protocol (for example, HTTP), or simply by messages sent by other processes.

The runtime engine is a multi-threaded engine capable of triggering the execution of the same process multiple times, concurrently, once for each event. When the events that trigger the execution of a process occur concurrently, the engine executes the same process multiple times, concurrently, once for each event. And for each execution, the engine creates a process instance that provides an execution scope for the activities that are a part of the process.

Job

Execution of a component process is called a job. Each job has a unique id referred to as JobId.

When the business logic is spread across multiple processes, multiple process instances are created and executed in conjunction with a particular event. Even though these are separate process instances they are work together and can be executed as part of the same job. A job can spawn multiple process instances and can provide the execution context for activities that are part of multiple processes. The engine always executes a job in one engine thread.

All the process instances that are part of the same job will have the same JobId. A component process instance and all of its in-line subprocess instances are also considered to be a part of the same job. Non in-line subprocesses spawn a new engine thread and are executed on a different job.