Development tool, method, and system for client server...

Data processing: software development – installation – and managem – Software program development tool – Programming language

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S116000, C717S122000, C707S793000

Reexamination Certificate

active

06553563

ABSTRACT:

FIELD OF THE INVENTION
The method, and system of our invention relate to client server systems, and especially to development tools, methods and systems that build upon functions, routines, subroutines, subroutine calls, or object oriented programming.
BACKGROUND OF THE INVENTION
Programming paradigms built upon such concepts as functions and function calls, subroutines and subroutine calls, global variables and local variables, and object orientation are characterized by such features as “reusable code” and “inheritance.”
In older languages, such as FORTRAN and BASIC, reusability and inheritance were obtained through crafting of functions, routines, and subroutines that were called through global variables in a main program. Subsequently, this has evolved into object oriented programming in such languages as C++ and Java and is built upon a programming paradigm foundation of objects, functions, and class data types. An “object” is a variable that has “functions” associated with it. These functions are called “member functions.” A “class” is a data type whose variable are “objects.” The object's class, that is, the type of the object, determines which member functions the object has.
In a modern, object oriented programming language, such as C++or Java, the mechanism to create objects and member functions is a “class.” Classes can support “information hiding” which is a critical part of modem program design. In “information hiding”, one programming team may design, develop, and implement a class, function, routine, or subroutine while another programming team may use the new class, function, routine, or subroutine. It is not necessary for the programmers who use the class, function, routine, or subroutine to know how it is implemented.
To be noted is that “object oriented programming” uses the terms “public” and “private” while the older techniques use the terms “global” and “local” for the domain of variables.
One aspect of both paradigms is “code reusability,” whether implicitly by the subroutine or function calls of FORTRAN and the like or explicitly by declaring variables in C++ or JAVA.
There is an especially strong need for a development environment, including development tools, and either functions, routines, and subroutines with global and local variables, or base classes, to allow end users to develop business applications customized to their needs and derived from the supplied functions, routines, and subroutines with global and local variables, or base classes.
SUMMARY OF THE INVENTION
The method and system of our invention involve an application development environment. The invention is designed to meet the customization needs of demanding sales, marketing, and customer service information system deployments.
One embodiment of our invention is a system for customizing an application program. The system includes a plurality of reusable modules (characterized as “base” modules in object oriented programming literature and as functions, routines and subroutines in other programming paradigms) for incorporation into end-user derived modules (characterized as “derived” in object oriented programming literature). At least one of the reusable modules has a set of variables accessible by an end-user (“public” in object oriented programming and “global” in conventional programming) and a set of variables not accessible by the end-user (“private” in object oriented programming and “local” in conventional programming). When a derived module incorporates a reusable module, the derived module inherits attributes of the reusable module.
A further aspect of our invention is the provision of a graphical editor for modifying and managing software modules, and an object visualization editor for graphically representing relationships between modules and variables within modules. A further aspect of our invention is the provision of one or more applet designer modules for doing one or more of modifying and extending lists, forms, dialogs, and chart user interfaces. The system can also include one or more view designer modules for visually modifying existing views, as well as wizard modules for creating end user created modules. In one embodiment of our invention at least one of the wizard modules provides an enumeration of required end-user entries for an end user module, this being in response to an end-user entry of the type of end-user created module to be created.
A directory or module repository manager may be provided to allow only one end-user to modify a module at one time.
Depending on the underlying source code, the system of the invention may include a compiler or translator for incremental compilation or translation of end user created modules.
In a preferred embodiment the system of our invention includes one or more interfaces for accessing data and rules from external applications.
In still another embodiment, especially useful for spreadsheet or database applications, the system includes database extension modules for extending a database and to capture data from new fields in one or more of application screens, and external sources. In a particularly preferred embodiment, the database extension modules may contain modules for triggering updates to client applications that reflect and incorporate new database extensions, and for reflecting new columns in existing end user created modules.
A further aspect of the system of our invention is the provision of modules for notification of conflicts between new end user created modules and existing modules. These conflict notification modules may be incorporated in the translator or compiler, or in an index to the repository.
A further aspect of our invention is a method for customizing an application program. This method works with the system of the invention, summarized above, and includes the steps of modifying and managing the end user created modules through a graphical editor; and graphically representing relationships between modules and variables within modules.
A further aspect of the method of our invention is doing one or more of modifying and extending lists, forms, dialogs, and chart user interfaces. Another aspect of our invention is visually modifying existing views.
Another aspect of the method of our invention is creating end user created modules using wizard modules. This may include the additional step of providing an enumeration of required end-user entries for an end user created module in response to an end-user entry of the type of end-user derived module to be created.
Yet another aspect of our invention is storing derived (that is, end user created) modules in a derived module repository manager. This is to allow only one end-user to modify a software module at one time.
A still further aspect of our invention is incrementally compiling a derived module.
Another aspect of our invention is accessing data and rules from external software applications through interfaces.
Another aspect of our invention is extending or scaling a database, that is, modifying its metadata and/or schema, to include new fields and capturing data from new fields in one or more of application screens, and external sources. A further aspect of this is triggering updates to client applications that reflect and incorporate new database extension, as well as reflecting new columns in existing end user created modules.
A further aspect of our invention is providing notification of conflicts between end user created modules and existing modules.
The software development method and system of our invention utilize a suite of tools that serve as the bases for “reusability”, whether implicitly or explicitly. This enables developers to rapidly configure all aspects of the underlying application software, including the look-and-feel, behavior, and workflow, without modifying application source code, SQL, or base classes. The sophisticated repository management capabilities of the method and system of our invention allows teams of developers to work efficiently on configuring applications.
The suite of co

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Development tool, method, and system for client server... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Development tool, method, and system for client server..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Development tool, method, and system for client server... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3058567

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.