Claims
- 1. A data processing method comprising:
executing, at a user interface (UI) server, a server-based application configured to process source data items; retrieving a UI form definition stored at said UI server, said UI form definition specifying characteristics of a UI form for said server-based application; instructing a client device to render a UI form corresponding to said UI form definition; and transmitting, from said UI server, a number of source data items for population in said UI form, said number of source data items being related to said server-based application.
- 2. A method according to claim 1, further comprising the step of generating said UI form definition based upon a number of device capabilities for said client device.
- 3. A method according to claim 2, further comprising the step of receiving, at said UI server, data representing said number of device capabilities.
- 4. A method according to claim 2, wherein said generating step generates said UI form based upon at least one native UI control stored locally at said client device.
- 5. A method according to claim 4, wherein said at least one native UI control is associated with an operating system for said client device.
- 6. A method according to claim 1, further comprising the steps of:
receiving an action request representing a manipulation of said UI form by a user of said client device; and subsequently instructing said client device to render a new UI form in response to said action request.
- 7. A method according to claim 1, further comprising the steps of:
receiving an action request representing a manipulation of said UI form by a user of said client device; and subsequently instructing said client device to update said UI form in response to said action request.
- 8. A method according to claim 1, further comprising the steps of:
receiving a command from said client device, said command being indicative of an offline action performed by said client device; and said UI server processing said command for execution by said server-based application.
- 9. A method according to claim 1, further comprising the step of maintaining a shadow cache at said UI server, said shadow cache including data indicative of source data items associated with said client device.
- 10. A method according to claim 9, further comprising the steps of:
said UI server receiving information representing new, deleted, or modified source data items; and said UI server updating said shadow cache to reflect said new, deleted, or modified source data items.
- 11. A method according to claim 9, wherein said shadow cache includes a list of source data items transmitted from said UL server to said client device.
- 12. A method according to claim 9, wherein said shadow cache includes a list of source data items saved locally by said client device.
- 13. A method according to claim 1, wherein said transmitting step is performed in response to a manipulation of said UI form.
- 14. A method according to claim 1, wherein said retrieving step is performed by said UI server in response to a device identifier received from said client device.
- 15. A method according to claim 1, wherein:
said UI server has access to a total number of source data items associated with said UI form; and said transmitting step initially transmits a first portion of said total number of source data items to said client device.
- 16. A method according to claim 15, further comprising the steps of:
said UI server subsequently receiving a request for additional source data items; and said UI server transmitting a subsequent portion of said total number of source data items to said client device in response to said request.
- 17. A method according to claim 16, wherein said UI server receives said request from said client device in response to a manipulation of said UI form.
- 18. A method according to claim 1, further comprising the steps of:
said UI server receiving information representing new, deleted, or modified source data items; and said UI server transmitting, to said client device, push data representing said new, deleted, or modified source data items.
- 19. A method according to claim 18, further comprising the step of said UI server sending, to said client device, a push notification corresponding to said push data.
- 20. A data processing method comprising:
receiving, at a user interface (UI) server, a number of device capabilities for a client device; generating a UI form definition based upon said number of device capabilities, said UI form definition specifying characteristics of a UI form for a server-based application maintained by said UI server; said UI server transmitting data indicative of said UI form definition to said client device; and said UI server sending a number of source data items to said client device, said number of source data items being related to said UI form.
- 21. A method according to claim 20, further comprising the step of specifying a command script corresponding to a manipulation of a UI control contained in said UI form, said command script being configured for execution by said client device.
- 22. A method according to claim 20, further comprising the step of executing said server-based application at said UI server.
- 23. A method according to claim 20, further comprising the step of storing said UI form definition at said UI server.
- 24. A method according to claim 20, further comprising the step of instructing said client device to render said UI form.
- 25. A method according to claim 24, wherein said instructing step identifies said UI form definition.
- 26. A method according to claim 20, wherein said generating step generates said UI form based upon at least one native UI control stored locally at said client device.
- 27. A method according to claim 26, wherein said at least one native UI control is associated with an operating system for said client device.
- 28. A method according to claim 20, further comprising the steps of:
receiving an action request representing a manipulation of said UI form by a user of said client device; and subsequently instructing said client device to render a new UI form in response to said action request.
- 29. A method according to claim 20, further comprising the steps of:
receiving an action request representing a manipulation of said UI form by a user of said client device; and subsequently instructing said client device to update said UI form in response to said action request.
- 30. A method according to claim 20, further comprising the step of maintaining a shadow cache at said UI server, said shadow cache including source data items associated with said client device.
- 31. A method according to claim 30, further comprising the steps of:
said UI server receiving information representing new, deleted, or modified source data items; and said UI server updating said shadow cache to reflect said new, deleted, or modified source data items.
- 32. A method according to claim 30, wherein said shadow cache includes a list of source data items transmitted from said UI server to said client device.
- 33. A method according to claim 30, wherein said shadow cache includes a list of source data items saved locally by said client device.
- 34. A method according to claim 20, wherein:
said UI server has access to a total number of source data items associated with said UI form; and said sending step initially sends a first portion of said total number of source data items to said client device.
- 35. A method according to claim 34, further comprising the steps of:
said UI server subsequently receiving a request for additional source data items; and said UI server sending a second portion of said total number of source data items to said client device in response to said request.
- 36. A method according to claim 35, wherein said UI server receives said request from said client device in response to a manipulation of said UI form.
- 37. A data processing method comprising:
receiving a device identifier that identifies a client device; receiving a request for a server-based application; transmitting a UI form identifier to said client device in response to said device identifier, said UI form identifier representing at least one UI form definition that specifies characteristics of at least one UI form for said server-based application; and sending a number of source data items to said client device, said number of source data items being configured for display in connection with said at least one UI form.
- 38. A method according to claim 37, wherein said at least one UI form definition is based upon a number of device capabilities for said client device.
- 39. A method according to claim 38, further comprising the steps of:
receiving data representing said number of device capabilities; and generating said at least one UI form definition based upon said number of device capabilities.
- 40. A method according to claim 39, further comprising the step of storing said at least one UI form definition.
- 41. A method according to claim 37, wherein said at least one UI form definition specifies at least one native UI control stored locally at said client device.
- 42. A method according to claim 37, further comprising the step of executing said server-based application in response to said request.
- 43. A method according to claim 37, wherein said number of source data items represent a portion of a larger amount of related data available at said UI server.
- 44. A server architecture for use with a user interface (UI) server capable of communicating with a client device, said server architecture comprising:
a receive module configured to receive a device identifier that identifies a client device, and to receive a request for a server-based application; a send module configured to send a UI form identifier to said client device in response to said device identifier, said UI form identifier representing at least one UI form definition that specifies characteristics of a UI form for said server-based application; and a data management module configured to retrieve a number of source data items for display in connection with said UI form.
- 45. A server architecture according to claim 44, further comprising an executable module corresponding to said server-based application, said executable module being activated in response to said request.
- 46. A server architecture according to claim 44, wherein said send module is further configured to send said number of source data items to said client device.
- 47. A server architecture according to claim 44, further comprising a shadow cache that stores source data items associated with said client device.
- 48. A server architecture according to claim 47, wherein:
said receive module is further configured to receive information representing new, deleted, or modified source data items; and said data management module is further configured to update said shadow cache to reflect said new, deleted, or modified source data items.
- 49. A server architecture according to claim 44, wherein:
said data management module has access to a total number of source data items associated with said UI form; and said send module is further configured to send a first portion of said total number of source data items to said client device.
- 50. A server architecture according to claim 49, wherein:
said receive module is further configured to receive a second request for additional source data items; said data management module is further configured to retrieve a second portion of said total number of source data items for display in connection with said UI form; and said send module is further configured to send said second portion of said total number of source data items to said client device.
- 51. A server architecture according to claim 50, wherein said receive module receives said second request in response to a manipulation of said UI form.
- 52. A server architecture according to claim 44, further comprising a UI formatting module configured to generate said UI form definition based upon a number of device capabilities for said client device.
- 53. A server architecture according to claim 52, wherein said receive module is further configured to receive said number of device capabilities from said client device.
- 54. A server architecture according to claim 52, wherein said send module is further configured to send said UI form definition to said client device.
- 55. A server architecture according to claim 52, wherein said UI form definition specifies at least one native UI control stored locally at said client device.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______, titled “Platform-Independent Distributed User Interface System Architecture,” filed ______, and to U.S. patent application Ser. No. ______, titled “Platform-Independent Distributed User Interface Client Architecture,” filed ______.