IP Library Granted Patent US 9,678,727
Granted Patent B1
US 9,678,727 · App. 14/982,256 · Granted Jun 13, 2017

Code generator tool for building software applications with reusable components

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,678,727
App. No.
14/982,256
Granted
Jun 13, 2017
Kind
B1
Abstract

A method and computer program product for building a multiple layer object-oriented software application with reusable components. The method includes creating business classes containing a business logic for the software application, wherein the business classes are organized into hierarchies identified as namespaces, and then generating executable programming code for the software application. From there, the method may include placing the executable programming code into an at least one assembly structure for an associated layer, wherein a security token is required to access the business classes, and wherein the business classes are created to validate each security token passed by a user interface.

Claims (37)

1. A method, comprising:

creating business classes containing a business logic for a software application;

generating executable programming code for the software application;

entering a designed business class into a code generator tool that reads template solutions from a template solution file, wherein the code generator supports multiple solution templates; and

placing the executable programming code into at least one assembly structure for an associated layer;

wherein inheritance is based on a type of the associated layer and different base classes are used for different layers, and only a business logic layer, a serializable data layer, and a data access layer included in the template solutions can be modified based on the designed business class wherein the template solutions further include a user interface layer and a remote hosting layer not modified by the class design.

2. The method of claim 1 , further comprising:

generating a plurality of templates, each template comprising a plurality of reusable components;

storing the templates in a template solution file; and

selecting at least one template from the plurality of templates in the template solution file.

3. The method of claim 1 , wherein the associated layer comprises one of a data layer, a data access layer, a business logic layer, and a user interface layer.

4. The method of claim 3 , wherein an executable logic for each layer is placed into an assembly data structure.

5. The method of claim 3 , wherein the business logic layer comprises business objects and rules and data manipulation and transformation logic.

6. The method of claim 3 , wherein the user interface layer comprises an end user interface into the software application.

7. The method of claim 3 , wherein the data access layer comprises an interface into the data layer having generic and specific methods to handle all data input and output for the software application.

8. The method of claim 1 , wherein a business logic assembly and a data access assembly include all secure logic for the software application.

9. The method of claim 8 , wherein a plurality of methods in each of the business logic assembly and the data access assembly require a security token to be passed to each respective assembly in order to access the plurality of methods.

10. A non-transitory computer readable medium comprising instructions that, when executed by a processor, are configured to cause the processor to:

create business classes containing a business logic for a software application;

generate executable programming code for the software application;

enter a designed business class into a code generator tool configured to read template solutions from a template solution file, wherein the code generator supports multiple solution templates; and

place the executable programming code into at least one assembly structure for an associated layer;

wherein inheritance is based on a type of the associated layer and different base classes are used for different layers, and only a business logic layer, a serializable data layer, and a data access layer included in the template solutions can be modified based on the designed business class wherein the template solutions further include a user interface layer and a remote hosting layer not modified by the class design.

11. The non-transitory computer readable medium of claim 10 , wherein the instructions are further configured to cause the processor to:

enable a remote host to interact on the processor via deployment of a user interface assembly, a business logic assembly, a serializable data assembly, and a utility assembly;

generate a plurality of templates, each template comprising a plurality of reusable components;

store the templates in a template solution file; and

select at least one template from the plurality of templates in the template solution file.

12. The non-transitory computer readable medium of claim 10 , wherein the associated layer comprises one of a data layer, a data access layer, a business logic layer, and a user interface layer.

13. The non-transitory computer readable medium of claim 10 , wherein the associated layers comprise one of a serializable data layer and a remote host layer.

14. The non-transitory computer readable medium of claim 12 , wherein an executable logic for each layer is placed into an assembly data structure.

15. The non-transitory computer readable medium of claim 12 , wherein the business logic layer comprises program instructions that define business objects and rules and data manipulation and transformation for a plurality of business logic classes.

16. The non-transitory computer readable medium of claim 12 , wherein the user interface layer comprises program instructions that generate an end user interface into the software application.

17. The non-transitory computer readable medium of claim 12 , wherein the data access layer comprises program instructions that generate an interface into the data layer and define generic and specific methods for a plurality of data access classes to handle all data input and output for the software application.

18. The non-transitory computer readable medium of claim 11 , wherein the business logic assembly and the data access assembly comprise program instructions that provide all secure logic for the software application.

19. The non-transitory computer readable medium of claim 18 , wherein a plurality of methods in each of the business logic assembly and the data access assembly require a security token to be passed to each respective assembly in order to access the plurality of methods.

20. The non-transitory computer readable medium of claim 18 , wherein the program instructions in a user interface assembly pass a user token to the business logic assembly to access the business logic methods of the business logic classes.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: CHAFFIN, MARY ELLEN
To: SOUTHERN COMPANY SERVICES, INC.
Reel/Frame 057543/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: SOUTHERN COMPANY SERVICES, INC.
To: OPEN INVENTION NETWORK LLC
Reel/Frame 057543/0065 →