Claims
- 1. A method for generating a computing application for a mobile information device, comprising:
receiving a markup language definition of said application, said definition comprising tags corresponding to application functions; reading said tags using a computer and, responsively thereto, populating objects in an object model in a memory; and processing said objects using said computer to generate program code that can be executed by said mobile information device.
- 2. The method according to claim 1, wherein said step of processing said objects comprises the steps of:
generating source code corresponding to said objects; and compiling said source code to generate said program code, wherein said program code can be executed by said mobile information device.
- 3. The method according to claim 1, wherein said step of processing said objects further comprises packaging said program code in an archive file for download to said mobile information device.
- 4. The method according to claim 3, further comprising the step of downloading said archive file to said mobile information device via a carrier-free transmission medium.
- 5. The method according to claim 4, wherein said step of downloading said archive file is performed by the steps of:
downloading an access code to said mobile information device; and responsively to a request by said mobile information device using said access code, transferring said archive file to said mobile information device via said carrier-free transmission medium.
- 6. The method according to claim 5, wherein said access code is a URL.
- 7. The method according to claim 1, wherein said tags belong to different tag types and said objects belong to different object types, wherein said step of reading said tags comprises the step of providing a first set of respective readers for said different tag types to populate said objects corresponding to said different tag types; and
wherein said step of processing said objects comprises the step of providing a second set of respective generators for said different object types to generate elements of said program code corresponding to said different object types.
- 8. The method according to claim 7, further comprising the steps of:
adding a new tag type to said tags available for defining said application functions; and adding a new reader to said first set and a new generator to said second set, respectively, to enable generation of said program code corresponding to said new tag type.
- 9. The method according to claim 7, wherein said step of adding a new generator to said second set comprises providing multiple generators to process said objects populated by a given one of said readers, so as to generate said elements of said program code to execute on different types of mobile information devices.
- 10. The method according to claim 1, wherein said step of processing said objects comprises generating said program code in response to a request from a user to download said application to said mobile information device, and downloading said code thus generated to said mobile information device.
- 11. The method according to claim 1, wherein said markup language definition comprises a plurality of schemas, and a MIDML root element.
- 12. The method according to claim 11, wherein one of said schemas defines MIDML widgets.
- 13. The method according to claim 12, wherein said widgets comprise a ticker widget.
- 14. The method according to claim 12, wherein said widgets comprise a command widget.
- 15. The method according to claim 11, wherein one of said schemas defines global variable elements.
- 16. The method according to claim 11, wherein one of said schemas defines data types that can be used by other data types.
- 17. The method according to claim 11, wherein one of said schemas defines MIDML operations.
- 18. The method according to claim 17, wherein said MIDML operations comprise timer operations.
- 19. The method according to claim 17, wherein said MIDML operations comprise servlet operations.
- 20. The method according to claim 17, wherein said MIDML operations comprise link operations.
- 21. The method according to claim 17, wherein said MIDML operations comprise signal operations.
- 22. The method according to claim 17, wherein said MIDML operations comprise event-handlers.
- 23. The method according to claim 11, wherein one of said schemas comprises an application container.
- 24. The method according to claim 11, wherein one of said schemas defines screens for display by said mobile information device.
- 25. The method according to claim 11, wherein one of said schemas comprises an event type.
- 26. The method according to claim 11, wherein one of said schemas defines servlet connections.
- 27. The method according to claim 11, wherein one of said schemas defines a JAD descriptor element.
- 28. The method according to claim 11, wherein one of said schemas defines a resource embedding mechanism comprising an image element tag, wherein responsive to said image element tag an image resource is statically embedded.
- 29. The method according to claim 1, wherein said tags comprise a restart tag that specifies a restart point of said application.
- 30. The method according to claim 1, wherein said tags comprise a pause tag that specifies a resumption point of said application.
- 31. The method according to claim 1, wherein said tags comprise a reload tag that specifies a reloading of a current screen.
- 32. The method according to claim 1, wherein said tags comprise an unload tag that specifies an unloading of a current screen.
- 33. The method according to claim 1, wherein said tags comprise a MIDML variable definition tag.
- 34. The method according to claim 1, wherein said tags comprise an assignment tag that specifies an assignment operation of a MIDML language element.
- 35. The method according to claim 1, wherein said tags comprise a link tag that specifies a transition from a source event handler to a destination displayable element.
- 36. The method according to claim 1, wherein said tags comprise a timer activation tag that specifies an activation of a timer element.
- 37. The method according to claim 1, wherein said tags comprise a cancellation tag that specifies a cancellation of a timer element.
- 38. The method according to claim 1, wherein said tags comprise a parameter tag that defines a servlet parameter.
- 39. The method according to claim 1, wherein said tags comprise a servlet activation tag that specifies an activation of a defined servlet.
- 40. The method according to claim 1, wherein said tags comprise a directory tag that specifies a location of Java source code files.
- 41. A computer software product, comprising a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to execute a method for generating a computing application for a mobile information device, comprising:
receiving a markup language definition of said application, said definition comprising tags corresponding to application functions; reading said tags and, responsively thereto, generating source code that specifies said application; and compiling said source code using said computer to generate program code that can be executed by said mobile information device.
- 42. The computer software product according to claim 41, wherein said step of generating source code comprises instantiation of a generator class that is adapted to requirements of said mobile information device.
- 43. The computer software product according to claim 41, wherein said computer further performs the step of packaging said program code in an archive file for download to said mobile information device.
- 44. The computer software product according to claim 41, wherein said tags belong to different tag types, and wherein said step of reading said tags is performed in a first set of respective readers for different ones of said tag types, and wherein a second set of respective generators corresponding to said first set of said readers generates elements of said program code, said readers and said generators being memorized in said computer in response to said instructions.
- 45. The computer software product according to claim 44, wherein said computer further performs the steps of:
adding a new tag type to said tags available for defining said application functions; and adding a new reader to said first set and a new generator to said second set, respectively, to enable generation of said program code corresponding to said new tag type.
- 46. The computer software product according to claim 44, wherein said step of adding a new generator to said second set comprises providing multiple generators to process objects populated by a given one of said readers, so as to generate said elements of said program code to execute on different types of mobile information devices.
- 47. The computer software product according to claim 41, wherein said step of generating said program code in response to a request from a user to download said application to said mobile information device, and downloading said program code thus generated to said mobile information device.
- 48. The computer software product according to claim 41, wherein said markup language definition comprises a plurality of schemas, and a MIDML root element.
- 49. A data processing system for generating a mobile information device computing application, comprising:
a computer readable memory having a data structure stored therein, said data structure including: a first compiler that accepts a specification of said mobile information device computing application written in a markup language, and outputs said mobile information device computing application, wherein said specification includes tags corresponding to functions of said mobile information device computing application; and a servlet mediating a request from a user, said servlet and said first compiler defining a first layer of software resources; a web services interface between said first layer and said user, said request and said mobile information device computing application being transmitted thereacross, wherein said request is satisfied by delivery of said mobile information device computing application to said user; a parser adapted to said markup language; a code generator linked to said parser that produces an intermediate code; a second compiler accepting said intermediate code; a packer that assembles an output of said second compiler into said mobile information device computing application, said parser, said code generator and said second compiler defining a second layer of software resources, said second layer being accessible to said first layer; a command interface between said first layer and said second layer wherein invocations of elements of said second layer by elements of said first layer and information reported to said elements of said first layer by said elements of said second layer pass across said command interface; and an applications programming interface between said second layer and a source of said specification, information of said specification being transmitted to said first compiler across said applications programming interface and said command interface via resources of said second layer.
- 50. The data processing system according to claim 49, wherein said markup language is specified by a plurality of XML schema definitions.
- 51. The data processing system according to claim 49, wherein said tags are extendable.
- 52. The data processing system according to claim 49, wherein said markup language is MIDML.
- 53. A method for delivering a mobile information device computing application, comprising the steps of:
organizing a plurality of resources into an application layer and an infrastructure; in said infrastructure performing the steps of:
accepting a specification for said mobile information device computing application that is written in a markup language; parsing said markup language to define parsed source code by reading different tags in said specification in respective different readers, wherein said different tags correspond to different functions of said mobile information device computing application; generating an intermediate code from said parsed source code by generating different object types in respective different generators; compiling said intermediate code into program code; and packaging said program code into an archive file; and in said application layer performing the steps of:
providing a servlet that mediates a request for said mobile information device computing application; and responsive to said servlet, downloading said archive file.
- 54. The method according to claim 53, wherein said step of downloading said archive file is performed by transmitting said archive file to said mobile information device via a carrier-free transmission medium.
- 55. The method according to claim 54, wherein said step of downloading said archive file further comprises the steps of:
downloading an access code to said mobile information device; and responsively to said request by said mobile information device using said access code, transferring said archive file to said mobile information device via said carrier-free transmission medium.
- 56. The method according to claim 53, further comprising the step of providing a web services interface between said application layer and a user.
- 57. The method according to claim 53 further comprising the steps of:
providing a command line interface between said application layer and said infrastructure; and invoking resources of said infrastructure from said application layer across said command line interface.
- 58. The method according to claim 53, wherein said markup language is specified by a plurality of XML schema definitions.
- 59. The method according to claim 53, wherein said tags comprise a predefined set, further comprising the step of adding new tags to said set.
- 60. The method according to claim 53, further comprising the step of specifying user-defined events in said specification.
- 61. A data processing system for generating a mobile information device computing application, comprising:
a computer readable memory having a data structure stored therein, said data structure including: a markup language definition object describing said application and having tags corresponding to application functions; an object model having a plurality of objects that correspond to said tags and are formed in accordance with directives specified by said tags; and a program code object that is derived from said object model, wherein said program code object is adapted to said mobile information device.
- 62. The data processing system according to claim 61, wherein said computer readable memory further includes: an intermediate source code object that is derived from said object model, wherein said program code object is derived from said intermediate source code object.
- 63. The data processing system according to claim 61, wherein said computer readable memory includes a packer object that packages said program code object in an archive file for download to said mobile information device.
- 64. The data processing system according to claim 61, wherein said tags belong to different tag types and said objects belong to different object types, and wherein said computer readable memory further includes a first set of respective readers for said different tag types to populate said objects of said object model corresponding to said different tag types, and a second set of respective generators for said different object types to generate elements of said program code object corresponding to said different object types.
- 65. The data processing system according to claim 64, wherein said markup language definition object is adapted for acceptance of a new tag type for defining one of said application functions; and
said computer readable memory has resident therein a module for accepting a new reader in said first set and a new generator in said second set, respectively, to enable generation of said program code object corresponding to said new tag type.
- 66. The data processing system according to claim 65, wherein said new generator to said second set comprises a plurality of new generators to process said objects of said object model that is populated by a given one of said readers, so as to generate elements of said program code object to execute on different types of mobile information devices.
- 67. The data processing system according to claim 61, wherein said markup language definition object is adapted to specify generating said program code object in response to a request from a user to download said application to said mobile information device, and further comprising an interface for downloading said program code object thus generated to said mobile information device.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This Application claims the benefit of Provisional Application No. 60/366,890, filed Mar. 22, 2002.
[0002] This Application is related to the following Applications filed on even date herewith: STC File Nos. 45438, entitled “Markup Compiler that Outputs MIDlets”; 45439, entitled “Conversion of an Object Model to a Source File Generation Model”; 45440, entitled “Language and Object Model for Describing MIDlets”; and 45441, entitled “On-Demand Creation of MIDlets”.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60366890 |
Mar 2002 |
US |