Extensible Application Platform Type System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current business applications are inflexible, limiting non-programmers' ability to customize and extend data management capabilities, as they are either database-centric and complex or spreadsheet-based and lacking in multi-user enterprise features.

Innovation Solution

The Extensible Application Platform (XAP) uses an XML-based application model with declarative semantics, separation of data and metadata, and a flexible type system, allowing non-programmers to build and customize applications that operate on shared databases via a spreadsheet-like interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional database-driven business applications are used, then data management and multi-user collaboration are improved, but ease of customization and extensibility deteriorates

Engineering Contradiction:
Improvedata management capabilityVSAvoidcustomization capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the application into two distinct parts: data (stored in the database) and metadata (stored separately). This separation allows users to customize metadata independently without affecting the core data management functionality, resolving the contradiction between reliable data management and ease of customization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic validation rules that can change over time. Validation rules are not fixed but can be modified by users based on evolving business needs. This dynamic approach enables the system to maintain reliable data management while adapting to changing customization requirements.

Inventive Principle:
Principle #15Dynamics

2Reliability

If traditional business applications are used, then data integrity and security are improved, but ease of operation for non-programmers deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoiduser accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent enables non-programmers to create, modify, and validate applications through a user-friendly interface. Users can define their own validation rules and customize applications without writing code, making the system self-serviceable while maintaining data integrity through automated validation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary layer between users and the database. This layer provides a simplified interface for data entry and manipulation while automatically handling data integrity constraints through validation rules, shielding users from database complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If spreadsheet-based applications are used, then ease of customization and flexibility are improved, but data management capability and multi-user support deteriorate

Engineering Contradiction:
ImproveflexibilityVSAvoiddata management capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent merges the flexibility of spreadsheet-like interfaces with the robust data management capabilities of database systems. Users can customize applications with the same ease as spreadsheets while automatically benefiting from database-level data integrity, security, and multi-user support.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal platform that handles both data management and application customization within a single system. The same system that provides reliable database operations also enables flexible user-defined validation rules and custom applications.

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

4Measurement precision

If validation rules are applied to all XQuery states, then completeness of validation is improved, but processing time and complexity increase

Engineering Contradiction:
Improvevalidation completenessVSAvoidvalidation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies validation rules selectively based on the current state of the data. Different validation rules are applied to different states (e.g., draft state vs. published state), allowing the system to maintain validation completeness for relevant states while skipping unnecessary validation for others, thus reducing processing time.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial validation by only checking validation rules that are relevant to the current operation and state. Rather than validating all possible rules every time, the system performs partial validation focused on the specific changes being made, reducing unnecessary processing time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8924416B2Type system for building extensible business applications
Publication Date: 2014.12.30 ORACLE INT CORP
  • US8924416B2 patent drawing
  • US8924416B2 patent drawing
  • US8924416B2 patent drawing

AI summary

A platform (referred to herein as Extensible Application Platform, or XAP) for developing extensible business applications. In one set of embodiments, XAP can include an Extensible Markup Language (XML) based application model that is designed to support a high degree of application extensibility. For example, the XAP application model can support declarative definition of application semantics, separation of application data and metadata, and a flexible type system that allows constraints and calculations (e.g., XQuery constraints and calculations) for a data object instance (e.g., an XML document) to change over time. In certain embodiments, the XAP application model can be implemented via a server-side database/application engine that is configured to interoperate with a spreadsheet-like, client-side user interface. Using the spreadsheet-like UI, a non-programmer can build, customize, and run an application workflow that operates on top of a shared database like a traditional business application.