Patent attributes
A data access layer operable to manage data requests from one or more software applications is provided. The data access layer includes a query processor, a metadata repository, a transaction data store, and an exception handler. The query processor manages transaction processing of data requests between applications, such as commercial-off-the-shelf software applications, and data stores. The metadata repository maintains a logical data model related to the data to provide instructions regarding handling the data requests from the application. The transaction data store maintains transaction information. A data warehouse may be updated along with the data stores by publication and subscription of data updates. When an error related to processing the one of the data requests is detected, the exception handler uses the transaction information to return any of the data to its previous state using compensating transactions.