Software framework that facilitates design and implementation of database applications
First Claim
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.
4 Assignments
0 Petitions
Accused Products
Abstract
An intelligent framework is provided that is disposed between a high-level language environment and a database system environment. According to one embodiment, the framework programmatically receives information regarding definitions of data structures of objects participating in a software application and information regarding relationships among the objects. Based upon the particular request from the high-level language environment and upon the definitions and relationships, the framework programmatically and dynamically generates appropriate statements associated with the database system environment that accomplish the request. For example, the framework may issue statements to define the structure of a database, access information from the database, and/or manipulate information within the database.
73 Citations
40 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
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. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
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.
-
Specification