PRE-CALCULATION AND CACHING OF DEPENDENCIES
First Claim
1. A method of supporting interaction between software components, the method comprising:
- using a processor to perform acts comprising;
receiving a first component;
identifying, in said first component, a contract to be imported into said first component from outside of said first component;
determining that a second component exists that exports said contract;
creating a catalog that comprises an indication that, to provide functionality under said contract to said first component, said second component is to be connected to said first component;
receiving, from a client, a request to invoke an application that comprises said first component; and
transmitting, to said client, said first component and said catalog.
2 Assignments
0 Petitions
Accused Products
Abstract
Dependencies among components may be pre-calculated, validated and cached. The cached dependencies may then be used in an execution environment to inject dependencies into the component. In one example, components for a web application are submitted to the operator of the application. Dependencies among the components may be pre-calculated, and the pre-calculated dependencies may be stored in a catalog. When a client accesses the web application, the components may be downloaded to the client along with the catalog. The client may provide a virtual machine or other execution environment under which the components execute. The execution environment may provide a dependency injection feature that connects components together at runtime based on the pre-calculated dependencies in the catalog.
-
Citations
20 Claims
-
1. A method of supporting interaction between software components, the method comprising:
using a processor to perform acts comprising; receiving a first component; identifying, in said first component, a contract to be imported into said first component from outside of said first component; determining that a second component exists that exports said contract; creating a catalog that comprises an indication that, to provide functionality under said contract to said first component, said second component is to be connected to said first component; receiving, from a client, a request to invoke an application that comprises said first component; and transmitting, to said client, said first component and said catalog. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. One or more computer-readable storage media that store executable instructions to allow components to interoperate, wherein said instructions, when executed on a computer, cause the computer to perform acts comprising:
-
receiving, from a machine through a communication network, a catalog that comprises an indication that;
(a) a first component imports a contract, and (b) a second component exports said contract;receiving, from said machine through said communication network, a first file that comprises said first component; loading said first component into an execution environment; determining, based on said catalog, that said first component is dependent on said second component; receiving a request for action that is to be performed by said first component but that does not use functionality that said first component imports from said second component under said contract; and allowing said first component to execute without said second component being loaded into said execution environment. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for controlling interoperation among executable components, the system comprising:
-
a processor; a data remembrance component; a dependency calculation component that executes on said processor and that is stored in said data remembrance component, the system receiving a first component that specifies a contract to be imported and a second component that specifies that said second component exports said contract, the dependency calculation component determining, based on an access rule, that said second component is not be used with said first component, said dependency calculation component generating a catalog that identifies said first component as an importer of said contract and that further identifies said second component as an exporter of said contract, said catalog indicating that said second component is not to be used to export said contract to said first component; and a communications mechanism through which said first component and said catalog are communicated to a client that provides an execution environment on which said first component and said second component execute. - View Dependent Claims (19, 20)
-
Specification