23. The computing system of claim 21 wherein the at least one data source is an XML file.
21. A computing system for enabling a software application in a computing device to manipulate data through logical views, comprising: a memory; a definitions file having a plurality of sections that define a correspondence between stored data in a plurality of data sources and one or more logical views, the plurality of data sources containing at least one data source that is not a relational database, each of the plurality of data sources storing data; and a join engine stored on the memory and configured, when executed, to automatically interface between at least one logical view and a corresponding plurality of stored data sources, including the at least one data source that is not a relational database, such that, when an operation is performed on the at least one logical view, underlying stored data is automatically manipulated in the corresponding plurality of stored data sources.