Claims
- 1. A method of creating a structure of a data store within a storage system comprising:
programmatically receiving (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of data structures, each object of the plurality of objects representing an instance of a data structure of the plurality of data structures; based upon the information regarding definitions of the plurality of data structures and the information regarding relationships among the plurality of data structures, programmatically and dynamically generating one or more statements to define the structure of the data store inferred by the relationships; and creating the structure of the data store by issuing to the storage system the one or more statements.
- 2. The method of claim 1, wherein the one or more statements are part of a data definition expression comprising language statements associated with the storage system.
- 3. The method of claim 1, wherein the one or more statements comprise calls to an application programming interface (API) of the storage system.
- 4. The method of claim 1, wherein the information regarding definitions of a plurality of data structures comprises definitions of a plurality of classes that are specified by semantics of a high-level, object-oriented programming language.
- 5. The method of claim 4, wherein the information regarding relationships is implemented as one or more properties of those of the plurality of classes that embody the relationships.
- 6. The method of claim 4, wherein complex relationships between classes of the plurality of classes are supported, and include one or more of child, parent, peer, children, recursive peer, recursive parent, foreign parent, foreign child, and constant.
- 7. The method of claim 5, wherein the storage system comprises a relational database management system.
- 8. The method of claim 2, wherein the language statements comprise Structured Query Language (SQL) data definition language statements.
- 9. The method of claim 7, wherein within the relational database management system, tables are used to represent the objects participating in the software application.
- 10. The method of claim 9, wherein each table has a primary key.
- 11. The method of claim 1, wherein the storage system comprises an extensible markup language (XML) database system.
- 12. The method of claim 1, wherein the storage system comprises an object-oriented database system.
- 13. A method of accessing a data store within a storage system comprising:
programmatically receiving (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of data structures, each object of a plurality of objects representing an instance of a data structure of the plurality of data structures; in response to receipt of a request to read an object of the plurality of objects from the data store, programmatically and dynamically generating one or more statements based at least in part upon the object's relationship with one or more other objects of the plurality of objects; and querying the data store by issuing to the storage system the one or more statements.
- 14. The method of claim 13, wherein the one or more statements are part of a data query expression comprising language statements associated with the storage system.
- 15. The method of claim 13, wherein the one or more statements comprise calls to an application programming interface (API) of the storage system.
- 16. The method of claim 13, wherein the information regarding definitions of a plurality of data structures comprises definitions of a plurality of classes that are specified by semantics of a high-level, object-oriented programming language.
- 17. The method of claim 16, wherein the information regarding relationships is implemented as one or more properties of those of the plurality of classes that embody the relationships.
- 18. The method of claim 16, wherein complex relationships between classes of the plurality of classes are supported, and include one or more of child, parent, peer, children, recursive peer, recursive parent, foreign parent, foreign child, and constant.
- 19. The method of claim 17, wherein the storage system comprises a relational database management system.
- 20. The method of claim 14, wherein the language statements comprise Structured Query Language (SQL) data query language statements.
- 21. The method of claim 19, wherein within the relational database management system, tables are used to represent the objects participating in the software application.
- 22. The method of claim 21, wherein each table has a primary key.
- 23. The method of claim 15, wherein the storage system comprises an extensible markup language (XML) database system.
- 24. The method of claim 15, wherein the storage system comprises an object-oriented database system.
- 25. A method of manipulating a data store within a storage system comprising:
programmatically receiving (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of data structures, each object of a plurality of objects representing an instance of a data structure of the plurality of data structures; in response to receipt of a request to manipulate an object of the plurality of objects, programmatically and dynamically generating one or more statements based at least in part upon the object's relationship with one or more other objects of the plurality of objects; and manipulating the data store by issuing to the storage system the one or more statements.
- 26. The method of claim 25, wherein the one or more statements are part of a data manipulation expression comprising language statements associated with the storage system.
- 27. The method of claim 25, wherein the one or more statements comprise calls to an application programming interface (API) of the storage system.
- 28. The method of claim 25, wherein the information regarding definitions of a plurality of data structures comprises definitions of a plurality of classes that are specified by semantics of a high-level, object-oriented programming language.
- 29. The method of claim 28, wherein the information regarding relationships is implemented as one or more properties of those of the plurality of classes that embody the relationships.
- 30. The method of claim 28, wherein complex relationships between classes of the plurality of classes are supported, and include one or more of child, parent, peer, children, recursive peer, recursive parent, foreign parent, foreign child, and constant.
- 31. The method of claim 29, wherein the storage system comprises a relational database management system.
- 32. The method of claim 26, wherein the language statements comprise Structured Query Language (SQL) data manipulation language statements.
- 33. The method of claim 31, wherein within the relational database management system, tables are used to represent the objects participating in the software application.
- 34. The method of claim 33, wherein each table has a primary key.
- 35. The method of claim 31, wherein the request to manipulate the object of the plurality of objects comprises one of (i) a request to insert the object into the data store; (ii) a request to update the object in the data store; or (iii) a request to delete the object from the data store.
- 36. The method of claim 25, wherein the storage system comprises an extensible markup language (XML) database system.
- 37. The method of claim 25, wherein the-storage system comprises an object-oriented database system.
- 38. A method comprising:
programmatically receiving information regarding definitions of a plurality of classes associated with a plurality of objects participating in a software application, each class of the plurality of classes containing information regarding its relationships with one or more other classes of the plurality of classes, each object of the plurality of objects representing an instance of a class of the plurality of classes; based upon the definitions of the plurality of classes, programmatically and dynamically generating one or more Structured Query Language (SQL) statements associated with a relational database management system, the one or more SQL statements defining the structure of a relational database inferred by the relationships; creating the structure of the relational database by issuing the one or more SQL statements to the relational database management system; in response to receipt of a request to read an object of the plurality of objects from the relational database: programmatically and dynamically generating one or more SQL statements associated with the relational database management system based at least in part upon relationships of the object with one or more other objects of the plurality of objects; and querying the relational database by issuing the one or more SQL statements to the relational database management system; and in response to receipt of a request to manipulate an object of the plurality of objects:
programmatically and dynamically generating one or more SQL statements associated with the relational database management system based at least in part upon relationships of the object with one or more other objects of the plurality of objects; and manipulating the relational database by issuing the one or more SQL statements to the relational database management storage system.
- 39. A method of accessing a database within a relational database management system comprising:
programmatically receiving (a) information regarding definitions of a plurality of classes specified by semantics of a high-level, object-oriented programming language that are associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of classes; in response to receipt of a request to read one or more objects of the plurality of objects from the database, programmatically and dynamically generating one or more Structured Query Language (SQL) data query language statements based at least in part upon an object template's relationship with one or more other objects of the plurality of objects and the object template's state; and querying the data store by issuing to the relational database management system the one or more SQL data query language statements.
- 40. A method comprising:
programmatically receiving (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of data structures, each object of the plurality of objects representing an instance of a data structure of the plurality of data structures; inferring the need for one or more integrity constraints based upon the information regarding definitions of the plurality of data structures and the information regarding relationships among the plurality of data structures; and instructing a storage system to apply the one or more integrity constraints.
Parent Case Info
[0001] This application claims the benefit of Provisional Application No.60/466,939, filed Apr. 30, 2003, which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60466939 |
Apr 2003 |
US |