State management of server-side control objects
First Claim
1. A methiod for managing a state of a server-side control object corresponding to a client-side user interface element incorporated in a web page displayed on a client, the method comprising:
- creating the server-side control object in a control object hierarchy to process the client-side user interface element;
receiving from the client a transportable state structure including state information indicating a state value for at least one server-side control object in the control object hierarchy, extracting the state information from the transportable state structure; and
loading the state value from the state information into a property of the server-side control object, if the state value is associated with the server-side control object.
2 Assignments
0 Petitions
Accused Products
Abstract
The state of one or more server-side control objects is managed using a transportable state structure that is communicated between a web server and a client. The transportable state structure may include state information, hierarchical information, and an integrity code. The state information is related to properties of the server-side control objects. The hierarchical information is used by the server to locate an appropriate server-side control object in the hierarchy into which associated state information is to be loaded. The integrity code allows the server to determine whether the transportable state structure was corrupted during the round-trip between the server and the client. Prior to a response to the client, the state information of one or more server-side control objects is recorded into the transportable state structure for transmission to the client in the response. The transportable state structure is then returned to the server and loaded into the server-side control objects to restore the hierarchy to its previous state.
127 Citations
24 Claims
-
1. A methiod for managing a state of a server-side control object corresponding to a client-side user interface element incorporated in a web page displayed on a client, the method comprising:
-
creating the server-side control object in a control object hierarchy to process the client-side user interface element;
receiving from the client a transportable state structure including state information indicating a state value for at least one server-side control object in the control object hierarchy, extracting the state information from the transportable state structure; and
loading the state value from the state information into a property of the server-side control object, if the state value is associated with the server-side control object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
extracting from the transportable state structure a state value associated with a property of the at least one server-side control object; and
identifying a hierarchical location of the server-side control object within the control object hierarchy based on hierarchical information within the transportable state structure.
-
-
3. The method of claim 2 wherein the loading operation comprises:
-
locating the server-side control object within the control object hierarchy based on the hierarchical location identified in the identifying operation;
traversing the hierarchical location of the server-side control object within the control object hierarchy; and
storing the state value into the property of the server-side control object.
-
-
4. The method of claim 1 wherein the transportable state structure further includes a received integrity code, and further comprising:
-
reading the received integrity code from the transportable state structure;
calculating a calculated integrity code from the state information included in the transportable state structure; and
comparing the received integrity code with the calculated integrity code to determine whether the transportable state structure is valid.
-
-
5. The method of claim 1 further comprising:
-
initializing a property of the server-side control object to have an initial state;
setting an indication to represent that the state of the property of the server-side control object is unchanged from the initial state; and
changing the indication to represent that the property of the server-side control object has changed from the initial state, if the property was loaded with the state value from the transportable state structure.
-
-
6. The method of claim 5 further comprising:
setting the indication to indicate that the property of the server-side control object is unchanged from the initial state, if the property is data bound to a field of a server-side datastore.
-
7. The method of claim 5 further comprising:
-
traversing each server-side control object in the control object hierarchy; and
storing the state information of the server-side control object into the transportable state structure for transmission back to the client, if the indication represents that the state information of the server-side control object has changed from its initial state.
-
-
8. The method of claim 7 further comprising:
transmitting the transportable state structure to the client in a response with authoring language data defining the web page.
-
9. The method of claim 7 further comprising:
-
calculating an integrity code from the state information include in the transportable state structure, responsive to the operation of storing the state information;
storing the integrity code in the transportable state structure; and
transmitting the transportable state structure to the client in a response with authoring language data defining the web page.
-
-
10. The method of claim 1 further comprising:
generating authoring language code defining at least a portion of the web page from the at least one server-side control object in the control object hierarchy.
-
11. The web page defined by the authoring language code and being interpretable by a browser executing on a client computer system coupled to a web server, the authoring language code being substantially generated at the web server by the method of claim 10, wherein the authoring language code includes the transportable state structure storing state information for at least one server-side control object in the control object hierarchy.
-
12. A computer program storage medium readable by a computer system and encoding a computer program for executing a computer process managing a state of a server-side control object corresponding to a client-side user interface element incorporated in a web page displayed on a client, the computer process comprising:
-
creating the server-side control object in the control object hierarchy to process the client-side user interface element;
receiving from the client a transportable state structure including state information indicating a state value for at least one server-side control object in the control object hierarchy, extracting the state information from the transportable state structure; and
loading the state value from the state information into property of the server-side control object, if the state value is associated with the server-side control object.
-
-
13. A computer data signal embodied in a carrier wave by a computing system having and encoding a computer program for executing a computer process managing a state of a server-side control object corresponding to a client-side user interface element incorporated in a web page displayed on a client, the computer process comprising;
-
creating the server-side control object in the control object hierarchy to process the client-side user interface element;
receiving from the client a transportable state structure including state information indicating a state value for at least one server-side control object in the control object hierarchy, extracting the state information from the transportable state structure; and
loading the state value from the state information into property of the server-side control object, if the state value is associated with the server-side control object.
-
-
14. A computer program product encoding a computer program for executing in a computer system a computer process for managing a state of a plurality of server-side control objects created in a control object hierarchy and corresponding to a plurality of client-side user interface elements incorporated in a web page displayed on a client, the computer process comprising;
-
receiving from the client a transportable state structure including state information associated with one or more server-side control objects in the control object hierarchy;
deserializing the state information to extract a state value, an associated property data type, and hierarchical information for a property of a server-side control object;
locating the server-side control object within the control object hierarchy based on the hierarchical information; and
loading the state value into the property of the server-side control object. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
converting the state value have the associated property data type prior to the loading operation.
-
-
16. The computer program product of claim 14 wherein the computer process further comprises:
-
initializing the property of the server-side control object to have an initial state;
setting an indication to represent that the property of the server-side control object is unchanged from the initial state; and
changing the indication to represent that the property of the server-side control object has changed from the initial state, if the property was loaded with the state value from the transportable state structure.
-
-
17. The computer program product of claim 15 wherein the loading operation comprises traversing one or more of the server-side control objects in the control object hierarchy, and for each server-side control objects, the loading operation further comprises:
-
extracting a property value from the server-side control object associated with the indication representing that the state of the server-side control object has changed from its initial state; and
serializing the property value into the transportable state structure with the property values from other server-side control objects in the control object hierarchy for transmission back to the client.
-
-
18. The computer program product of claim 16 wherein the loading operation further comprises:
-
extracting a property data type from the server-side control object associated with the property value; and
serializing the property data type into the transportable state structure with the property value of the server-side control object for transmission back to the client.
-
-
19. The computer program product of claim 16 wherein the loading operation further comprises:
storing into the transportable state structure hierarchical information relating to the server-side control object in the control object hierarchy for transmission to the client.
-
20. The computer program product of claim 17 wherein the computer process further comprises:
transmitting the transportable state structure to the client in a response with authoring language data defining a web page.
-
21. The computer program product of claim 17 wherein the computer process further comprises:
-
calculating an integrity code from the state information stored in the transportable state structure, responsive to the serializing operation;
storing the integrity code in the transportable state structure; and
transmitting the transportable state structure to the client in a response with authoring language data defining a web page.
-
-
22. The computer program product of claim 14 wherein the transportable state structure further includes a received integrity code, and further comprising:
-
reading the received integrity code from the transportable state structure;
calculating a calculated integrity code from the state information include in the transportable state structure; and
comparing the received integrity code with the calculated integrity code to determine if the transportable state structure is valid.
-
-
23. A handler system executed in a server computer for processing a request including a transportable state structure storing a state value and a data type from a client computer, the handler system comprising:
-
a hierarchy of server-side control objects created by the handler and associated with client-side user interface elements, at least one of the server-side control objects including a property;
a loader module storing the state value received in the transportable state structure into the property of the server-side control object, based on the data type; and
a saver module storing the property and the data type into a transportable state structure. - View Dependent Claims (24)
a reader module extracting the state value, associated hierarchical information, and the data type from transportable state structure; and
a traversal module locating the control object within the control object hierarchy, based on the associated hierarchical information.
-
Specification