The exchange of information and the cooperation of enterprise information systems play a key role in the development of applications based on merging data from a diversity of sources. Data sources can be stored in traditional databases and are increasingly available in semi-structured formats, including dynamic web pages, which can be accessed through web forms. To alleviate the inherent heterogeneity and security issues involved in merging data sources, service paradigm, particularly data-providing services, are increasingly used to extract and to share data from various sources. In this paper, we propose a service based environment for dynamically creating applications by extracting and combining data through the composition of data-providing services. Data-providing services are described by generalized tree patterns, which are used to select the sources that are relevant to query processing. We discuss how to select sets of data-providing services to semantically cover the concepts used by an application.