Persistence API Up-calls for Business Logic Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tier web applications, there is a lack of integration between the persistence tier and the business logic tier, leading to complexities when operations across tiers require compliance with business constraints, often resulting in the need for up-calls that blur tier boundaries and tie organizations to specific persistence-tier providers.

Innovation Solution

A platform-independent persistence API that makes up-calls to business logic by determining the relevant entity type and function at the middle tier, executing commands at the persistence tier, and managing transactions to ensure compliance with business rules without requiring knowledge of the persistence tier implementation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If triggers or stored procedures are implemented at the persistence tier to make up-calls to the business tier, then business logic compliance can be enforced, but tier boundaries are blurred and organizations are tied to specific persistence-tier providers

Engineering Contradiction:
Improvebusiness logic complianceVSAvoidtier independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a persistence API as an intermediary layer between the persistence tier and the business tier. This API mediates interactions by providing a standardized interface that enforces business logic compliance through up-calls to the business tier while maintaining clear tier boundaries. The persistence API acts as a mediator that translates persistence operations into business logic-compliant actions without requiring direct integration between tiers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The persistence API provides a universal interface that works across different persistence-tier providers (relational databases, NoSQL databases, file systems, etc.). It implements multi-functionality by handling various persistence operations (create, read, update, delete) and automatically routing them through the business tier for compliance checking, making the system adaptable to different persistence technologies without sacrificing business logic enforcement.

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

2Productivity

If multi-tier architecture is used to improve performance and scalability, then system modularity and independent replacement are enabled, but integration between tiers becomes complex and requires up-calls

Engineering Contradiction:
Improveperformance and scalabilityVSAvoidtier integration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent reinforces the segmentation of the system into distinct tiers (persistence tier, business tier, presentation tier) with clear boundaries. The persistence API is segmented as a separate component that handles persistence operations independently, while the business tier handles business logic separately. This segmentation maintains modularity and allows independent replacement of each tier while managing integration complexity through standardized interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The persistence API serves as an intermediary that simplifies tier integration by providing a standardized interface for persistence operations. It handles the complexity of communication between tiers by automatically managing up-calls to the business tier for compliance checking, thereby reducing the integration burden on application developers while maintaining the benefits of modular architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If persistence tier implementation details are hidden from business logic, then platform independence is achieved, but the business tier cannot directly optimize persistence operations

Engineering Contradiction:
Improveplatform independenceVSAvoidpersistence optimization capability
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The persistence API acts as an intermediary that hides persistence implementation details from the business tier while still enabling optimized persistence operations. It provides a simplified, platform-independent interface that abstracts away database-specific details, yet maintains the capability to perform optimized operations by routing through the business tier for compliance checking and optimization guidance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The persistence API provides a universal interface that works across different platforms and persistence technologies. It implements multi-functionality by handling various persistence operations while maintaining platform independence. The business tier can optimize persistence operations through the standardized interface without needing to know the underlying implementation details, achieving both portability and optimization capability.

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

Data Source

PatentUS9135089B2Method and apparatus for facilitating a persistence application programming interface
Publication Date: 2015.09.15 INTUIT INC
  • US9135089B2 patent drawing
  • US9135089B2 patent drawing
  • US9135089B2 patent drawing

AI summary

One embodiment of the present invention provides a system for implementing a persistence application programming interface (API) that is platform independent and can make up-calls to business logic. During operation, the system receives a request at the API to execute a command at a persistence tier of an n-tier distributed application. In response to the request, the system determines an entity type for an entity affected by the command. Next, the system identifies a function at a middle tier of the n-tier distributed application that is associated with the entity type and the command, wherein the middle tier includes the business logic. The system then sends an instruction to the middle tier to execute the function. Finally, upon receiving a confirmation at the API that the function executed, the system executes the command at the persistence tier.