Query Framework Service for Extensible BI Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Prior business intelligence (BI) query engines are not extensible, data agnostic, and cannot consistently support the requirements of corporate performance management (CPM) solutions, leading to an inconsistent user experience due to fragmented and inconsistent sub-engines.
Innovation Solution
A query framework system that includes a query framework service, a provider application programming interface (API) for defining a consistent API, and a configuration repository to store providers and their properties, allowing for distributed query processing across multiple reusable components and supporting data-agnostic BI queries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If prior BI query engines use fragmented sub-engines for different data sources, then they can support specific data source requirements, but they produce inconsistent user experience and lack extensibility
Solution Approach 1:
The patent implements a universal query framework that serves multiple data source types through a single consistent interface. The framework defines standardized query and result set interfaces that work across relational databases, OLAP systems, and other data sources, eliminating the need for separate sub-engines and providing consistent user experience while maintaining adaptability to different data sources.
Solution Approach 2:
The query framework acts as an intermediary layer between the user and various data sources. It translates user queries into data-source-specific operations and returns standardized result sets, mediating between the need for data source specificity and user experience consistency without requiring users to know the underlying data source differences.
2Adaptability or versatility
If prior BI query engines use multiple specialized sub-engines, then they can handle different query types, but the system complexity increases and maintainability decreases
Solution Approach 1:
The patent segments the query processing functionality into independent, interchangeable components including query parsers, result set processors, and data source adapters. Each component handles a specific aspect of query processing and can be independently developed, tested, and maintained, reducing overall system complexity while maintaining versatile query processing capability.
Solution Approach 2:
The framework provides a universal query processing architecture that handles different query types through a single unified engine rather than multiple specialized sub-engines. The standardized interfaces and modular components enable the system to process various query types consistently, reducing architectural complexity while maintaining adaptability.
3Productivity
If prior BI query engines are hard-coded for specific data sources, then they provide optimized performance for those sources, but they lack extensibility and cannot support new data sources easily
Solution Approach 1:
The query framework implements dynamic adaptability through pluggable data source adapters that can be added or removed based on requirements. The standardized interfaces allow new data sources to be integrated without modifying the core framework, enabling the system to dynamically support new data sources while maintaining optimized performance through adapter-specific implementations.
Solution Approach 2:
The framework uses configurable parameters and metadata to adapt to different data sources. By changing configuration parameters and adapter implementations rather than code structure, the system can support new data sources while maintaining optimized query execution performance through parameter-driven adaptations.
Data Source
AI summary
A query framework system is provided. The query framework system comprises a query framework service for consuming a query and returning a result set, a provider application programming interface for defining a consistent application programming interface for providers, one or more providers incorporating query processing logic, and a configuration repository for storing the list of the providers in the query framework system and their properties.


