Modeling and Supporting ETL Processes via a Pattern-Oriented, Task-Reusable Framework