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.