1. A method for providing a query to obtain data from a data source using a client application, the method comprising: providing, by a computer, a metadata model including model objects representing the data source, the metadata model having a query layer and a package layer, the query layer providing a business view of the data in the data source, the query layer including query subjects, wherein the query subjects directly describe actual physical data within an underlying database, are used in creating reports, and are abstracted and separate from the underlying database that includes physical data from one or more data sources, and wherein the package layer includes packages having direct references to the query subjects; generating a query specification based on a user input using the client application, the query specification is not in a form applicable to the data source directly; translating the generated query specification by the computer into a query applicable to the data source based on the query subjects referred to by the packages in the package layer in the metadata model, wherein the query is executed using a data source specification language of the data source, and wherein the query includes data query language statements that are embedded within the query subjects in the metadata model; and providing the query to the data source for execution.