Web Images Videos Maps News Shopping Gmail more »
Settings | Sign in

Databinding using server-side control objects

 Gary S. Burd et al
Server-side control objects corresponding to client-side user interface elements are created in a control object hierarchy. Properties of the control objects may be data bound to properties of a server-side data source (e.g., a server-side database). Hierarchical data binding relationships are...
Inventors: Gary S. Burd, Kenneth B. Cooper, Scott D. Guthrie, David S. Ebbo, Mark T. Anders, Ted A. Peters, Stephen J. Millet
Assignee: Microsoft Corporation
Primary Examiners: St. John Courtenay, III

U.S. Classification
719/316; 719/318; 719/311; 707/102

International Classification
G06F 954

View patent at USPTO

Citations

Patent NumberTitleIssue date
5748890Method and system for authenticating and auditing access by a user to non-natively secured applications May 5, 1998
5774670Persistent client state in a hypertext transfer protocol based client-server system Jun 30, 1998
5812996Database system with methods for optimizing query performance with a buffer manager Sep 22, 1998
5835724System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client Nov 10, 1998
5897622Electronic shopping and merchandising systemApr 27, 1999
5940075Method for extending the hypertext markup language (HTML) to support enterprise application data bindingAug 17, 1999
5953524Development system with methods for runtime binding of user-defined classesSep 14, 1999
5961601Preserving state information in a continuing conversation between a client and server networked via a stateless protocolOct 5, 1999
5983227Dynamic page generatorNov 9, 1999
5991802Method and system for invoking methods of objects over the internetNov 23, 1999
6014666Declarative and programmatic access control of component-based server applications using rolesJan 11, 2000
6032207Search mechanism for a queue systemFeb 29, 2000
6076108System and method for maintaining a state for a user session using a web system having a global session serverJun 13, 2000
6108717Control system using plural objects, a programming method therefor, and a peripheral devices control systemAug 22, 2000
6115744Client object API and gateway to enable OLTP via the internetSep 5, 2000
6178461Cache-based compaction technique for internet browsing using similar objects in client cache as reference objectsJan 23, 2001
6185608Caching dynamic web pagesFeb 6, 2001
6205480System and method for web server user authenticationMar 20, 2001
6212192Method and apparatus for synchronizing information browsing among multiple systemsApr 3, 2001
6230160Creating proxies for distributed beans and event objectsMay 8, 2001
6247044Apparatus and method for processing servletsJun 12, 2001
6253228Method and apparatus for updating and synchronizing information between a client and a serverJun 26, 2001
6351767Method and system for automatically caching dynamic content based on a cacheability determinationFeb 26, 2002
6370561Method and system for invoking methods of objects over the internetApr 9, 2002
6373841Integrated LAN controller and web server chipApr 16, 2002
6397253Method and system for providing high performance Web browser and server communicationsMay 28, 2002
6405241Dynamic generation of information using servlet objectJun 11, 2002
6460071System and method for managing client application state in a stateless web browser environmentOct 1, 2002
6460141Security and access management system for web-enabled and non-web-enabled applications and content on a computer networkOct 1, 2002
6480894System and method for maintaining a state for a user session using a web systemNov 12, 2002
6487665Object security boundariesNov 26, 2002
6557038Method and apparatus for maintaining session statesApr 29, 2003
6622168Dynamic page generation acceleration using component-level cachingSep 16, 2003

Claims

What is claimed is:

1. In a server computer coupled to a client computer system, a method of data binding a property of a descendent server-side control object to a property of a data set in a server-side data table having one or more data sets, wherein the descendent server-side control object corresponds to a client-side user interface element, the method comprising:

iterating over each data set of the server-side data table to create a binding container server-side control object corresponding to each data set;
associating each binding container server-side control object with one of the data sets of the server-side data table;
creating a descendent server-side control object for a property of each data set, a given descendent server-side control object being a descendent of the binding container server-side control object corresponding to a given data set and being associated with a property of the given data set; and
establishing a data binding relationship between the property of the descendent server-side control object and the property of one of the data sets of the server-side data table.

2. The method of claim 1 further comprising:

loading the server-side data table from a server-side database;
associating an iterating server-side control object with the server-side data table;
creating the iterating server-side control object in a server-side control object hierarchy, wherein each binding container server-side control object is a child of the iterating server-side control object; and
storing the server-side data table as a property of the iterating server-side control object.

3. The method of claim 2 wherein the operation of associating an iterating server-side control object comprises:

setting a data source property of the iterating server-side control object to reference the server-side data table.

4. The method of claim 2 wherein the iterating operation comprises:

creating each binding container server-side control element as a child of the iterating server-side control object, each binding container server-side control object being associated with a given data set of the server-side data table.

5. The method of claim 1 wherein the establishing operation comprises:

creating a binding object including a control identifier of the descendent server-side control object, a first property identifier of the property of the descendent server-side control object, a binding container identifier of the binding container server-side control object, a second property identifier of the property of the data set of the server-side data table.

6. The method of claim 1 further comprising:

transmitting data stored as the property of the descendent control object for storage as the property of the data set of the server-side data table, based on the data binding relationship.

7. The method of claim 1 further comprising:

receiving data stored as the property of the of the server-side data table for storage in the property of the descendent control object, based on the data binding relationship.

8. In a server computer coupled to a client computer system, a computer data signal embodied in a carrier wave by a computing system and encoding a computer program for executing a computer process data binding a property of a descendent server-side control object to a property of a data set in a server-side data table having one or more data sets, wherein the descendent server-side control object corresponds to a client-side user interface element, the computer process comprising:

iterating over each data set of the server-side data table to create a binding container server-side control object corresponding to each data set;
associating each binding container server-side control object with one of the data sets of the server-side data table;
creating a descendent server-side control object for a property of each data set, a given descendent server-side control object being a descendent of the binding container server-side control object corresponding to a given data set and being associated with a property of the given data set; and
establishing a data binding relationship between the property of the descendent server-side control object and the property of one of the data sets of the server-side data table.

9. In a server computer coupled to a client computer system, a computer program storage medium readable by a computer system and encoding a computer program for executing a computer process data binding a property of a descendent server-side control object to a property of a data set in a server-side data table having one or more data sets, wherein the descendent server-side control object corresponds to a client-side user interface element, the computer process comprising:

iterating over each data set of the server-side data table to create a binding container server-side control object corresponding to each data set;
associating each binding container server-side control object with one of the data sets of the server-side data table;
creating a descendent server-side control object for a property of each data set, a given descendent server-side control object being a descendent of the binding container server-side control object corresponding to a given data set and being associated with a property of the given data set; and
establishing a data binding relationship between the property of the descendent server-side control object and the property of one of the data sets of the server-side data table.

10. A computer program product encoding a computer program for executing on a computer system a computer process for data binding a property of a descendent server-side control object to a property of a server-side data array having one or more data objects, wherein the child server-side control object corresponds to a client-side user interface element, the computer process comprising:

loading the server-side data array from a server-side database;
associating an iterating server-side control object with the server-side data table;
creating the iterating server-side control object in a server-side control object hierarchy;
storing the server-side data array as a property of the iterating server-side control object;
create a binding container server-side control object corresponding to one of the data objects, wherein the binding container server-side control object is a child of the iterating server-side control object:
associating the binding container server-side control object with the one of the data objects of the server-side data array;
creating a descendent server-side control object for each property of each data object each descendent server-side control object being a descendent of the binding container server-side control object; and
establishing a data binding relationship between the property of the descendent server-side control object and the property of the server-side data array.

11. The computer program product of claim 10 wherein the operation of associating an iterating server-side control object comprises:

setting a data source property of the iterating server-side control object to reference the server-side data array.

12. The computer program product of claim 11 wherein the iterating operation of associating the iterating server-side control object comprises:

creating each binding container server-side control element as a child of the iterating server-side control object, each binding container server-side control object being associated with a given data object of the server-side data array.

13. The computer program product of claim 10 wherein the establishing operation comprises:

creating a binding relationship object including a control identifier of the descendent server-side control object, a property identifier of the property of the descendent server-side control object, a binding container identifier of the binding container server-side control object, an property identifier of the property of the data object of the server-side data array.

14. The computer program product of claim 10 further comprising:

sending data stored as the property of the descendent control object for storage as the property of the data object of the server-side data array, based on the data binding relationship.

15. The computer program product of claim 10 further comprising:

receiving data stored as the property of the data object of the server-side data array for storage in the property of the descendent control object, based on the data binding relationship.

16. A server for performing server-side data binding using a hierarchy of server-side control objects corresponding to client-side user interface elements, the server comprising:

a server-side data array having one or more data objects, each data object including a property;
an iterating server-side control object in a server-side control object hierarchy and being associated with the server-side data array;
one or more binding container server-side control objects iteratively created by the iterating server-side control object based on a number of data objects in the server-side data array;
one or more descendent server-side control objects corresponding to a property of each data object of the server-side data array, each descendent server-side control being created as a child of the binding control server-side control object of a given data object in the server-side data array; and
a data binding relationship structure describing a data binding relationship between a property of the descendent control object and the property of the data object of the server-side data array.

17. The server of claim 16 further comprising:

a push module storing data from the property of the descendent control object to the property of the data object of the server side data array, based on the data binding relationship.

18. The server of claim 16 further comprising:

a push module storing data from the property of the data object of the server side data array to the property of the descendent control object, based on the data binding relationship.

19. The server of claim 16 further comprising:

a portion of a server-side datastore loaded into the server-side data array.

20. The server of claim 16 further comprising:

a portion of a server-side datastore into which the server-side data array is saved.