Within the process client, each worker has its own data area. This data is private to the worker and cannot be accessed by any other workers.
To allow more complex processes, the process module provides a data area in which data can be stored and accessed by more than one worker or group process. This data area is typically linked to a group, effectively providing shared storage for the item that the group represents. In the programme and project example above, module data can be used to store data about a programme or a project that can be then be accessed by the individual workers, projects or programmes.
The module data is accessed using a process identifier, typically from a group but potentially a worker. Within this data area, data is split into a number of named types. Each data type can have one or more records. Like worker data, files are represented through file info data in records.
By default, the module data is stored within nodes within the instance of the process module. However, by creating new types of data driver component, the module can act as a gateway to data stored in other systems.
Within a group or worker process, module data is accessed by a process step that calls back to the process module to put or get data. This call specifies a reference for the data (which ties up to a data component reference), the action (get, put or list), and the data to pass or return. This process step, and the control process steps within the module that service the call, are generated by the component.