Process data

Processes typically require data to function. For example, data can be introduced to the process as input when the process is initiated or at other activities in the process, and can be used during the process as required. Data can also be provided as output and returned to the process initiator when the process is complete. Processes store data in variables that can be referenced and used for making decisions, or acted on by services operations.

Variables can be used in two ways:

  • Process variables are used to store and access data at run time. The data stored is expected to be different for each process instance, and can be changed at run time. (See Process variables.)

  • Configuration parameters are used to set default data values that apply to all process instances. The data cannot be changed at run time, but can be configured using Administration Console or Workbench. (See Configuration parameters.)

Process input and output data

You use process variables to specify data that can be provided as input when processes are initiated. Similarly, process variables can be used to store output data that is returned to the process initiator when the process is complete. You can also make it mandatory to provide input data when a process is initiated.

The values of the General group of variable properties determine whether a variable stores process input and output data. (See Common variable properties.)

Process data model

Data that is saved for a process is represented internally as a data tree. Each node in the data tree represents a data item that is available to the process. The root node of the tree is named process_data. Below this node are all other data nodes. The following standard nodes are present for all processes:

create_time:
The date and time when the process instance was created.

creator_id:
The identification of the user who initiated the process instance.

id:
The unique identifier for the process instance.

status:
The life cycle status of the process instance.

update_time:
The date and time when the process instance data last changed.

Any other nodes below process_data represent data stored in process variables that have been created for the process. The following graphic illustrates the data tree for a process that has three variables defined and named booleanvar, stringvar, and longvar.

Variables appear in alphabetical order in the data tree. The names of the standard nodes are displayed using italics.

Simple variable types, such as boolean and long, are represented by leaf nodes in the data tree. Some variable types, such as xfaForm and xml, have their own data schema and are represented by nodes that have children. The children nodes represent data that is organized according to the variable’s schema.

Access to process data

You use process data for making decisions during process execution, for providing input data to service operations, and for saving service operation output data. Nodes in the data model can be retrieved using XPath expressions. The data model of a process can be viewed in XPath Builder, which is accessible from any view or dialog box that allows you to express a property value as an XPath expression.