Code Generator Tool for N-Tier C# Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development methodologies face challenges in reusing source code across applications, leading to inefficiencies and increased costs due to the need for repetitive development of common components, resulting in less than 10% of technology investments being completed on time and within budget.

Innovation Solution

A productivity tool for generating N-tier C# application frameworks with reusable components, organizing business classes into hierarchies and generating executable code, which includes security tokens for access control, allowing for consistent and maintainable applications across different layers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications are built from scratch without code generation, then developers have full control over customizing each application, but valuable time and resources are spent on repetitive tasks and common components that could be reused

Engineering Contradiction:
Improvedevelopment speedVSAvoidtime spent on common components
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The code generator performs preliminary actions by pre-defining common application components, structures, and configurations in templates. When generating an application, these pre-prepared elements are automatically instantiated, eliminating the need for developers to manually create repetitive code structures, thereby saving time and resources while maintaining consistency across applications

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The code generator creates copies of standardized application templates and common components for each new application. Instead of building from scratch, developers can generate multiple applications by copying and customizing proven templates, ensuring consistency in common parts while allowing customization of business-specific logic

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If applications are built from scratch without code generation, then each application can be uniquely customized, but there is little or no consistency or commonality in code, structure, and conventions across applications

Engineering Contradiction:
Improveapplication customizationVSAvoidcode consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The code generator segments an application into standardized common components (handled by templates) and customizable business-specific components. The template defines the stable, consistent structure that is copied across applications, while allowing developers to customize specific segments like business logic and data models, thereby achieving both consistency and adaptability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The code generator creates a universal base structure through templates that can be applied across multiple applications. This universal template provides consistent code organization, configuration patterns, and common components that serve multiple applications, while still allowing each application to be customized for its specific needs

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If applications are built from scratch without code generation, then developers can create unique solutions for each project, but maintenance costs increase due to lack of standardization and consistency

Engineering Contradiction:
Improveapplication reliabilityVSAvoidmaintenance cost
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The code generator performs preliminary actions by pre-defining common application components, structures, and configurations in templates. When generating an application, these pre-prepared elements are automatically instantiated, eliminating the need for developers to manually create repetitive code structures, thereby saving time and resources while maintaining consistency across applications

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The code generator applies homogeneity by ensuring all generated applications follow the same standardized structure, conventions, and patterns defined in the template. This homogeneous approach to code organization and common components makes maintenance easier across the application portfolio, as developers familiar with one application's structure can easily work on others

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS9223546B1Code generator tool for building software applications with reusable components
Publication Date: 2015.12.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9223546B1 patent drawing
  • US9223546B1 patent drawing
  • US9223546B1 patent drawing

AI summary

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.