OData Service Pattern-Based Data Source Binding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of maintaining an overview of supported OData requests in OData services leads to high complexity, additional costs, and unnecessary use of business resources, as existing data sources are optimized for specific use cases rather than OData service requests, making it difficult to provide an optimized solution for every possible OData request.
Innovation Solution
The implementation of pattern-based data source binding in OData services, where incoming requests are compared to a list of predefined OData access patterns, with a rule table defining data source binding for each pattern, allowing for efficient selection of the most suitable data source based on prioritized rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If an OData service maintains an overview of all possible request combinations to ensure efficient handling, then request handling efficiency is improved, but system complexity and maintenance cost increase
Solution Approach 1:
The patent segments the complex task of handling all possible OData request combinations into manageable units by introducing access patterns that categorize requests based on their characteristics. Instead of maintaining a comprehensive overview of every possible request combination, the system divides requests into pattern-based groups, each with predefined data source binding rules, thereby reducing overall system complexity while maintaining efficient handling for common scenarios
Solution Approach 2:
The patent applies preliminary action by pre-defining access patterns and their associated data source bindings before runtime. During design time, developers can configure which data sources bind to which access patterns, creating a predefined mapping that eliminates the need for complex runtime analysis of all possible request combinations. This preconfiguration approach simplifies the runtime system while ensuring efficient request handling through predetermined rules
2Productivity
If data sources are optimized for specific use cases rather than general OData requests, then performance for specific scenarios is improved, but adaptability to handle diverse OData requests deteriorates
Solution Approach 1:
The patent implements universality by creating access patterns that serve as universal intermediaries between diverse OData requests and specialized data sources. Each access pattern represents a generalized request template that can match multiple specific requests, allowing the same pattern-bound data source to handle various requests with similar characteristics. This multi-functionality approach enables optimized data sources to serve multiple use cases through pattern matching, thereby maintaining both specialization and adaptability
Solution Approach 2:
The patent introduces access patterns as intermediary elements between OData requests and data sources. These patterns act as mediators that translate diverse, specific OData requests into standardized patterns that can be bound to optimized data sources. The intermediary layer decouples the specificity of individual requests from the optimization of data sources, allowing requests to be routed to appropriate optimized sources through pattern matching without requiring each data source to handle every possible request type
Data Source
AI summary
The present disclosure describes methods, systems, and computer program products for providing pattern-based data source binding in OData services. One design-time computer-implemented method includes receiving an OData request from a requestor, traversing, by a computer, a rule table to determine whether an exact match for the received OData request exists in the rule table, upon a determination that an exact match for the received OData request exists in the rule table, forwarding the OData request to a bound data source specified in the rule table, and transmitting a result to the requestor following processing of the OData request by the bound data source.


