Claims
- 1. A computing environment comprising:
a proxy object definition defining a proxy object to be generated to facilitate a software application in interacting with an entity, with the proxy object definition identifying at least an implementation of the proxy object, the implementation of the proxy object having one or more built-in functions to facilitate the software application in programmatically interacting with the entity; and the implementation of the proxy object.
- 2. The computing environment of claim 1, wherein the proxy object definition further includes a declaration declaring the proxy object definition extending a marker interface in a selected one of a direct and an indirect manner.
- 3. The computing environment of claim 1, wherein the proxy object definition further includes a declaration declaring a callback for facilitating handling of one or more asynchronous events generated by the entity during runtime.
- 4. The computing environment of claim 1, wherein
the proxy object implementation supports one or more configurable properties; and the proxy object definition includes one or more setting specifications specifying one or more settings for the one or more configurable properties.
- 5. The computing environment of claim 1, wherein the proxy object implementation further implements a builder interface to assist in validating at least usage of the built-in functions of the implementation of proxy object by the software application to interact with the entity, during compilation of the software application.
- 6. The computing environment of claim 1, wherein the proxy object implementation further implements a resource interface to equip the proxy object to be generated with ability to acquire and release runtime resources.
- 7. The computing environment of claim 1, wherein the proxy object implementation further implements an extensible interface to enable the proxy object implementation to be extended.
- 8. A compiler comprising:
a parser to parse a software application in source form, including parsing logic to discern and comprehend a proxy object definition defining a proxy object to be generated to facilitate the software application in interacting with an entity, the proxy object definition identifying at least an implementation of the proxy object to be generated and the implementation of the proxy object having one or more functions to facilitate the software application in programmatically interacting with the entity; and a generator coupled to the parser to generate the software application in executable form and the proxy object, based at least in part on the result of said parsing, the proxy object definition, and the implementation of the proxy object.
- 9. The compiler of claim 8, wherein
the parsing logic includes logic to discern and comprehend one or more setting specifications for one or more configurable properties of the implementation of the proxy object; and the generator includes generation logic to generate a collection of meta data including said one or more setting specifications for the one or more configurable properties of the implementation of the proxy object.
- 10. The compiler of claim 8, wherein the generator includes generation logic to include with the executable form of the software application, proxy initialization code to instantiate the proxy object, during execution of the software application.
- 11. The compiler of claim 10, wherein the proxy initialization code is equipped to assign an instance of the proxy object to a variable, and register the proxy object to receive notifications of asynchronous events of the entity.
- 12. The compiler of claim 10, wherein the generation logic is designed to include with the executable form of the software application, the proxy initialization code, in a manner, to ensure the proxy initialization code is executed prior to any programmatic usage of the function(s) of the implementation of the proxy object by the software application to interact with the entity.
- 13. The compiler of claim 8, wherein the generator includes generation logic to include with the generated proxy object one or more interface functions to receive programmatically invocations of built-in functions of the implementation of the proxy object.
- 14. The compiler of claim 13, wherein the generation logic is equipped to generate one interface function for the proxy object for each built-in function of the implementation of the proxy object, with each interface function invoking the corresponding built-in function to interact with the entity.
- 15. The compiler of claim 8, wherein the generation logic is equipped to generate one interface function for the proxy object for each added non-built-in function of the implementation of the proxy object, with each interface function invoking a special invoke function to effectuate interaction with the entity for the corresponding added non-built-in function.
- 16. The compiler of claim 15, wherein the special invoke function is equipped to access companion meta data of the proxy object, including meta data describing the added non-built-in function(s), to comprehend the interaction between the software application and the entity, on which's behalf the special invoke function is to effectuate.
- 17. The compiler of claim 8, wherein the generator is equipped to include with the generated proxy object, a special invoke function to effectuate interaction with the entity for added non-built-in function(s) of an implementation of the proxy object declaration.
- 18. The compiler of claim 8, wherein the generator is equipped to further generate a companion meta data of the proxy object describing selected aspects of the proxy object.
- 19. The compiler of claim 8, wherein the generator is equipped to further generate a proxy object factory based on the proxy object for facilitating n-way interactions between the software application and the entity.
- 20. The compiler of claim 8, wherein the generator includes generation logic to include with the generated proxy object one or more interface callback functions to receive reporting of asynchronous events from an asynchronous event router for the entity.
- 21. The compiler of claim 20, wherein the generation logic is equipped to generate one interface callback function for the proxy object for each built-in callback of an implementation of the proxy object, with each interface callback function invoking the corresponding built-in callback function for reported asynchronous events to be handled by the corresponding built-in callback.
- 22. The compiler of claim 20, wherein the generation logic is equipped to generate one interface callback function for the proxy object for each added non-built-in callback of an implementation of the proxy object declaration, with each interface callback function invoking a corresponding event handler of the software application for reported asynchronous events to be handled by the corresponding event handler of the software application.
- 23. A computing environment comprising:
a compiler to compile a software application from a source form to an executable form, including generation of a companion proxy object to facilitate the software application in interacting with an entity, the software application in the source form including programmatic expressed interaction with the entity employing functions of an implementation of the proxy object; and a runtime engine to facilitate execution of the software application in the executable form and the proxy object, the runtime engine including an asynchronous event router to report asynchronous events to the software application for the entity, through the proxy object.
- 24. The computing environment of claim 23, wherein the compiler is equipped to parse the software application in source form, including logic to discern and comprehend at least a selected one of a declaration of usage of the proxy object, a setting specification for a property of an implementation of the proxy object, and a handler specification specifying an event handler for an event reported for the entity.
- 25. The computing environment of claim 23, wherein the compiler is equipped to generate the software application in the executable form and the companion proxy object, based at least in part on a result of analyzing the software application in source form, a definition of the proxy object, and the implementation of the proxy object.
- 26. The computing environment of claim 23, wherein the compiler includes generation logic to include with the executable form of the software application, proxy initialization code to instantiate the proxy object during execution of the software application.
- 27. The computing environment of claim 23, wherein the compiler includes generation logic to include with the generated proxy object one or more interface functions to receive programmatically invocations of the functions of the implementation of the proxy object.
- 28. The computing environment of claim 23, wherein the compiler is equipped to include with the generated proxy object, a special invoke function to effectuate interaction with the entity through added non-built-in function(s) of the implementation of the proxy object.
- 29. The computing environment of claim 23, wherein the compiler is equipped to further generate companion meta data of the proxy object describing selected aspects of the proxy object.
- 30. The computing environment of claim 23, wherein the compiler is equipped to further generate a proxy object factory based on the proxy object to facilitate n-way interaction between the software application and the entity.
- 31. The computing environment of claim 23, wherein the compiler includes generation logic to include with the generated proxy object one or more interface callback functions to receive reporting of asynchronous events from an asynchronous event router for the entity.
- 32. A runtime environment comprising:
a loader to load a software application in executable form for execution, the software application including proxy initialization code that are included to facilitate instantiation of a proxy object, which implementation includes function(s) the software application programmatically employ to interact with an entity; and an asynchronous event router to report asynchronous events to the software application for the entity, through the proxy object.
- 33. The runtime environment of claim 32, wherein the proxy object includes one or more interface functions to receive programmatically invocations of the functions of the implementation of the proxy object.
- 34. The runtime environment of claim 32, wherein the implementation of the proxy object includes a special invoke function to effectuate interaction with the entity through added non-built-in function(s) of the implementation of the proxy object.
- 35. The runtime environment of claim 32, wherein the proxy object has a companion meta data describing selected aspects of the proxy object including settings for configurable properties of the implementation of the proxy object.
- 36. The runtime environment of claim 32, wherein the proxy object has a proxy object factory based on the proxy object to facilitate n-way interactions between the software application and the entity.
- 37. The runtime environment of claim 32, wherein the asynchronous event router is equipped to listen for asynchronous events reported by the entity.
- 38. The runtime environment of claim 37, wherein the asynchronous event router is equipped to report detected asynchronous events reported by the entity to selected ones of interface callback functions of the proxy object.
- 39. The runtime environment of claim 38, wherein the selected ones of interface callback functions comprise an interface callback function for a built-in callback of a default implementation of the proxy object, with the interface callback function invoking a corresponding built-in callback function for reported asynchronous events to be handled by the corresponding built-in callback.
- 40. The runtime environment of claim 38, wherein the selected ones of interface callback functions comprise an interface callback function for an added non-built-in callback of the implementation of the proxy object, with the interface callback function invoking a corresponding event handler of the software application for reported asynchronous events to be handled by the corresponding event handler of the software application.
- 41. In a computing environment, a method comprising:
defining a proxy object to be generated to facilitate a software application in interacting with an entity, including identification of at least an implementation of the proxy object having one or more functions to facilitate the software application in programmatically interacting with the entity; and providing the implementation of the proxy object.
- 42. The method of claim 41, wherein said defining further includes declaring the proxy object's definition as a selected one of a direct and an indirect extension of a marker interface.
- 43. The method of claim 41, wherein said defining further includes declaring a callback for handling one or more asynchronous events generated by the entity during runtime.
- 44. The method of claim 41, wherein the provided proxy object implementation supports one or more configurable properties; and
said defining further includes declaring one or more setting specifications specifying one or more settings for the one or more configurable properties.
- 45. The method of claim 41, wherein said providing comprises providing an implementation of the proxy object that implements a builder interface to assist in validating at least usage of the function(s) the implementation of the proxy object by the software application to interact with the entity, during compilation of the software application.
- 46. The method of claim 41, wherein said providing comprises providing an implementation of the proxy object that implements a resource interface to equip the proxy object to be generated with ability to acquire and release runtime resources.
- 47. The method of claim 41, wherein said providing comprises providing an implementation of the proxy object that implements an extensible interface to enable the implementation of the proxy object to be extended.
- 48. A software compilation method comprising:
parsing an software application in source form, including discerning and comprehending a proxy object definition defining a proxy object to be generated to facilitate the software application in interacting with an entity, the proxy object definition identifying at least an implementation of a proxy object to be generated and the implementation of the proxy object having one or more functions to facilitate the software application in programmatically interacting with the entity; and generating the software application in executable form and the proxy object, based at least in part on the result of said parsing, the proxy object definition, and an implementation of the proxy object.
- 49. The software compilation method of claim 48, wherein
said parsing comprises discerning and comprehending one or more setting specifications for one or more configurable properties of the implementation of the proxy object; and said generating comprises generation of a collection of meta data including said one or more setting specifications for the one or more configurable properties of the implementation of the proxy object.
- 50. The software compilation method of claim 48, wherein said generating comprises inclusion with the executable form of the software application, proxy initialization code to instantiate the proxy object, during execution of the software application.
- 51. The software compilation method of claim 50, wherein the proxy initialization code is equipped to assign an instance of the proxy object to a variable, and register the proxy object to receive notifications of asynchronous events of the entity.
- 52. The software compilation method of claim 50, wherein said generating further comprises inclusion with the executable form of the software application, the proxy initialization code, in a manner, to allow the proxy initialization code to be executed prior to any programmatic usage of the function(s) of the proxy object by the software application to interact with the entity.
- 53. The software compilation method of claim 48, wherein said generating comprises inclusion with the generated proxy object one or more interface functions to receive programmatically invocations of built-in functions of the implementation of the proxy object.
- 54. The software compilation method of claim 53, wherein said generating comprises generating one interface function for the proxy object for each built-in function of the implementation of the proxy object, with each interface function invoking the corresponding built-in function to interact with the entity.
- 55. The software compilation method of claim 48, wherein said generating comprises generating one interface function for the proxy object for each added non-built-in function of the implementation of the proxy object, with each interface function invoking a special invoke function to effectuate interaction with the entity for the corresponding added non-built-in function.
- 56. The software compilation method of claim 55, wherein the special invoke function is equipped to access companion meta data of the proxy object, including meta data describing the added non-built-in function(s), to comprehend the interaction between the software application and the entity, on which's behalf the special invoke function is to effectuate.
- 57. The software compilation method of claim 48, wherein said generating comprises inclusion with the generated proxy object, a special invoke function to effectuate interaction with the entity for added non-built-in function(s) of the implementation of the proxy object.
- 58. The software compilation method of claim 48, wherein said generating comprises generating companion meta data of the proxy object describing selected aspects of the proxy object.
- 59. The software compilation method of claim 48, wherein said generating comprises generating a proxy object factory based on the proxy object to facilitate n-way interactions between the software application and the entity.
- 60. The software compilation method of claim 48, wherein said generating comprises inclusion with the generated proxy object one or more interface callback functions to receive reporting of asynchronous events from an asynchronous event router for the entity.
- 61. The software compilation method of claim 60, wherein said generating comprises generating one interface callback function for the proxy object for each built-in callback of the implementation of the proxy object, with each interface callback function invoking the corresponding built-in callback function for reported asynchronous events to be handled by the corresponding built-in callback.
- 62. The software compilation method of claim 60, wherein said generating comprises generating one interface callback function for the proxy object for each added non-built-in callback of the implementation of the proxy object, with each interface callback function invoking a corresponding event handler of the software application for reported asynchronous events to be handled by the corresponding event handler of the software application.
- 63. A computation method comprising:
compiling a software application from a source form to an executable form, including generation of a companion proxy object to facilitate the software application in interacting with an entity, the software application in the source form including programmatic expressed interaction with the entity employing one or more functions of an implementation of the proxy object; and facilitating execution of the software application in the executable form and the proxy object, including listening and routing of asynchronous events to the software application reported by the entity, through the proxy object.
- 64. The computation method of claim 63, wherein said compiling comprises parsing the software application in source form, including discerning and comprehending at least a selected one of a declaration of usage of the proxy object, a setting specification for a property of an implementation of the proxy object, and a handler specification specifying an event handler for an event reported for the entity.
- 65. The computation method of claim 63, wherein said compiling comprises generating the software application in the executable form and the companion proxy object, based at least in part on a result of analyzing the software application in source form, a definition of the proxy object, and the implementation of the proxy object.
- 66. The computation method of claim 63, wherein said compilation comprises inclusion with the executable form of the software application, proxy initialization code to instantiate the proxy object for the software application during execution of the software application.
- 67. The computation method of claim 63, wherein said compilation comprises inclusion with the generated proxy object one or more interface functions to receive programmatically invocations of the functions of an implementation of the proxy object.
- 68. The computation method of claim 63, wherein said compilation comprises inclusion with the generated proxy object, a special invoke function to effectuate interaction with the entity for added non-built-in function(s) of the implementation of the proxy object.
- 69. The computation method of claim 63, wherein said compilation comprises generating companion meta data of the proxy object describing selected aspects of the proxy object.
- 70. The computation method of claim 63, wherein said compilation comprises generating a proxy object factory based on the proxy object to facilitate n-way interactions between the software application and the entity.
- 71. The computation method of claim 63, wherein said compilation comprises inclusion with the generated proxy object one or more interface callback functions to receive reporting of asynchronous events from an asynchronous event router for the entity.
- 72. An execution method comprising:
loading a software application in executable form for execution, including execution of the software application at an included proxy initialization code of the software application in executable form to instantiate a proxy object, which implementation having function(s) the software application programmatically employ to interact with an entity; and reporting asynchronous events to the software application for the entity, through the proxy object.
- 73. The execution method of claim 72, wherein the method further comprises proxy invocation code of the software application in executable form invoking one or more interface functions of the proxy object to facilitate programmatic invocations of functions of an implementation of the proxy object.
- 74. The execution method of claim 72, wherein the method further comprises proxy invocation code of the software application in executable form invoking a special invoke function of the proxy object to effectuate interaction with the entity using added non-built-in function(s) of the implementation of the proxy object.
- 75. The execution method of claim 72, wherein the method further comprises the proxy object accessing companion meta data that describe selected aspects of the proxy object.
- 76. The execution method of claim 72, wherein the method further comprises generating a proxy object factory based on the proxy object facilitating a n-way interaction between the software application and the entity.
- 77. The execution method of claim 76, wherein the method further comprises an asynchronous event router listening for asynchronous events reported by the entity.
- 78. The execution method of claim 77, wherein the method further comprises the asynchronous event router reporting detected asynchronous events reported by the entity to selected ones of interface callback functions of the proxy object.
- 79. The execution method of claim 78, wherein the method further comprises an interface callback function of the proxy object for a built-in callback of the implementation of the proxy object, with the interface callback function invoking a corresponding built-in callback function for reported asynchronous events to be handled by the corresponding built-in callback.
- 80. The execution method of claim 79, wherein the method further comprises an interface callback function for an added non-built-in callback of the implementation of the proxy object invoking a corresponding event handler of the software application for reported asynchronous events to be handled by the corresponding event handler of the software application.
RELATED APPLICATION
[0001] The present invention is related to, and claims priority to provisional application No. 60/359,409, entitled A UNIFIED FRAMEWORK FOR INTERACTING WITH EXTERNAL ENTITIES FROM A PROGRAMMING LANGUAGE AND EXAMPLE APPLICATIONS, filed on Feb. 22, 2002, which specification is hereby fully incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60359409 |
Feb 2002 |
US |