A system for integrating data among heterogeneous source applications and
destination applications including a knowledge repository containing
temporary data storage for storing data from the source applications
during processing for population in the destination applications, a
library of data elements each providing a discrete data manipulation
friction, configuration data storage for storing user-provided information
describing the integration environment, and a plurality of add-on modules
or cartridges which each include a plurality of predefined instruction
sets defining chains of data elements to perform interface functions
corresponding to a particular destination application. The underlying
interface communication and processing functions are performed by an
active component (or engine) according to the configuration data and the
module instruction sets. The active component is driven by the repository
data to load source data into the temporary data storage, translate,
synchronize, and validate that data, then interface the data to a
destination application. A configuration interface permits the user to
configure the system.