Processes

Processes capture and describe the flow of business information in an enterprise between different data sources and destinations.

Processes are comprised of 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.

Parent Process
A process can call another process. The calling process is referred to as a caller process or a parent process.
Subprocesses
A process can be also called by another process. The called process is referred to as a subprocess or a child process. A parent process can call a subprocess into two ways: inline and non-inline. At runtime, inline subprocesses are executed on the same engine thread as the caller process while the non-inline subprocesses use different engine threads and are executed on the new threads.
Component Process
The execution of a process is triggered by various events. Often the business logic that is designed to react to a particular event is spread across multiple processes. One of the processes is special and it reacts to the original event and triggers the execution of the other processes. This special process is referred to as the component process or main process. A component process is responsible for initiating the job at run time.

A component process is designed to react to various events and these events are triggered by Processes and Bindings.

Process Services
A process can provide services to other processes. A process service exposes the operations provided by the process and is implemented using a WSDL or a JSON file. When the process is implemented by a component, the process services are exposed as component services, which then need to be configured using bindings.
Process References
A process can consume services provided by other processes or by external service providers. A process reference exposes the operations consumed by the process and is implemented using a WSDL or a JSON file. A process reference can be configured to invoke a process or a external service.

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.

Activator Process
An activator process is a special process that can be used to perform pre-processing and post-processing tasks when the application is started and stopped respectively. The activator process contains a process service with two operations: OnStartup and OnShutDown.

The OnStartup operation is called when an application is started, but before executing 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 then create them if they do not exist. Furthermore, if this process instance faults due to an unhandled exception, the application is not started.

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 and there can be only one activator process per application module. However, the activator process can invoke one or more sub-processes.

For information on how to create an activator process, see section "Creating an Activator Process" in the Application Development guide.

A simple business process can be developed by adding activities in sequence, and then 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, in-line subprocesses do not create a new job, but are executed on the job created by their calling process.

Note: See Design Time Concepts for details about theTIBCO Business Studio for BusinessWorks development environment.