1. A system for accessing information from a plurality of distributed and heterogeneous data sources each having a plurality of users and applications with a plurality of domain perspectives, the architecture comprising: a user domain module operable to act as an interface with the users and the applications by translating queries from the users and the applications into a form recognizable by an aggregation domain module and by receiving responses from the aggregation domain module and translating the responses into a form recognizable by the users and applications; a generic domain module operable to receive translated queries from the user domain module, translate the queries into a form recognizable to a data source domain module, receive responses from the data source domain module, translate the responses into a form recognizable by the user domain module, and transmit the translated responses to the user domain module; and a data source domain module operable to receive the translated queries from the aggregation domain module, identify target data sources to transmit the queries to, translate the queries specific to the identified data sources, receive responses from the identified data sources, translate the responses, and transmit the translated responses to the aggregation domain module; and a knowledge base comprising a data model of the generic domain, data models of each data source, conceptual terminology translations between the user domains and the generic domain and conceptual terminology translations between the generic domain and the data sources.