Transparent integration of application components
First Claim
Patent Images
1. A system, comprising:
- one or more processors;
computer-readable memory storing computer executable instructions which, when executed upon the one or more processors, configure the system to;
execute a first application component within a native execution environment having a first execution context, the first application component comprising code executable within the native execution environment;
instantiate a host corresponding to the first application component, the host providing a foreign execution environment within the first application component in which code of a second application component, executable within the foreign execution environment but not executable within the native execution environment, is enabled to run, the foreign execution environment having a second execution context distinct from the first execution context, the native execution environment having a first application programming interface (API), and the foreign execution environment having a second API which is distinct from the first API;
establishing a communication link between the native execution environment and the foreign execution environment using an interaction component in order to mediate API calls between the native execution environment and the foreign execution environment and maintaining caches between the native execution environment and the foreign execution environment and casting parameters to correct data types when exchanging between the native execution environment and the foreign execution environment; and
enable communication between the native execution environment and the foreign execution environment including translating calls and controls compatible with the first API into calls and controls compatible with the second API and translating calls and controls compatible with the second API into calls and controls compatible with the first API to compensate differences between the first execution context and the second execution context, such that the first application component can communicate with the second application component using first API protocols and the second application component can communicate with the first application component using second API protocols.
2 Assignments
0 Petitions
Accused Products
Abstract
Differing implementations associated with components of dissimilar execution environments are mediated to facilitate component integration. A host is provided to facilitate native interaction with foreign components by translating between native and foreign communications. Policies can be specified by either or both of a native and foreign component that control interaction.
-
Citations
19 Claims
-
1. A system, comprising:
-
one or more processors; computer-readable memory storing computer executable instructions which, when executed upon the one or more processors, configure the system to; execute a first application component within a native execution environment having a first execution context, the first application component comprising code executable within the native execution environment; instantiate a host corresponding to the first application component, the host providing a foreign execution environment within the first application component in which code of a second application component, executable within the foreign execution environment but not executable within the native execution environment, is enabled to run, the foreign execution environment having a second execution context distinct from the first execution context, the native execution environment having a first application programming interface (API), and the foreign execution environment having a second API which is distinct from the first API; establishing a communication link between the native execution environment and the foreign execution environment using an interaction component in order to mediate API calls between the native execution environment and the foreign execution environment and maintaining caches between the native execution environment and the foreign execution environment and casting parameters to correct data types when exchanging between the native execution environment and the foreign execution environment; and enable communication between the native execution environment and the foreign execution environment including translating calls and controls compatible with the first API into calls and controls compatible with the second API and translating calls and controls compatible with the second API into calls and controls compatible with the first API to compensate differences between the first execution context and the second execution context, such that the first application component can communicate with the second application component using first API protocols and the second application component can communicate with the first application component using second API protocols. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method, comprising:
-
executing computer-executable instructions upon one or more computer processors to perform the following acts; generating code in a first execution environment having a first execution context, the generated code executable in a second execution environment executing on a remote device having a second execution context distinct from the first execution context, the code generated based on code specified within the first execution environment using a first application programming interface (API) and the generated code executable in the second execution environment using a second API; establishing a communication link between the first execution environment and the second execution environment using an interaction component in order to mediate API calls between the first execution environment and the second execution environment and maintaining caches between the first execution environment and the second execution environment and casting parameters to correct data types when exchanging between the first execution environment and the second execution environment; and communicating the generated code to an application component executing within the second execution environment by translating calls and controls compatible with the first API into calls and controls compatible with the second API and translating calls and controls compatible with the second API into calls and controls compatible with the first API to compensate differences between the first execution context and the second execution context, the second execution environment corresponding to a web application executable by a web browser in the second execution environment using the second API. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-implemented method comprising:
-
executing computer-executable instructions on one or more processors to perform the following acts; establishing, in a native execution framework having a first execution context, communication with a web browser component that provides an interface to control a web browser, the native execution framework using a first application programming interface (API); loading, from the native execution framework through the web browser component, the web browser and a web application, the web browser and the web application executable in a second execution framework using a second API, the second execution framework having a second execution context distinct from the first execution context; generating a first communication targeting the web application, the first communication using the first API based on the native execution framework, the API calls being mediated between the native execution framework and the second execution framework by maintaining caches between the native execution framework and the second execution framework and casting parameters to correct data types when exchanging between the native execution framework and the second execution framework, the first communication including calls and controls compatible with the first API; translating the first communication in the native execution framework using the first API into a translated communication in the second API of the second execution framework to compensate differences between the first execution context and the second execution context, the translated communication including calls and controls compatible with the second API and is understandable to the web browser; and providing the translated communication to the web application. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification