OData Interceptor for Backend-Controlled UI Control Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Internet applications face performance issues due to excessive interactions between client devices and backend servers for controlling user-interface components, leading to inefficient developer workflows and poor user experiences, especially in mobile networks with limited bandwidth.
Innovation Solution
A user-interface server intercepts OData requests between client devices and backend systems, applying data transformation and manipulation techniques to reduce client-server interactions by appending user-interface control information directly to OData responses, allowing client-executable expressions that minimize network resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If field control is implemented using a special field inside an OData service, then backend control of user interface is achieved, but numerous backend interactions are required causing performance issues
Solution Approach 1:
The patent applies preliminary action by embedding executable expressions and control logic directly into the OData service metadata during service definition. This allows the client device to automatically execute field control logic locally without requiring continuous backend interactions, thus maintaining backend control while improving performance.
Solution Approach 2:
The patent introduces an intermediary mechanism by using executable expressions embedded in metadata as a mediator between backend control logic and frontend user interface. This intermediary layer enables automated local execution of control logic, reducing the need for direct client-server interactions while preserving backend control capabilities.
2Productivity
If field control is implemented statically on the client device, then network interactions are reduced, but user experience deteriorates due to lack of dynamic control
Solution Approach 1:
The patent applies dynamics by using executable expressions embedded in OData metadata that can dynamically evaluate and adjust field control properties based on runtime data and business logic. This enables the system to maintain reduced network interactions while providing dynamic, context-aware user experience adaptations.
3Speed
If backend logic is duplicated at the frontend client device, then control responsiveness improves, but developer efficiency deteriorates due to maintenance complexity
Solution Approach 1:
The patent applies the extraction principle by removing the need to duplicate backend logic at the frontend. Instead, executable expressions are embedded directly in the OData service metadata, allowing the client device to execute control logic locally without requiring separate frontend implementations. This maintains responsiveness while simplifying development and maintenance.
4Measurement precision
If numerous interactions are required between client device and backend server, then control precision is maintained, but network resource consumption increases
Solution Approach 1:
The patent applies preliminary action by pre-embedding executable control logic and expressions in the OData metadata. This allows the client device to execute control operations locally with high precision without requiring continuous backend interactions, thereby maintaining control precision while significantly reducing network resource consumption.
Data Source
AI summary
A system and method for transmitting data using a data transfer protocol, including receiving, at the first device, a request object from the second device, receiving, at the first device, a response object in response to the request object, transforming the response object by appending a one or more logical expressions for controlling at least one user-interface component of an application hosted at the second device, varying the format of the response object to generate a transformed response object, and sending the transformed response object to the second device.


