1. A computer implemented method comprising: providing a data model having a set of entity types and a set of attributes for each entity type for the set of entity types; providing customizing data for the data model, the customizing data indicating data sources for the attributes and describing data structures being provided by the data sources; receiving a query from an application program, the query requesting attribute data for at least a first attribute of the set of attributes of one of the entity types; processing the query by a query processing module that determines whether data sources and data structures are available based on the customizing data in the data model; determining, from the customizing data, if a single data source for the first attribute data of the one of the entity types is available; if a single data source is available, providing a query result from the single data source; if a single data source is not available, determining at least first and second ones of the data sources, which in combination, comprise the first attribute data of the one of the entity types; generating a sub-query for each one of the at least first and second data sources, a first sub-query being generated to obtain a first tabular data from the first data source and a second sub-query being generated to obtain a second tabular data from the second data source; and combining the results of the sub-queries from the at least first and second data sources to provide a query result; wherein the determination of the at least first and second data sources is made by a data source descriptor, the data source descriptor allowing replacement of a data source without making any modifications to the data source descriptor.