A model-driven dynamically-configurable framework for Extraction, Transformation and Loading