Patent ID: 7797304

Claim:
A system for processing an application request for data, comprising: a processor; an object services layer for accepting a request, wherein the request comprises a collection expression comprising at least table subqueries and expressions in a from clause of a database query expressed in any one of a plurality of application data models and captures data semantics independent of the data stores and deployment tiers for an entity data model comprising a collection of database and non-database data types; an object services layer for generalizing queries for collections of database and non-database types using extensions driven from metadata associated with each data type in the collection to create uniform expressions for each data type in the collection; a map provider layer that supplies a plurality of mapping transforms for transforming the request into a canonical expression tree representative of a database query and mapping all data from the entity data model, wherein the mapped entity data model comprises an expression for each entity within the collection of database and non-database data types; and a bridge layer for converting the canonical expression tree into a modified expression tree and performing data-model compensation, said modified expression tree being adapted to at least one requirement of a first database or a data store; wherein said bridge layer is configured to convert the expression tree into any of a plurality of data model capabilities adapted to requirements of any of a plurality of databases and is configured to return a result to said bridge layer.