Software application development environment facilitating development of a software application
First Claim
Patent Images
1. A software application development environment facilitating development of a software application, the software application development environment comprising:
- a) a plurality of classes, each class in the plurality comprising a plurality of metadata describing characteristics defining a structure of said each class, each class in the plurality comprisingi) a class-body comprising a plurality of class-body members, each member comprising a plurality of class-body member metadata in the plurality of metadata, the class-body metadata describing characteristics defining the class-body members, and wherein the plurality of class-body members metadata for a class are stored together, andii) a class-head comprising a plurality of class-head metadata in the plurality of metadata, the class-head metadata describing characteristics defining the class-head; and
b) a database configured to store the class-body and the class-head;
c) a plurality of metadata describing characteristics defining an application, each application in a plurality of applications comprising;
i) an application-body comprising a plurality of class-heads for classes composing the application, wherein the plurality of class-heads of the classes that compose the application are stored together, and wherein each of the class-heads has metadata pointing to its class-body storage, andii) an application-head comprising a plurality of application-head metadata in the plurality of metadata, the application-head metadata describing characteristics defining the application;
d) a plurality of metadata describing characteristics defining a domain wherein a plurality of software applications related to a domain are organized in a domain software catalog comprising a plurality of metadata describing characteristics defining a domain in a plurality of domains, each domain in the plurality comprisingi) a domain software catalog-body comprising a plurality of application-heads that make up the domain software catalog, and wherein the plurality of application-head metadata that make up the domain software catalog are stored together, and wherein each application-head has metadata pointing to said application-body storage, andii) a domain software catalog-head comprising a plurality of domain software catalog-head metadata in the plurality of metadata, the domain-head metadata describing characteristics defining the domain;
e) a virtual program configured to deploy the software application;
f) a memory configured to store the software application; and
g) an editor configured to modify at runtime at least a portion of the software application from at least a portion of the plurality of metadata after the deployment of the software application.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a method for developing a software application including the step of creating a software application having one or more classes, each class comprising one or more metadata describing characteristics defining the class. The method also includes the step of enabling any number of additional metadata to be added to the metadata of the class to facilitate the development of the software application. Also, the metadata and the additional metadata are organized in a tabular fashion.
-
Citations
14 Claims
-
1. A software application development environment facilitating development of a software application, the software application development environment comprising:
-
a) a plurality of classes, each class in the plurality comprising a plurality of metadata describing characteristics defining a structure of said each class, each class in the plurality comprising i) a class-body comprising a plurality of class-body members, each member comprising a plurality of class-body member metadata in the plurality of metadata, the class-body metadata describing characteristics defining the class-body members, and wherein the plurality of class-body members metadata for a class are stored together, and ii) a class-head comprising a plurality of class-head metadata in the plurality of metadata, the class-head metadata describing characteristics defining the class-head; and b) a database configured to store the class-body and the class-head; c) a plurality of metadata describing characteristics defining an application, each application in a plurality of applications comprising; i) an application-body comprising a plurality of class-heads for classes composing the application, wherein the plurality of class-heads of the classes that compose the application are stored together, and wherein each of the class-heads has metadata pointing to its class-body storage, and ii) an application-head comprising a plurality of application-head metadata in the plurality of metadata, the application-head metadata describing characteristics defining the application; d) a plurality of metadata describing characteristics defining a domain wherein a plurality of software applications related to a domain are organized in a domain software catalog comprising a plurality of metadata describing characteristics defining a domain in a plurality of domains, each domain in the plurality comprising i) a domain software catalog-body comprising a plurality of application-heads that make up the domain software catalog, and wherein the plurality of application-head metadata that make up the domain software catalog are stored together, and wherein each application-head has metadata pointing to said application-body storage, and ii) a domain software catalog-head comprising a plurality of domain software catalog-head metadata in the plurality of metadata, the domain-head metadata describing characteristics defining the domain; e) a virtual program configured to deploy the software application; f) a memory configured to store the software application; and g) an editor configured to modify at runtime at least a portion of the software application from at least a portion of the plurality of metadata after the deployment of the software application. - View Dependent Claims (2, 3, 4)
-
-
5. A method for deploying a software application, the method comprising:
-
a) developing source code of the software application from a class comprising a plurality of metadata stored in databases and describing characteristics of the class, the class comprising; i) a class-body comprising a plurality of class-body members, each member comprising a plurality of class-body member metadata in the plurality of metadata, the class-body member metadata describing characteristics defining the class-body members, and wherein the plurality of class-body members metadata for a class are stored together, and ii) a class-head comprising a plurality of class-head metadata in the plurality of metadata, the class-head metadata describing characteristics defining the class-head; and b) further extending the metadata associated with the class-head and class-body by adding additional metadata to the databases; c) storing the class-body into a plurality of rows and a plurality of columns in at least one database, each row representing a class-body member definition and each column representing metadata defining a single characteristic of the class-body member; d) declaring a plurality of metadata describing characteristics defining an application, each application in a plurality of applications comprising; i) an application-body comprising a plurality of class-heads for classes composing the application, wherein the plurality of class-heads of the classes that compose the application are stored together, and wherein each of the class-heads has metadata pointing to its class-body storage, and ii) an application-head comprising a plurality of application-head metadata in the plurality of metadata, the application-head metadata describing characteristics defining the application; e) declaring a plurality of metadata describing characteristics defining a domain wherein a plurality of software applications related to a domain are organized in a domain software catalog comprising a plurality of metadata describing characteristics defining a domain in a plurality of domains, each domain in the plurality comprising i) a domain software catalog-body comprising a plurality of application-heads that make up the domain software catalog, and wherein the plurality of application-head metadata that make up the domain software catalog are stored together, and wherein each application-head has metadata pointing to said application-body storage, ii) a domain software catalog-head comprising a plurality of domain software catalog-head metadata in the plurality of metadata, the domain software catalog-head metadata describing characteristics defining the domain, and iii) storing the plurality of metadata for the plurality of domain software catalog-heads and wherein each domain-head has metadata pointing to its domain software catalog-body storage; f) deploying the software application directly from the source code; and g) enabling an end user at runtime to modify a value of selected metadata of the class-head which results in changing the program execution path to reflect the changes in the class-head metadata value. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium comprising computer program instructions capable of being executed in a processor and capable of deploying a software application and defining the steps comprising:
-
a) deploying an application having a document role from source code of the software application, the software application comprising a plurality of classes, each class comprising a plurality of metadata stored in databases and describing characteristics of the class, the class comprising; i) a class-body comprising a plurality of class-body members, each member comprising a plurality of class-body member metadata in the plurality of metadata the class-body metadata describing characteristics defining the class-body members, and wherein the plurality of class-body members metadata for a class are stored together, and ii) a class-head comprising a plurality of class-head metadata in the plurality of metadata, the class-head metadata describing characteristics defining the class-head; and b) further extending the metadata associated with the class-head and class-body by adding additional metadata to the databases; c) storing the class-body into a plurality of rows and a plurality of columns in at least one database;
d) declaring a plurality of metadata describing characteristics defining an application, each application in a plurality of applications comprising;i) an application-body comprising a plurality of class-heads for classes composing the application, wherein the plurality of class-heads of the classes that compose the application are stored together, and wherein each of the class-heads has metadata pointing to its class-body storage, and ii) an application-head comprising a plurality of application-head metadata in the plurality of metadata, the application-head metadata describing characteristics defining the application; e) declaring a plurality of metadata describing characteristics defining a domain wherein a plurality of software applications related to a domain are organized in a domain software catalog comprising a plurality of metadata describing characteristics defining a domain in a plurality of domains, each domain in the plurality comprising i) a domain software catalog-body comprising a plurality of application-heads that make up the domain software catalog, and wherein the plurality of application-head metadata that make up the domain software catalog are stored together, and wherein each application-head has metadata pointing to said application-body storage, ii) a domain software catalog-head comprising a plurality of domain software catalog-head metadata in the plurality of metadata, the domain software catalog-head metadata describing characteristics defining the domain, and iii) storing the plurality of metadata for the plurality of domain software catalog-heads and wherein each domain-head has metadata pointing to its domain software catalog-body storage; f) reading metadata stored for the application having the document role; g) deploying one or more applications having a data role; h) reading metadata stored for said one or more applications having a data role; i) appending classes of said one or more applications having the data role to classes of said application having the document role to create a runtime inheritance between the application having the document role and the one or more applications having the data role; and j) generating a plurality of object data structures for each class of the one or more applications having the data role and for each class of the application having the document role, each of said data structures comprising metadata elements of a class-head of the applications and an array of data substructures comprising metadata elements for at least one member of a class-body of said applications.
-
Specification