Generic XAD processing model
First Claim
1. At a computer system comprising one or more processors and memory storing executable instructions that implement a declarative language framework for building software applications from declarative language application descriptions, a method for dynamically building a software application from a declarative language application description, the method comprising:
- an act of receiving, at the declarative framework, an indication that a software application is to be initiated;
an act of receiving, at the declarative framework, a declarative language application description, the declarative language description comprising one or more tags in a declarative language that each contain one or more parameters to be mapped to properties of a class object that is to be included in the software application;
an act of the declarative framework using reflection to identify, at runtime, properties of a plurality of candidate class objects that could be used to implement functionality defined in each tag;
an act of the declarative framework selecting one of the plurality of candidate class objects for each tag, each selected class object having properties that match the one or more parameters defined in the corresponding tag;
an act of the declarative framework automatically mapping the parameters in each of the tags to the corresponding selected class object; and
an act of automatically binding the properties of the selected class object to the parameters of the corresponding tag based on one or more declarative rules associated with the properties.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed to dynamically building software applications and dynamically updating software applications based on changed data values. In one embodiment, a computer system receives an indication that a software application is to be initiated. The computer system also receives an application description including tags describing software objects that are to be included in the software application, automatically maps portions of the application description identified by the tags to software objects using reflection, where the reflecting includes accessing properties associated with the software objects, and automatically binds properties of the software objects to the portions of the application description based declarative rules included in the software object properties associated with the software object.
19 Citations
20 Claims
-
1. At a computer system comprising one or more processors and memory storing executable instructions that implement a declarative language framework for building software applications from declarative language application descriptions, a method for dynamically building a software application from a declarative language application description, the method comprising:
-
an act of receiving, at the declarative framework, an indication that a software application is to be initiated; an act of receiving, at the declarative framework, a declarative language application description, the declarative language description comprising one or more tags in a declarative language that each contain one or more parameters to be mapped to properties of a class object that is to be included in the software application; an act of the declarative framework using reflection to identify, at runtime, properties of a plurality of candidate class objects that could be used to implement functionality defined in each tag; an act of the declarative framework selecting one of the plurality of candidate class objects for each tag, each selected class object having properties that match the one or more parameters defined in the corresponding tag; an act of the declarative framework automatically mapping the parameters in each of the tags to the corresponding selected class object; and an act of automatically binding the properties of the selected class object to the parameters of the corresponding tag based on one or more declarative rules associated with the properties. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14)
-
-
13. At a computer system comprising one or more processors and memory storing executable instructions that implement a declarative language framework for building software applications from declarative language application descriptions, a method for dynamically updating a software application, that was built from a declarative language application description, as a result of changed data values, the method comprising:
-
an act of receiving, at the declarative framework, an indication that one or more parameters of one or more tags in a dynamically configured software application have changed, the software application being dynamically configured from a declarative language application description that includes tags that each contain one or more parameters; an act of the declarative framework using reflection to identify, at runtime, properties of a plurality of candidate class objects that could be used to implement functionality defined in each tag; an act of the declarative framework selecting one of the plurality of candidate class objects for each tag, each selected class object having properties that match the one or more parameters defined in the corresponding tag; an act of the declarative framework automatically mapping the parameters in each of the tags to the corresponding selected class object; and an act of automatically binding the properties of the selected class object to the parameters of the corresponding tag based on one or more declarative rules associated with the properties; and an act of reconfiguring the software application using the updated mappings and bindings. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer program product for implementing a method for dynamically building a software application, the computer program product comprising one or more physical storage media having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause the computing system to perform the method, the method comprising:
-
an act of receiving, at the declarative framework, an indication that a software application is to be initiated; an act of receiving, at the declarative framework, a declarative language application description, the declarative language description comprising one or more tags in a declarative language that each contain one or more parameters to be mapped to properties of a class object that is to be included in the software application; an act of the declarative framework using reflection to identify, at runtime, properties of a plurality of candidate class objects that could be used to implement functionality defined in each tag; an act of the declarative framework selecting one of the plurality of candidate class objects for each tag, each selected class object having properties that match the one or more parameters defined in the corresponding tag; an act of the declarative framework automatically mapping the parameters in each of the tags to the corresponding selected class object; and an act of automatically binding the properties of the selected class object to the parameters of the corresponding tag based on one or more declarative rules associated with the properties.
-
Specification