1. A method comprising: receiving data from any one of a plurality of source systems, wherein the data received from each source system has a respective first data stream type; determining a recipient system of the data from among a plurality of candidate recipient systems, wherein determining the recipient system comprises determining a second data stream type accepted by the recipient system; directing the data to a first processing module of a plurality of processing modules based upon the source system, the recipient system and the first and second data stream types, wherein the first processing module is associated with a respective pair of first and second data stream types; processing the data with the first processing module based upon the recipient system and the second data stream type accepted by recipient system; and routing the data following the processing to at least one of a plurality of candidate destinations including the recipient system.