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.

Parent Process
A process can call another process, or a subprocess. The process that makes the call is referred to as a caller process or a parent process.
Subprocess
A subprocess can be called by a parent process, or another subprocess. In the case where a subprocess is calling another subprocess, the subprocess that makes the call is the parent process. The called process is referred to as a subprocess or a child process. At runtime, inline subprocesses are run on the same engine thread as the caller process while the non-inline subprocesses use different engine threads and are run 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 an 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 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.

For information on how to create an activator process, see "Creating an Activator Process" in TIBCO BusinessWorks™ Container Edition Application Development.

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.

Note: For more information about the TIBCO Business Studio for BusinessWorks development environment, see Design-time Concepts.