×

System and method for rapid development of software applications

  • US 8,904,342 B2
  • Filed: 04/27/2008
  • Issued: 12/02/2014
  • Est. Priority Date: 05/25/2007
  • Status: Active Grant
First Claim
Patent Images

1. A system for rapid development of software applications comprising:

  • (a) a memory and a processor;

    (b) a field composer run on a local computer;

    (c) a design composer run on a local computer; and

    (d) a design repository that is used to test the software applications before they are deployed to a runtime environment;

    (d) a central server; and

    (e) a deployment tool that interacts with the design repository and the runtime environment to deploy instances of server software along with a design and associated artifacts;

    wherein the field composer creates a hierarchical view of a relational data model for subsequent use in the design composer, the relational data model comprises a relational data model structure, and the field composer comprises a persistence layer that interrogates the relational data model structure and displays the relational data model structure in a data model view of the field composer;

    wherein the relational data model created by the field composer corresponds to a relational data model of a database, and the field composer connects to the database using the relational data model created by the field composer and analyzes entity classes within an object model of the database along with database metadata available from the database to derive entities and fields to present in the data model view;

    wherein after a user selects desired fields from the relational data model created by the field composer, the selected fields are saved and grouped according to the relational data model of the database;

    wherein the field composer creates field trees, each field tree comprises one or more relational data models, each relational data model is represented by a new root in the field tree, each relational data model is derived from a database schema corresponding to a database schema for a database that is used in the runtime environment, each field tree comprises a certain number of relational data models, the runtime environment comprises a certain number of databases, and the certain number of relational data models in the field tree corresponds to the certain number of databases in the runtime environment;

    wherein the design composer is used to create designs using the field trees created by the field composer and provides an ability to create frames for use across multiple pages;

    wherein the fields selected by the user with the field composer are displayed in a field tree window of the design composer;

    wherein the user creates a page of an automated business system by selecting fields from the field tree window and placing them onto a canvas;

    wherein a design is a partial or complete configuration of a software application;

    wherein the design repository stores the designs, the field trees, and the relational data models created by the field composer;

    wherein the persistence layer allows the central server to communicate with the database(s) in the runtime environment and translates data entered by the user into the automated business system back to the database(s);

    wherein after the data modeling standard is used to automatically infer the structure of the database schema of the database corresponding to the relational data model created by the field composer, the relational data model is derived using a reverse engineering tool;

    wherein the relational data model is updated by updating the database schema from which the relational data model is derived and recreating the relational data model to include changes to the database schema;

    wherein the system automatically generates all database interactions based on fields placed on a page by the user and allows users to define individual page layout, page groupings, and page navigation;

    wherein a customer database has a native database query format, and wherein the persistence layer translates the data entered by an end user to the native database query format of the customer database;

    wherein the relational data models are derived from different types of databases;

    wherein the persistence layer is an application programming interface that communicates with an object model persistence application programming interface; and

    wherein the runtime environment provides for user permissions, and wherein the user permissions include permissions for accessing the application.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×