A number of items of data from a data source (12) are to be processed, and then supplied to a data destination (16–17). Each item of data may be image data, text data, numeric data or some other type of data, or a combination of these types of data. The processing of each data item is controlled by a project definition (14, 71, 101), which includes a plurality of modules selected from a variety of available modules (Tables 1–4). The modules have input and output ports which are interrelated by binding information. Each project definition can be developed on one machine (211, 226), and then transmitted through a network (208, 206) to a different location on the network, where the project definition will be stored and/or executed by at least one different machine (212, 221–223).