Mapper for Flexible Object-Data Model Mapping
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
Data Source
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.


