Application Host Bridge for Cross-Language Interoperability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In scenarios where applications and host environments are not directly compatible, the use of customized code creates challenges when changing between host environments, as the customized code developed for a first host environment is no longer compatible with a second host environment.
Innovation Solution
A host bridge is implemented to provide interoperability between application and native hosts using bridge interfaces generated by a bridge interface generator, allowing communication through common data structures and native data structures across different programming languages, enabling seamless interaction without requiring detailed knowledge of the native host implementation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If customized code is used to enable application compatibility with a specific host environment, then the application can utilize host-specific functionality, but the application loses adaptability when changing to a different host environment
Solution Approach 1:
The patent introduces a bridge interface as an intermediary layer between the application and the native host. This bridge interface is generated automatically by a bridge interface generator that translates application language function calls into native host language function calls. The intermediary bridge module handles the incompatibility between different programming languages and host environments, allowing the application to maintain its original code while achieving compatibility with the native host through the generated bridge interface.
2Adaptability or versatility
If a bridge interface is generated to enable communication between different programming languages, then interoperability is achieved, but the system complexity increases due to additional translation layers
Solution Approach 1:
The bridge interface generator operates autonomously to generate the necessary bridge interface code without requiring manual intervention from developers. The generator automatically analyzes the application's function calls, identifies the corresponding native host functions, and generates the translation layer code. This self-service approach reduces the complexity burden on the system by automating the bridge creation process rather than requiring manual configuration or complex integration logic.
Solution Approach 2:
The bridge interface is generated in advance during the application development or deployment phase, before the application runs on the native host. The bridge interface generator pre-processes the application code, creates the necessary translation mappings, and generates the bridge module that will handle runtime communication. This preliminary action ensures that the interoperability infrastructure is ready before execution, reducing runtime complexity and improving performance.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for function call invocation is described. A function call that is implemented in a first programming language and corresponds to a function implemented in a second programming language is received by an application bridge interface implemented in the first programming language. The first programming language is different from the second programming language. A common data structure is generated by a bridge module based at least in part on the function call received by the application bridge interface. The common data structure is sent by the bridge module to a native bridge interface implemented in the second programming language. The common data structure is converted by the native bridge interface to a native data structure implemented in the second programming language. The function is called by the native bridge interface using the native data structure implemented in the second programming language.