A number of items of data from a data source (12) can be processed, and
then supplied to a data destination (16-17). The data can include image
data, text data, numeric data or some other type of data, or a combination of these
types of data. The processing of the data is controlled by a project definition
(14, 71, 101), which includes a plurality of modules selected from a variety
of available modules. The modules have input and output ports, and the project
definition includes binding information which relates input ports to output ports.
The binding information can include a conditional binding (128), which supplies
data to an input port from a selected one of two or more output ports, in dependence
on a condition. A separate feature is that, if data obtained in a given format
from an output port is being supplied to an input port which expects data in a
different format, the data is automatically converted to the format expected by
the input port.