Transparent integration of application components
First Claim
Patent Images
1. A system comprising:
- a memory storing computer executable-code;
one or more processors coupled to the memory, the processors to execute the computer-executable code to 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;
establish a communication link between the native execution environment and the foreign execution environment via a marshalling component provided by the host, the marshalling component being enabled to mediate API calls between the native execution environment and the foreign execution environment by 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:
-
a memory storing computer executable-code; one or more processors coupled to the memory, the processors to execute the computer-executable code to 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; establish a communication link between the native execution environment and the foreign execution environment via a marshalling component provided by the host, the marshalling component being enabled to mediate API calls between the native execution environment and the foreign execution environment by 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:
-
employing at least one processor to execute computer-executable instructions stored in memory to perform following acts; generating code in a first execution environment having a first execution context, the generated code executable in a second execution environment 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 via a marshalling component provided by a host within the first execution environment, the marshalling component being enabled to mediate API calls between the first execution environment and the second execution environment by 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:
-
employing at least one processor to execute computer-executable instructions stored in memory to perform 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 via a marshalling component provided by a host within the native execution framework, the first communication using the first API based on the native execution framework, the marshalling component being enabled to mediate API calls 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