Dataflow architectures view an entire software system as a series of transformations on successive sets of data. Each of these sets is independend of the others. The software is decomposed in data processing elements where data directs the order of computation and processing. – Kai Quian et. al,

In such architectures, data can either flow in linear fashion, or in cycles or any other topology of processing elements. Regardless of the structure, data always moves from one element to another. There is usually no other interaction or dependency between the processing elements than these data connectors.

These connections can be implemented in various ways (I/O streams, sockets, files, queues or other means).

See also the integration patterns.