1. A computer-based method for data integration comprising: receiving, by a data integration computer, a first request for a first subset comprising a first data element subset and a first raw data subset derived from data, wherein said data includes at least one of raw data and data elements relating to said raw data, and wherein said data includes said first raw data subset and said first data element subset; receiving, by said computer, said data from a data source; assessing, by said computer, said data for integration into an enterprise data architecture; integrating, by said computer, said first subset into said enterprise data architecture based upon said assessing; creating, by said computer, metadata related to said data and based upon said assessing, wherein said metadata comprises data element definitions associated with said data elements and at least one of data extraction logic and data transformation logic; caching, by said computer, said data and said metadata to create cached data and cached metadata; receiving, by said computer, a second request for a second subset comprising a second data element subset and a second raw data subset derived from said data; analyzing, by said computer and based upon said second data element subset, said enterprise data architecture and said cached metadata to determine a third data element subset comprising data elements present in said cached data but not present in said enterprise data architecture; integrating, by said computer, said third data element subset into said enterprise data architecture; analyzing, by said computer and based upon said second raw data, said enterprise data architecture and said cached data to determine third raw data, said third raw data being present in said cached data but not present in said enterprise data architecture; extracting, by said computer and based upon said data extraction logic, said third raw data; and integrating, by said computer, said third raw data into said enterprise data architecture.