All integration solutions must adhere to a well defined separation of concerns which do not unnecessarily bleed into each other.
All integration solutions (for both the sourcing and distribution of data) must isolate the application specific aspects regarding connectivity (namely the application API/protocols).
Application specific data contructs containing the business data will be presented to and from the application. These contructs will exhibit syntax and semantics specific to the application integration. These must be resolved away from the application specifics to a common business form for sourced data and to the application specifics from a common business form for distributed data.
The common data (in terms of syntax and semantics) may require further "massage" and "value-add" in the form of filtering, routing, extension, mapping, aggregation and/or splitting. These operations are higher level data operations than that of the Application Data Contructs as the data is now operated on based on known business events.