Processes
Processes capture and describe the flow of business information in an enterprise between different data sources and destinations.
Processes comprise activities that accomplish tasks. The flow of data between activities in a process is represented using transitions, conditions, and mappings. TIBCO Business Studio for BusinessWorks provides design palettes containing activities and transitions that can be used to develop business processes.
A direct subprocess is non-WSDL-based. This means you do not need to use a WSDL to define subprocess details. Instead, you can set input and output information on the Start and End activities in the subprocess interface.
- A service subprocess requires a WSDL to define subprocess details, and can be configured to use SOAP or REST binding.
- An inline subprocess is part of the same job as the parent process, which means they share the same engine thread. A non-inline, or a spawned, subprocess is a separate job, which means it can use a separate engine thread. For example, when a service subprocess invokes a process using the
Invoke activity, the process runs on the same thread if a reply is involved.
Note: If the parent process of a direct inline subprocess is faulted, the subprocess is canceled as well. Inline direct subprocesses are sensitive to all state changes of the parent process, for example, suspend, resume, or cancel.
- Non-inline subprocesses run on a separate, engine thread.
Note: If the parent process of an inline, or a non-inline, service subprocess is faulted, the subprocess is canceled as well. Service subprocesses, similar to inline direct subprocesses, are sensitive to any state changes the parent process undergoes.
A component process is designed to react to various events and these events are triggered by Process Starters, Signal-Ins, and Bindings.


When the process is implemented by a component, the process references that are not configured to call a process or an external service through a binding are exposed as component references, which then need to be configured using bindings.

The OnStartup operation is called when an application is started, but before running any other processes in the application. The OnStartup operation can be used to implement any pre-processing tasks that must be performed for the application before the regular processing starts. For example, the OnStartup operation can be used to check if the database tables required by an application exist, and create them if they do not exist. If this process instance faults due to an unhandled exception, the application does not start.
The OnShutDown operation is called when an application is stopped, but after stopping and completing all other processes in the application. The OnShutDown operation can be used to implement any post-processing tasks that must be performed for the application after the regular processing is complete. For example, the OnShutDown operation can be used to send an email to administrators notifying them that the application is being stopped.
The activator process can only be configured for an application module. There can be only one activator process for an application module. However, the activator process can invoke one or more subprocesses.
A simple business process can be developed by adding activities in sequence, and the connecting the activities using transitions with or without conditions. Developing a complex business process typically involves developing a component process and one or more subprocesses. Use of subprocesses makes the complex business process easier to understand and debug. At runtime, the in-line subprocesses do not create a new job, but are run on the job created by their calling process.