1. A system for searching and retrieving data from heterogeneous data sources through a network interface, the system comprising: a plurality of heterogeneous data sources; a configure element for communicating with each data source and for configuring and selecting the data sources from which to retrieve data; a search element for communicating with the configure element and each selected data source, and for retrieving data in accordance with a task request; and a search translator for each data source, to communicate with both the configure element and the search element.