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:
- automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and the storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures, each object of the plurality of objects generated as a result of compilation of the software application by a compiler and representing an instance of a data structure of the plurality of data structures, wherein said programmatically receiving includes interrogating the plurality of objects;
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 a data definition expression (DDE) comprising one or more statements to define the structure of the data store inferred by the relationships; and
in response to receipt of a request from the software application, the intelligent framework causing the storage system to create the structure of the data store by directing the storage system based on 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.
1148 Citations
45 Claims
-
1. A method of creating a structure of a data store within a storage system comprising:
-
automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and the storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures, each object of the plurality of objects generated as a result of compilation of the software application by a compiler and representing an instance of a data structure of the plurality of data structures, wherein said programmatically receiving includes interrogating the plurality of objects; 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 a data definition expression (DDE) comprising one or more statements to define the structure of the data store inferred by the relationships; and in response to receipt of a request from the software application, the intelligent framework causing the storage system to create the structure of the data store by directing the storage system based on the one or more statements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 37, 42)
-
-
12. A method of accessing a data store within a storage system comprising:
-
automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and the storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures, each object of a plurality of objects generated as a result of compilation of the software application by a compiler and representing an instance of a data structure of the plurality of data structures, wherein said programmatically receiving includes interrogating the plurality of objects; in response to receipt of a request from the software application to read an object of the plurality of objects from the data store, programmatically and dynamically generating a data query expression (DQE) comprising 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 responsive to the request, the intelligent framework causing the storage system to retrieve information associated with the object from the data store by querying the storage system based on the one or more statements. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 38, 43)
-
-
23. A method of manipulating a data store within a storage system comprising:
-
automatically and programmatically receiving from a software application by an intelligent framework coupled between a high-level language environment and the storage system (a) information regarding definitions of a plurality of data structures associated with a plurality of objects participating in the software application, and (b) information regarding relationships among the plurality of data structures, each object of a plurality of objects generated as a result of compilation of the software application by a compiler and representing an instance of a data structure of the plurality of data structures, wherein said programmatically receiving includes interrogating the plurality of objects; in response to receipt of a request from the software application to manipulate an object of the plurality of objects, programmatically and dynamically generating a data manipulation expression (DME) comprising 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 responsive to the request, the intelligent framework causing the storage system to manipulate the data store by directing the storage system based on the one or more statements. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 44)
-
-
35. A method comprising:
-
automatically and programmatically receiving by an intelligent framework coupled between a high-level language environment and a relational database management system 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 generated as a result of compilation of the software application by a compiler and representing an instance of a class of the plurality of classes, wherein said programmatically receiving includes interrogating the plurality of objects; based upon the definitions of the plurality of classes, programmatically and dynamically generating one or more Structured Query Language (SQL) statements associated with the relational database management system, the one or more SQL statements defining the structure of a relational database inferred by the relationships; causing the storage system to create the structure of the relational database by directing the relational database management system based on the one or more SQL statements; 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 causing the relational database management system to retrieve information associated with the object by querying the relational database management system based on the one or more SQL statements; 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 causing the relational database management system to manipulate the relational database by directing the relational database management system based on the one or more SQL statements. - View Dependent Claims (40, 45)
-
-
36. A method of accessing a database within a relational database management system comprising:
-
automatically and programmatically receiving by an intelligent framework coupled between a high-level language environment and the relational database management system (a) information regarding definitions of a plurality of classes specified by semantics of a high-level, object-oriented programming language and generated by a compiler that are associated with a plurality of objects participating in a software application, and (b) information regarding relationships among the plurality of classes, wherein said programmatically receiving includes interrogating the plurality of objects; in response to receipt of a request from the software application to read one or more objects of the plurality of objects from the database, the intelligent framework programmatically and dynamically generating one or more Structured Query Language (SQL) data query language statements based at least in part upon a relationship of an object template associated with the one or more objects with one or more other objects of the plurality of objects and a state of the object template; and the intelligent framework causing the relational database management system to retrieve information associated with the one or more objects by querying the relational database management system based on the one or more SQL data query language statements. - View Dependent Claims (41)
-
Specification