Mapper for Flexible Object-Data Model Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Object-relational mappers impose significant constraints on the implementation of objects, often conflicting with best practices in programming, limiting flexibility and efficiency in data access operations.

Innovation Solution

A mapper that receives user-supplied expressions to specify the behavior of application objects, aggregates this data to map application requests into operations on an abstract data model, and translates these operations into actions for data access, allowing for flexible and efficient data manipulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If object-relational mappers are used to expose data via strongly-typed objects, then data access is simplified and type safety is improved, but the objects must implement specific patterns that conflict with programming best practices and reduce flexibility

Engineering Contradiction:
Improvedata access simplicityVSAvoidobject implementation flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mapping layer that sits between the data access operations and the application objects. This mapper translates standard data access operations into object-specific operations without requiring the objects to implement ORM-specific patterns. The mapper acts as a mediator that adapts the interaction, allowing objects to maintain their natural implementation while still enabling simplified data access through the mapping layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If user-defined expressions are allowed to specify object behavior, then flexibility and alignment with programming best practices are improved, but the complexity of the mapping system increases

Engineering Contradiction:
Improveobject behavior customizationVSAvoidmapping system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent allows user-defined expressions to specify object behavior by changing the parameters of the mapping configuration. Instead of requiring complex structural changes to the mapping system, the approach modifies the behavioral parameters through expressions that define how operations map to object-specific actions. This enables customization while maintaining a relatively simple mapping framework.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8392462B2Mapping from objects to data model
Publication Date: 2013.03.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8392462B2 patent drawing
  • US8392462B2 patent drawing
  • US8392462B2 patent drawing

AI summary

Aspects of the subject matter described herein relate to mapping from application objects to an abstract data model. In aspects, a mapper receives registrations that indicate behavior (e.g., how objects are constructed, modified, or examined) of application objects. The behavior may be specified using user-supplied expressions. The mapper aggregates this data and uses it to map application requests for data access into one or more operations that operate on the abstract data model. A data access layer may then translate the operations into actions to access data corresponding to the requests from a store. If appropriate, data obtained from the store may then be inserted into application objects as indicated by the registrations.