Incremental approach to an object-relational solution
First Claim
1. A system that facilitates an incremental approach to object-relational mapping by providing functionality, that is typically found in an object layer, on top of an existing value layer API, the system comprising the following components:
- a storage-specific provider component that exposes an API at a value layer of the system for accessing data within a data store, the API conforming with a common data model such that requests made through the API include a connection, a command, and a result object, wherein data returned by the storage-specific provider component is formatted as flat relational data;
a mapping provider component that maps the data returned by the storage-specific provider component to a rich relational schema, the rich relational schema defining a format for the data that includes hierarchical and inheritance information, but without materializing the data as an object, the mapping provider component further exposing a rich schema API at the value layer through which the data formatted according to the rich relational schema is retrieved, the rich schema API conforming with the common data model such that requests made through the rich schema API include a connection, a command, and a result object such that requests for data may be made through the API exposed by the storage-specific provider component or the rich schema API exposed by the mapping provider component using the same API calls at the value layer;
an object layer object mapping component that maps data returned by the mapping provider component to an object schema in accordance with the common data model, wherein a processor operatively coupled to memory implements the storage-specific provider component, the mapping component and the object layer object mapping component; and
a value layer services component that operates in terms of the common data model, wherein the value layer services comprise at least one of returning results with inheritance, returning associations within results, or returning compositions within results without materializing a class representing the value, and wherein the value layer services component includes a common component that compensates for a command operator not supported by the data store.
2 Assignments
0 Petitions
Accused Products
Abstract
The claimed subject matter relates to an architecture that can facilitate an incremental approach to an Object-Relational mapping solution. The architecture can provide a rich data model that is defined at the value layer. The rich data model can expose an interface that conforms with the interfaces exposed by common storage-specific data providers. The architecture can extend common storage-specific data provider to support common command representations, and provide entity services that work in terms of the rich data model as well as object services such as identity management, updating and change tracking.
-
Citations
14 Claims
-
1. A system that facilitates an incremental approach to object-relational mapping by providing functionality, that is typically found in an object layer, on top of an existing value layer API, the system comprising the following components:
-
a storage-specific provider component that exposes an API at a value layer of the system for accessing data within a data store, the API conforming with a common data model such that requests made through the API include a connection, a command, and a result object, wherein data returned by the storage-specific provider component is formatted as flat relational data; a mapping provider component that maps the data returned by the storage-specific provider component to a rich relational schema, the rich relational schema defining a format for the data that includes hierarchical and inheritance information, but without materializing the data as an object, the mapping provider component further exposing a rich schema API at the value layer through which the data formatted according to the rich relational schema is retrieved, the rich schema API conforming with the common data model such that requests made through the rich schema API include a connection, a command, and a result object such that requests for data may be made through the API exposed by the storage-specific provider component or the rich schema API exposed by the mapping provider component using the same API calls at the value layer; an object layer object mapping component that maps data returned by the mapping provider component to an object schema in accordance with the common data model, wherein a processor operatively coupled to memory implements the storage-specific provider component, the mapping component and the object layer object mapping component; and a value layer services component that operates in terms of the common data model, wherein the value layer services comprise at least one of returning results with inheritance, returning associations within results, or returning compositions within results without materializing a class representing the value, and wherein the value layer services component includes a common component that compensates for a command operator not supported by the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer storage medium having stored thereon the following computer executable components:
-
a storage-specific provider component that exposes an API at a value layer of a computer system for accessing data within a data store, the API conforming with a common data model such that requests made through the API include a connection, a command, and a result object, wherein data returned by the storage-specific provider component is formatted as flat relational data; a mapping provider component that maps the data returned by the storage-specific provider component to a rich relational schema, the rich relational schema defining a format for the data that includes hierarchical and inheritance information, but without materializing the data as an object, the mapping provider component further exposing a rich schema API at the value layer through which the data formatted according to the rich relational schema is retrieved, the rich schema API conforming with the common data model such that requests made through the rich schema API include a connection, a command, and a result object such that requests for data may be made through the API exposed by the storage-specific provider component or the rich schema API exposed by the mapping provider component using the same API calls at the value layer; an object layer object mapping component that maps data returned by the mapping provider component to an object schema in accordance with the common data model, wherein a processor operatively coupled to memory implements the storage-specific provider component, the mapping component and the object layer object mapping component; and a value layer services component that operates in terms of the common data model, wherein the value layer services comprise at least one of returning results with inheritance, returning associations within results, or returning compositions within results without materializing a class representing the value, and wherein the value layer services component includes a common component that compensates for a command operator not supported by the data store.
-
Specification