Automated authoring of software solutions from a data model
Assignee27 Software U.S. Inc.
InventorChristopher Zee Chartrand
Life of this patent
Estimating the term…
Abstract
Automatically generating code and related artifacts such as application programming interfaces (APIs) and related documentation from an abstract model of a database. The abstract model is derived from a physical model which may be a source such as a legacy database, an entity relationship diagram, or other schema defining the data tables, objects, entities, or relationships etc. of the source. The generated code may be exposed (that is, made visible to the developer in its pre-compiled state) and further configurable and extendable. Any such extended code is maintained separately from generated code. An API and related documentation are also generated from the same abstract model.
Claims22
A method for generating code from a model of a database, comprising:
- generating base application code from the model;
- generating an extended application code structure for subsequent placement of extended application code, wherein components of the extended application code include one or more code extensions to the base application code, and one or more attributes, properties or rules that are specified other than by generating from the model;
- storing the extended application code structure separately from the base application code;
- exposing the base application code and extended application code structure for developer review, with a warning that the base application code may be regenerated;
- accepting developer modifications to the base application code;
- accepting developer modifications to the components of the extended application code structure;
- accepting developer modifications to the model to provide a revised model;
- and
- regenerating code by:
- overwriting any developer modifications to the base application code by regenerating the base application code from the revised model;
- and
- otherwise preventing any overwriting of the components of the extended application code structure after such developer modifications are made to the components of the extended application code.
A method for generating code from a model of a database, comprising:
- generating base application code from the model;
- generating an extended application code structure for subsequent placement of extended application code, wherein components of the extended application code include one or more code extensions to the base application code, and one or more attributes, properties or rules that are specified other than by generating from the model;
- storing the extended application code structure separately from the base application code;
- exposing the base application code and extended application code structure for developer review, with a warning that the base application code may be regenerated;
- accepting developer modifications to the base application code;
- accepting developer modifications to the extended application code structure;
- accepting developer modifications to the model to provide a revised model;
- and
- regenerating code by:
- overwriting any developer modifications to the base application code by regenerating the base application code from the revised model;
- and
- otherwise preventing any overwriting of the components of the extended application code structure after such developer modifications are made to the extended application code;
- and further comprising:
- generating base user interface (UI) code from the model;
- generating an extended UI code structure for subsequent placement of extended UI code;
- storing the extended UI code structure separately from any base UI code;
- exposing the base UI code and extended UI code structure for developer review, with a warning that the base UI code may be regenerated;
- accepting developer modifications to the base UI code;
- accepting developer modifications to the extended UI code structure, including extended UI code;
- regenerating the base UI code from the revised model by:
- overwriting any developer modifications to the base UI code;
- and
- otherwise preventing any overwriting of the UI extended code after such developer modifications are made to the extended UI code;
- wherein at least some portion of the extended UI code is stored as a configuration file;
- and further comprising:
- generating a compiled representation from one or more of (a) the base application code, (b) extended application code, or (c) base UI code;
- and
- late binding of the extended UI code stored in the configuration file, by interpreting the configuration file when the compiled representation is executed.
A system for generating code from a model of a data store, comprising:
- a computing platform having one or more processors and one or more computer readable memory devices;
- program instructions embodied by the one or more computer readable memory devices, the program instructions causing one or more of the processors, when executed, to generate the code by further:
- generating base application code from the model;
- generating an extended application code structure for subsequent placement of extended application code, wherein components of the extended application code include one or more code extensions to the base application code, and one or more attributes, properties or rules that are specified other than by generating from the model;
- storing the extended application code structure separately from the base application code;
- exposing the base application code and extended application code structure for developer review, with a warning that the base application code may be regenerated;
- accepting developer modifications to the base application code;
- accepting developer modifications to the components of the extended application code structure;
- accepting developer modifications to the model to provide a revised model;
- and
- regenerating code by:
- overwriting any developer modifications to the base application code by regenerating the base application code from the revised model;
- and
- otherwise preventing any overwriting of the components of the extended application code structure after such developer modification are made to the components of the extended application code.
A system for generating code from a model of a data store, comprising:
- a computing platform having one or more processors and one or more computer readable memory devices;
- program instructions embodied by the one or more computer readable memory devices, the program instructions causing one or more of the processors, when executed, to generate the code by further:
- generating base application code from the model;
- generating an extended application code structure for subsequent placement of extended application code, wherein components of the extended application code include one or more code extensions to the base application code, and one or more attributes, properties or rules that are specified other than by generating from the model;
- storing the extended application code structure separately from the base application code;
- exposing the base application code and extended application code structure for developer review, with a warning that the base application code may be regenerated;
- accepting developer modifications to the base application code;
- accepting developer modifications to the extended application code structure;
- accepting developer modifications to the model to provide a revised model;
- and
- regenerating code by:
- overwriting any developer modifications to the base application code by regenerating the base application code from the revised model;
- and
- otherwise preventing any overwriting of the components of the extended application code structure after such developer modifications are made to the extended application code;
- and further comprising:
- generating base user interface (UI) code from the model;
- generating an extended UI code structure for subsequent placement of extended UI code;
- storing the extended UI code structure separately from any base UI code;
- exposing the base UI code and extended UI code structure for developer review, with a warning that the base application code may be regenerated;
- accepting developer modifications to the base UI code;
- accepting developer modifications to the extended UI code structure, including extended UI code;
- regenerating the base UI code from the revised model by:
- overwriting any developer modifications to the base UI code;
- and
- otherwise preventing any overwriting of the UI extended code after such developer modifications are made to the extended UI code;
- wherein at least some portion of the extended UI code is stored as a configuration file;
- wherein the program instructions are further for:
- generating a compiled representation from one or more of (a) the base application code, (b) extended application code, or (c) base UI code;
- and
- late binding of the extended UI code stored in the configuration file, by interpreting the configuration file when the compiled representation is executed.
Dependencies are inferred from the claim text.