Layered architecture that separates data sources, data integration, data analytics, and presentation layers