ITERATIVE COMPONENT BINDING
First Claim
1. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for composing a plurality of components of a program, the method comprising:
- an act of creating a component domain;
an act of instantiating an initial set of one or more components such that they are associated with the component domain, and such that services imported, if any, by each of the components in the initial set are made visible to the component domain, and such that services exported, if any, by each of the components of the initial set are also made visible to the component domain;
an act of the component domain identifying any component of the initial set of one or more components that includes nested components;
for each component of the initial set of components that includes one or more nested components, an act of expanding the component that includes one or more nested components such that the nested components are also visible to the component domain to the extent that services imported, if any, by the nested component are made visible to the component domain, and such that services exported, if any, by the nested component are made visible to the component domain;
an act of the component domain polling the initial set of components for services exported; and
an act of the component domain polling the initial set of components for services imported and satisfying at least one of the services imported of at least one of the components of the initial set of components using one of the services exported by another of the initial set of components, wherein the acts of expanding for each component that includes one or more nested components, the act of the component domain polling for services exported, and the act of the component domain polling for services imported and satisfying at least one of the services imported occur in a predetermined order.
2 Assignments
0 Petitions
Accused Products
Abstract
Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import.
-
Citations
20 Claims
-
1. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for composing a plurality of components of a program, the method comprising:
-
an act of creating a component domain; an act of instantiating an initial set of one or more components such that they are associated with the component domain, and such that services imported, if any, by each of the components in the initial set are made visible to the component domain, and such that services exported, if any, by each of the components of the initial set are also made visible to the component domain; an act of the component domain identifying any component of the initial set of one or more components that includes nested components; for each component of the initial set of components that includes one or more nested components, an act of expanding the component that includes one or more nested components such that the nested components are also visible to the component domain to the extent that services imported, if any, by the nested component are made visible to the component domain, and such that services exported, if any, by the nested component are made visible to the component domain; an act of the component domain polling the initial set of components for services exported; and an act of the component domain polling the initial set of components for services imported and satisfying at least one of the services imported of at least one of the components of the initial set of components using one of the services exported by another of the initial set of components, wherein the acts of expanding for each component that includes one or more nested components, the act of the component domain polling for services exported, and the act of the component domain polling for services imported and satisfying at least one of the services imported occur in a predetermined order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for composing a plurality of components of a program, the method comprising:
-
an act of creating a component domain that is capable of identifying services exported and services imported by each component instantiated within the component domain; an act of instantiating an initial set of components in the component domain; and an act of iteratively performing the following for at least two iterations; an act of performing a nested component expansion of each of the components in the initial set of components, wherein the nested component expansion allows the component domain to identify services exported and imported by the nested components; an act of the component domain identifying the services exported, if any, by each of the components in the initial set of components including the nested components; after identifying the services exported, an act of the component domain identifying the services imported, if any, by each of the components in the initial set of components; an act of satisfying at least one of the services imported; and an act of determining whether there are yet other services imported that are yet to be satisfied after the act of satisfying, and if so, continuing the act of iterating with the next iteration with respect to a possibly expanded set of components in the component domain, and if not, ending the act of iterating. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for composing a plurality of components of a program, the method comprising:
-
an act of creating a component domain that is capable of identifying services exported and services imported by each component instantiated within the component domain; an act of instantiating an initial set of components in the component domain; an act of iteratively performing the following for at least two iterations; an act of performing a nested component expansion of each of the components in the initial set of components, wherein the nested component expansion allows the component domain to identify services exported and imported by the nested components; an act of notifying the components in the component domain before identifying the services exported by the components, an act of the component domain identifying the services exported, if any, by each of the components in the initial set of components including the nested components; after identifying the services exported, an act of the component domain identifying the services imported, if any, by each of the components in the initial set of components; an act of satisfying at least one of the services imported; and an act of notifying the components in the component domain that the act of satisfying is complete; an act of determining whether there are yet other services imported that are yet to be satisfied after the act of satisfying, and if so, continuing the act of iterating with the next iteration with respect to a possibly expanded set of components in the component domain, and if not, ending the act of iterating; and an act of notifying the components in the component domain that the act of iterating is complete. - View Dependent Claims (20)
-
Specification