Abstract: The present invention solves issues relating to the development of database applications, such as complex process of writing codes, time and resource involvement in updating and editing the applications and the process of correcting bugs and errors while re- writing the codes. The present invention discloses a tool 10 for creating a design driven database application, wherein a set of menus, tables, fields, indexes, relations, business logic, reports etc. are definable. By developing an application with this tool, there is no need of writing separate codes for each client requirement.
Automated and Simplified Development of Database Applications
Field of the Invention
The present invention relates to the development of computer database
applications, and more particularly, to the automatic creation of computer
database applications.
5
Background
Modern enterprise computer systems involve a large numbers of transactions.
Each type of transaction requires a sophisticated user interface, and a complex
relational database with recurring and ad hoc reporting capabilities. It is also
10 necessary to deploy such applications over the internet or intranet environments
and hence, it becomes essential for the application to employ a client-server
architecture. As a result the application is developed in two parts with the first
part comprising a server-side application developed and run on one or more
“server” computers incorporating the database and providing “back-end”
15 functions and a second part comprising one or more “client” applications
providing individual user interfaces being executed on individual “client”
computers that communicate with the “server” computers.
The complex nature of each application requires a large team for its development,
20 maintenance and support. The difficulties associated with recruiting, managing,
and retaining highly technical staff for this purpose and the uncertainties of
managing large projects in complex and changing business environments make
such applications expensive, highly risky, and often unsuccessful. Furthermore,
as these applications become increasingly complex as they are improved and
25 evolve, and require additional engineering, physical and economic resources to
enhance, debug, and maintain. Even relatively simple or minor modifications
require extensive understanding and re- testing of the modified application.
On the other hand, programming methodologies associated with application
30 development have changed very little over the past three decades. Even though
the marketplace is flooded with a variety of development tools and new
3
programming languages, complex applications continue to require considerable
development effort. Improvement in productivity is impeded by traditional
paradigms related to traditional tasks such as tedious and time-consuming design
document creation, low level design functions, manual testing and debugging of
applications under development, and the error- prone nature of applicati5 on
correction and improvement.
Other deficiencies inherent in traditional complex application development result
from variations in quality through all phases of development such as requirement
10 definition, design specification, programming, testing, and all related
communications between customers, end users, designers, systems analysts,
programmers, and testers. For example, application developers are often isolated
or buffered by management or marketing from direct interaction with customers
and therefore, may not fully appreciate or comprehend the design requirements as
15 anticipated by the end-user. Also, when the development activity spans many
months or years, as is often the case, design requirements may change as
marketplace trends change the customer’s business needs are forced to adapt to
such changes. As a result the application soon becomes obsolete.
20 Under current practice, whenever the application requires be updating or editing
in any manner, the design needs to be re-written resulting in bugs and errors. The
process of identifying mistakes and making corrections is both time and resource
intensive, while at the same time difficult to manage for time and cost compliance.
25 Such complex applications take a lot of time to complete. Forms are developed at
different times or by different programmers which may not resemble uniformly,
resulting in lack of consistency. Moreover, if a new concept needs to be included
in the developed application, it is equivalent to developing the whole application
anew.
30
4
Summary
The above- mentioned problems and limitations are overcome by means of the
present invention which provides a method of creating a client-server based
database application, by creating one or more data-structures defining parameters
of the man-machine interface requirements of the client system and parameters 5 s of
the functional requirements of the server system, using said data structures to
cause a universal database application to configure said client systems to
implement the man-machine interface requirements based on said parameters and
using said data structures to cause a universal database application to configure
10 said server systems to perform functional requirements in accordance with the
parameters. The data structures in the above method are created by assigning
specific or default values to visual and functional parameter of man-machine
interface element on the client systems, defining specific or default parameter
values for each function required to be performed at the server systems and
15 storing said specific and default values in a predefined format accepted by said
universal database application.
The invention enables the development of client-server based database
applications by providing a requirement definition tool for creating one or more
20 data-structures containing a set of parameters defining the man-machine interface
and functional requirements of the client system and a set of parameters and
operation sequences defining the functional requirements of the server system
and providing a universal database application capable of causing each said
client system to provide the specified man-machine interface and perform the
25 specified functions while at the same time causing each said server system to
perform the specified functions of each server system.
In an embodiment, the invention comprises a system for creating a client-server
database application comprising a design parameter specifier for creating one or
30 more design data structures containing parameters defining man-machine
interface requirements for client systems as well as functional requirements for
5
server systems and a universal database application caused by said design data
structures to configure said client systems and server systems to perform the
functional and man-machine interface requirements of said database application
at client systems as well as the functional requirements at the server systems.
5
Brief Description of Figures
The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in
which the reference number first appears. The same numbers are used throughout
10 the drawings to reference like features and components.
Figure 1 illustrates a flow diagram depicting a process for creating the
database application according to an exemplary embodiment of the
present invention.
15 Figure 2 illustrates a block diagram of the system for creating a database
application, according to an exemplary embodiment of the present
invention.
Figure 3 illustrates an exemplary representation of the design, according to
an embodiment of the invention.
20 Figure 4 illustrates an exemplary representation of user interface on client
system for one table ‘Account’ according to an embodiment of the
present invention.
Detailed Description
25 The following discussion provides a brief, general description of a suitable
computing environment in which various embodiments of the present disclosure
can be implemented. The aspects and embodiments are described in the general
context of computer executable mechanisms such as routines executed by a
general purpose computer e.g. a server or personal computer. The embodiments
30 described herein can be practiced with other system configurations, including
Internet appliances, hand held devices, multi-processor systems, microprocessor
6
based or programmable consumer electronics, network PCs, mini computers,
mainframe computers and the like. The embodiments can be embodied in a
special purpose computer or data processor that is specifically programmed
configured or constructed to perform one or more of the computer executable
mechanisms explained in detail 5 below.
Exemplary embodiments now will be described with reference to the
accompanying drawings. The disclosure may, however, be embodied in many
different forms and should not be construed as limited to the embodiments set
forth herein; rather, these embodiments are provided so that this disclosure will be
10 thorough and complete, and will fully convey its scope to those skilled in the art.
The terminology used in the detailed description of the particular exemplary
embodiments illustrated in the accompanying drawings is not intended to be
limiting. In the drawings, like numbers refer to like elements.
The specification may refer to “an”, “one” or “some” embodiment(s) in several
15 locations. This does not necessarily imply that each such reference is to the same
embodiment(s), or that the feature only applies to a single embodiment. Single
features of different embodiments may also be combined to provide other
embodiments.
As used herein, the singular forms “a”, “an” and “the” are intended to include the
20 plural forms as well, unless expressly stated otherwise. It will be further
understood that the terms “includes”, “comprises”, “including” and/or
“comprising” when used in this specification, specify the presence of stated
features, integers, steps, operations, elements, and/or components, but do not
preclude the presence or addition of one or more other features, integers, steps,
25 operations, elements, components, and/or groups thereof. It will be understood
that when an element is referred to as being “connected” or “coupled” to another
element, it can be directly connected or coupled to the other element or
intervening elements may be present. Furthermore, “connected” or “coupled” as
used herein may include wirelessly connected or coupled. As used herein, the
30 term “and/or” includes any and all combinations and arrangements of one or more
of the associated listed items.
7
Unless otherwise defined, all terms (including technical and scientific terms) used
herein have the same meaning as commonly understood by one of ordinary skill
in the art to which this disclosure pertains. It will be further understood that terms,
such as those defined in commonly used dictionaries, should be interpreted as
having a meaning that is consistent with their meaning in the context of 5 the
relevant art and will not be interpreted in an idealized or overly formal sense
unless expressly so defined herein.
The figures depict a simplified structure only showing some elements and
10 functional entities, all being logical units whose implementation may differ from
what is shown. The connections shown are logical connections; the actual
physical connections may be different. It is apparent to a person skilled in the art
that the structure may also comprise other functions and structures. It should be
appreciated that the functions, structures, elements and the protocols used in
15 communication are irrelevant to the present disclosure. Therefore, they need not
be discussed in more detail here.
In addition, all logical units described and depicted in the figures include the
software and/or hardware components required for the unit to function. Further,
20 each unit may comprise within itself one or more components, which are
implicitly understood. These components may be operatively coupled to each
other and be configured to communicate with each other to perform the function
of the said unit.
25 The present invention relates to a tool for creating a design driven database
application. A set of pre-defined menus, tables, fields, indexes, relations, business
logic mechanism, reports etc. are created in the design parameter specifier. A
back end database is created using one of the commonly used databases such as
SQL, MySQL, Oracle etc. User inputs are captured by way of forms which are
30 initially created for data entry. The formats of forms and reports thus generated
are created only once, and they cover almost all types of data fields required by
8
all possible database applications. By developing such an application, there is no
requirement of writing separate codes for each client requirement.
Figure 1 illustrates a flow diagram depicting a method 100 of creating a database
application, according to an embodiment of the present invention. The 5 method
comprises creating 102 one or more data-structures defining parameters of the
man-machine interface requirements of the client system and parameters of the
functional requirements of the server system. Said data structures are created by
assigning specific or default values to visual and functional parameters of man10
machine interface element on the client systems, defining specific or default
parameter values for each object required at the server systems, and storing said
specific or default values in a predefined format accepted by a universal database
application. Further, the method comprises using 104 said data structures to cause
the universal database application to configure said client systems to implement
15 the man-machine interface requirements based on said parameters and using 106
said data structures to cause the universal database application to configure said
server systems to perform functional requirements in accordance with said
parameters. The step of using the universal database application is accomplished
by applying selected parameters stored in said data structures to one or more
20 predefined generic functions that cause said client system to provide the specified
man-machine interface and applying selected parameters stored in said data
structures to one or more predefined generic functions that cause said server
system to perform the required actions. Said assignment of values to visual and
functional parameters of man-machine interface elements comprises
25 selecting desired man- machine interface elements and specifying one or more of
appearance, location and grouping parameter values and choosing desired
functions from a predefined set of functions applicable to one or more of said
selected interface elements and defining values to associated parameters of said
functions. The assignment of values to parameters of functions to be performed at
30 server systems comprises choosing desired functions from a predefined set of
functions and defining values to associated parameters of said functions.
9
The generic functions that cause each client system to provide the specified manmachine
interface include functions for causing client systems to create visual and
non-visual man-machine interface elements in accordance with said specified
parameter values and functions for causing client systems to provide desired
operations on said created visual and non-visual man-machine interface eleme5 nts
in accordance with said specified parameter values. The generic functions that
cause each said server system to perform the required actions comprise functions
to create, read, update or delete fields, records, tables or databases.
10 Figure 2 illustrates a system for creating a database application according to an
embodiment of the present invention. As shown, a system for creating a clientserver
database application comprises of a design parameter specifier 202 for
creating one or more design data structures 204 containing parameters defining
man-machine interface requirements for client systems as well as functional
15 requirements for server systems, and a universal database application 206 caused
by said design data structures 204 to configure said client systems and server
systems to perform the functional and man-machine interface requirements of
said database application at client systems as well as the functional requirements
at the server systems.
20
According to an embodiment of the invention, said design parameter specifier
consists of a universal database application 206 for creating or updating one or
more design data structures conforming to a predefined format appropriate for
said universal database application, using parameter values provided for one or
25 more design elements or functions selected from a predefined set of design
elements and functions.
Figure 3 illustrates an exemplary representation of the design of a database
application. As shown on the screenshot, there are 236 tables in total, and the
30 table ‘Account’ has 26 fields. The table ‘Account’ has a column ‘Tab’ defining
the order of forms for client man- machine interface. The Page tab has additional
10
information about the table. As an optional embodiment, this table ‘Account’ can
be assigned to multiple modules in the Module tab. Multiple indexes may be
defined and relations may be defined as primary and foreign relations. The combo
tab as shown defines the drop down box, where multiple columns are defined.
Adjacent to the Combo tab, there is Key tab that defines behavior of different 5 nt hot
keys for table Account. Var Tab defines various events to take effect in Server
side as informed by Client side to accommodate various kind of business logic
and validations etc. There are options available for adding new tables, fields,
indexes, relations, events etc.
10
Figure 4 illustrates an exemplary representation of user interface on client system
form for one table ‘Account’ as defined in Figure 3. As shown, Each Module
Name appears here as Main Menu in Top Bar. Each Table within a Module
appears as part of sub menu in Side Bar. Form for Table ‘Account’ is displayed as
15 current form chosen on client machine as man- machine interface. There are
multiple Drop Down controls. e.g. Drop Down with columns Name, Id, and
FinalAccount Nature defined in Combo Tab of Table Head above and Head Table
defined is Primary to Table Account. The interface is so created that, in this
example Field ‘Area_Id’ onwards are placed separately, by virtue of ‘Additional’
20 tab being mentioned.
Implementation of the present invention ensures that the developed database
application is reliable owing to centralized definitions used to create database and
application and therefore, embodiments of the present disclosure are highly
25 interactive and efficient.
Advantages of the present invention are as herein described:
An automatic table/index/relation creator is disclosed.
Keyboard Navigation with keys Insert, Delete, Home, PgUp, UpArrow,
30 Down Arrow, Pg Down, End. These keys brings even fresh data from the
server.
11
The Continuity in record movement is maintained while scrolling
down/up arrow without loading all records on client machine at once.
Only most relevant few records are loaded in client machine from server
machine governed by parameters.
5
The function of ‘Edit’ and ‘Insert’ is within the grid itself. On starting to
type in relevant field, we get some identifier e.g. in Pointer position.
The record is Auto Saved when the currently edited record is exited.
10 Another advantage is that the Horizontal Scroll bar is avoided by placing
many controls on the page below the main grid. This page displays the
contents of currently pointed record automatically. Intelligent Multiple
Record selection system is developed for Multi Record Delete/Export.
15 Yet another advantage is that Dynamic Combo Boxes are created i.e. Drop
Down Controls with Multi Column Grid based display.
Any numbers of Sub Form buttons can be created automatically.
Further, events are implemented dynamically for each control Enter/Exit
and for each Record Before/After Update and On Delete etc.
20 Undo feature is available for any and every control for any and every
record on current grid by pressing a designated key e.g. Esc in this case
As will be appreciated by one of skill in the art, the present invention may be
embodied as a method, system, or computer program product but not limited
25 thereto. Accordingly, the present invention may take the form of an entirely
hardware embodiment, a software embodiment or an embodiment combining
software and hardware aspects all generally referred to herein as a "circuit" or
"module." Furthermore, the present invention may take the form of a computer
program product on a computer-usable storage medium having computer-usable
30 program code embodied in the medium.
12
We claim:
1. A method of creating a client- server based database application,
comprising the steps of:
- creating one or more data-structures defining parameters of the 5 manmachine
interface requirements of the client system and parameters of
the functional requirements of the server system;
- using said data structures to cause a universal database application to
configure said client systems to implement the man-machine interface
10 requirements based on said parameters; and
- using said data structures to cause a universal database application to
configure said server systems to perform functional requirements in
accordance with said parameters.
15 2. A method as claimed in claim 1 wherein the step of creating said data
structures comprises:
- assigning specific or default values to visual and functional parameter
of man-machine interface element on the client systems;
- defining specific or default parameter values for each object required at
20 the server systems; and
- storing said specific and default values in a predefined format accepted
by said universal database application.
3. A method as claimed in claim 1 wherein the step of using said universal
25 database application comprises:
- applying selected parameters stored in said data structures to one or
more predefined generic functions that cause said client system to
provide the specified man-machine interface; and
- applying selected parameters stored in said data structures to one or
30 more predefined generic functions that cause said server system to
perform the required actions.
13
4. A method as claimed in claim 2, wherein said assigning values to visual and
functional parameters of man-machine interface elements comprises:
- selecting desired man-machine interface elements and specifying one
or more of appearance, location and grouping parameter values; and
- choosing desired functions from a predefined set of functi5 ons
applicable to one or more of said selected interface elements and
defining values to associated parameters of said functions.
5. A method as claimed in claim 2, wherein said assigning values to
10 parameters of functions to be performed at server systems comprises
choosing desired functions from a predefined set of functions and defining
values to associated parameters of said functions.
6. A method as claimed in claim 3, wherein said generic functions that cause
15 each said client system to provide the specified man-machine interface
comprise:
- functions for causing client systems to create visual and non-visual
man-machine interface elements in accordance with said specified
parameter values; and
20 - functions for causing client systems to provide desired operations on
said created visual and non-visual man-machine interface elements in
accordance with said specified parameter values.
7. A method as claimed in claim 3, wherein said generic functions that cause
25 each said server system to perform the required actions comprise functions
to create, read, update or delete fields, records, tables or databases.
8. A method of enabling the development of client-server based database
applications, comprising the steps of:
30 - providing a requirement definition tool for creating one or more datastructures
containing a set of parameters defining the man-machine
14
interface and functional requirements of the client system and a set of
parameters and operation sequences defining the functional
requirements of the server system; and
- providing a universal database application capable of causing each said
client system to provide the specified man-machine interface 5 and
perform the specified functions while at the same time causing each
said server system to perform the specified functions of each server
system.
10 9. A system for creating a client-server database application comprising:
- a design parameter specifier for creating one or more design data
structures containing parameters defining man-machine interface
requirements for client systems as well as functional requirements for
server systems; and
15 - a universal database application caused by said design data structures to
configure said client systems and server systems to perform the
functional and man-machine interface requirements of said database
application at client systems as well as the functional requirements at
the server systems.
20
10. A system as claimed in claim 9, wherein said design parameter specifier
comprises a universal database application for creating or updating one or
more design data structures conforming to a predefined format appropriate
for said universal database application, using parameter values provided
25 for one or more design elements or functions selected from a predefined
set of design elements and functions.
| # | Name | Date |
|---|---|---|
| 1 | 3279-DEL-2014-FER.pdf | 2021-10-17 |
| 1 | Form 3.pdf | 2014-11-14 |
| 2 | 22439-1_PS.pdf | 2014-11-14 |
| 2 | 3279-DEL-2014-FORM 4(ii) [20-11-2020(online)].pdf | 2020-11-20 |
| 3 | Drawing [10-11-2015(online)].pdf | 2015-11-10 |
| 3 | Form 18 [09-01-2017(online)].pdf | 2017-01-09 |
| 4 | Description(Complete) [10-11-2015(online)].pdf | 2015-11-10 |
| 5 | Drawing [10-11-2015(online)].pdf | 2015-11-10 |
| 5 | Form 18 [09-01-2017(online)].pdf | 2017-01-09 |
| 6 | 22439-1_PS.pdf | 2014-11-14 |
| 6 | 3279-DEL-2014-FORM 4(ii) [20-11-2020(online)].pdf | 2020-11-20 |
| 7 | 3279-DEL-2014-FER.pdf | 2021-10-17 |
| 7 | Form 3.pdf | 2014-11-14 |
| 1 | searchE_19-05-2020.pdf |