Data Contract Binding Layer for Modular Application Design
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enabling interaction between Lifion Development Platform (LDP) components requires specific binding mechanisms, making it costly and difficult to change application logic or data access/processing methods without altering affected bindings, which complicates maintaining a consistent design-time experience.
Innovation Solution
Data contracts are introduced to define interfaces between application components, hiding implementation details and allowing components to invoke processes without knowing how they are implemented, enabling independent evolution of application logic and platform components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binding mechanisms are used to enable interaction between LDP components, then components can communicate and interact, but it becomes costly and difficult to change application logic or data access methods without altering affected bindings
Solution Approach 1:
The patent introduces a binding layer as an intermediary component that sits between the application logic and the data access mechanisms. This binding layer handles the complexity of mappings and translations, allowing application logic to evolve independently from data access methods. The binding layer acts as a mediator that absorbs the complexity of changes, preventing it from propagating to other components.
Solution Approach 2:
The patent segments the system into distinct layers: application logic layer, binding layer, and data access layer. This segmentation allows each layer to be developed, modified, and maintained independently. The binding layer is separated from both the application logic and the data access mechanisms, enabling changes in one layer without necessarily affecting the others.
2Reliability
If binding mechanisms are used to map data elements between components, then data communication is enabled, but maintaining a consistent design-time experience becomes complicated
Solution Approach 1:
The binding layer serves as a mediator that manages all data element mappings between components. By centralizing binding management in this intermediary layer, the system maintains consistent design-time experiences while allowing flexibility in implementation. The binding layer provides a unified interface for managing mappings, making it easier to maintain consistency across the system.
3Reliability
If components are tightly coupled through specific binding mechanisms, then interaction is well-defined, but changes in application logic require changes in bindings
Solution Approach 1:
The patent segments the coupling between components by introducing the binding layer as a separate intermediary. This segmentation allows components to maintain well-defined interactions through the binding layer while enabling independent evolution of application logic. The binding layer acts as a buffer that decouples the tight relationship between application logic and data access mechanisms.
Solution Approach 2:
The binding layer serves as an intermediary that well-defines component interactions while allowing independence in evolution. It provides a standardized interface for communication between components, ensuring reliability of interactions, while its separable nature allows application logic to evolve without requiring changes to the binding mechanisms themselves.
Data Source
AI summary
A method for facilitating communication between application components is provided. The method comprises invoking, by a data consumer, a data contract by requesting data, wherein the data contract specifies communication parameters between application components. The data contract identifies and invokes a provider component in response to the invocation by the data consumer. The provider translates input data from the data consumer to construct a producer request and sends the producer request to a data producer. The data producer sends output data to the provider in response to the producer request. The provider translates and sends the output data to the data contract, and the data contract send the translated output data to the data consumer.


