Embedding Database Procedures in Application Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems require separate development tools and cumbersome processes for creating and integrating database procedures with applications, leading to inefficiencies and increased complexity.

Innovation Solution

Embedding database procedures directly into application source code, allowing for seamless integration and execution within the database, eliminating the need for separate toolsets and simplifying the development process by using a unified language framework.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If database procedures are created and integrated using separate development tools, then database functionality can be extended, but the development process becomes complex and time-consuming

Engineering Contradiction:
Improvedatabase functionalityVSAvoiddevelopment process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the development of database procedures directly into the application source code environment. Developers can write, compile, and deploy database procedures using the same integrated development environment (IDE) and programming language as the application code, eliminating the need for separate database development tools and simplifying the overall development process.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent enables the application programming environment to serve multiple functions: it can both develop application code and develop database procedures. The same compiler, debugger, and deployment mechanisms are used for both application programs and database procedures, making the development system universal and reducing complexity.

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

2Adaptability or versatility

If separate toolsets are used for application and database procedure development, then specialized functionality is available, but integration becomes cumbersome

Engineering Contradiction:
Improvespecialized functionalityVSAvoidintegration process
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent combines application development and database procedure development into a single integrated environment. The IDE provides unified support for both, allowing developers to write, compile, debug, and deploy both types of code without switching between different toolsets, thereby simplifying integration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary mechanism where the application source code acts as a container for database procedures. Procedures are embedded within or linked to application code modules, allowing seamless integration and execution without requiring separate deployment processes or complex interface definitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If database procedures are developed externally, then database-specific optimizations are achieved, but syntax errors and compatibility issues increase

Engineering Contradiction:
Improvedatabase optimizationVSAvoidsyntax correctness
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent implements immediate feedback mechanisms within the integrated development environment. The compiler or interpreter provides real-time syntax checking, error detection, and compatibility validation for database procedures as they are written, allowing developers to correct issues before deployment and ensuring syntax correctness.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary validation and compilation checks on database procedures during the development phase within the IDE. Syntax errors, type mismatches, and compatibility issues are detected and resolved before the procedures are deployed to the database, ensuring higher precision and reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10061800B2Embedding database procedures in data-driven applications
Publication Date: 2018.08.28 SAP SE
  • US10061800B2 patent drawing
  • US10061800B2 patent drawing
  • US10061800B2 patent drawing

AI summary

Disclosed herein are systems and methods for embedding database procedures in data-driven software applications written in a language different from the database-procedure language. For example, in some embodiments, the hosting application may be written in ABAP whereas the database procedure may be written in SQLScript. In various embodiments, the database procedures are encapsulated in specially marked methods of the host application, which, when called at runtime, cause the database procedures to be created in a database catalog and executed on a database server.