Transaction Router Module for Multi-ORM Database Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database transaction processing techniques are limited to handling operations defined by a single object relational mapping (ORM) library, preventing applications from seamlessly integrating newer persistence frameworks with legacy frameworks and accessing different data sources within the same transaction context.

Innovation Solution

A transaction router module translates application operations from multiple ORM libraries into database operations, allowing applications to manage database transactions across different data sources by selecting appropriate ORM libraries and transaction manager modules, enabling the use of various persistence and message broker frameworks within a single transaction context.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all operations in a database transaction are defined by the same ORM library, then transaction processing is simple and consistent, but applications cannot integrate multiple persistence frameworks or access different data sources within the same transaction context

Engineering Contradiction:
Improveability to integrate multiple persistence frameworksVSAvoidtransaction processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the transaction processing system into multiple transaction manager modules, each responsible for a specific ORM library. The router divides incoming transaction requests into sub-requests based on the ORM library type, allowing each segment to be processed independently by its dedicated transaction manager while maintaining overall transaction coherence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The router module serves as a universal component that handles multiple types of ORM library requests (DBAL, Hibernate, Spring JDBC) through a single interface. Each transaction manager module is designed to handle its specific ORM library type universally across different data sources and operation types, providing multi-functional capability within a standardized framework.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If a single ORM library is used for all operations, then the system architecture is simple and easy to maintain, but newer persistence frameworks cannot be integrated with legacy frameworks

Engineering Contradiction:
Improveframework integration capabilityVSAvoidsystem maintenance ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The router module acts as an intermediary between the application layer and multiple transaction manager modules. It receives transaction requests, identifies the required ORM library type, and routes to the appropriate transaction manager. This mediator pattern allows legacy and newer frameworks to coexist without direct integration complexity, as the router handles the coordination and translation between different ORM paradigms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements a nested structure where the router module contains multiple transaction manager modules, each specialized for a specific ORM library. Within each transaction manager, there are nested components for handling specific operation types (queries, updates, transactions). This nested organization allows the system to maintain simplicity at each level while providing comprehensive multi-framework support at the overall system level.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11874858B2Processing techniques for database transaction requests with operations defined by different ORM libraries
Publication Date: 2024.01.16 PAYPAL INC
  • US11874858B2 patent drawing
  • US11874858B2 patent drawing
  • US11874858B2 patent drawing

AI summary

Techniques are disclosed relating to processing database transactions that include application operations defined by different object relational mapping (ORM) libraries. A transaction router module executing on a computer system receives, from an application, a request for a first database transaction, where the first database transaction includes first and second application operations. The transaction router module then translates the first application operation to one or more first database operations using a first ORM library and the second application operation to one or more second database operations using a second ORM library. Then, the transaction router module determines one or more database connections for the one or more first database operations and the one or more second database operations. Such techniques may advantageously allow applications to switch between using different persistence frameworks and message broker frameworks without substantial adjustments to application code.