Dynamic Object Binding for ERP Customization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional ERP application development is hindered by the need to recompile the entire application for minor changes, resulting in significant time constraints on development, testing, and maintenance due to lengthy compilation times.

Innovation Solution

The RAD system employs an object model with a base class that includes an invoke function, allowing dynamic compilation and instantiation of object classes only when needed, avoiding the need to recompile the entire ERP application each time a change is made.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire ERP application is recompiled to test modifications, then the application maintains consistency and reliability, but the development and testing time increases significantly

Engineering Contradiction:
Improveapplication consistencyVSAvoidcompilation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the monolithic ERP application into independent object classes that can be compiled and loaded separately. Each object class is a self-contained unit with its own source code, allowing selective compilation and testing without recompiling the entire application, thus resolving the contradiction between maintaining application consistency and reducing compilation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic loading of object classes at runtime based on configuration files. The system can dynamically instantiate and load only the required object classes without requiring full application recompilation, enabling rapid testing of modifications while maintaining system reliability through controlled loading mechanisms.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the entire ERP application is recompiled for every modification, then all changes are validated together, but the development speed and productivity decrease

Engineering Contradiction:
Improvechange validationVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by compiling and testing only the modified object class rather than the entire application. The configuration file mechanism enables selective loading of specific object classes, allowing developers to validate changes incrementally and iterate faster while maintaining sufficient validation through targeted testing.

Inventive Principle:
Principle #16Partial or excessive action

3Stability of the object's composition

If objects are bound at compile time, then the application structure is stable and predictable, but the flexibility and adaptability for rapid customization is reduced

Engineering Contradiction:
Improveapplication structureVSAvoidcustomization flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent transitions from static compile-time binding to dynamic runtime binding through configuration files. Object classes are instantiated and bound at runtime based on configuration parameters, allowing the application structure to remain stable while providing flexibility for rapid customization and adaptation to different business requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses configuration files to parameterize object class instantiation and binding. By changing configuration parameters rather than recompiling code, the system can adapt to different customization requirements while maintaining structural stability, enabling rapid deployment of modified object classes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8281292B2Rapid application development
Publication Date: 2012.10.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8281292B2 patent drawing
  • US8281292B2 patent drawing
  • US8281292B2 patent drawing

AI summary

A system to enables Rapid Application Development (“RAD”) is provided. The system provides an object model of an ERP application, which enables software developers to customize the ERP applications. The object model provides a base class that is inherited by each object class. The base class provides an invoke function that is implemented by each object class. During compilation, the RAD system compiles each invocation of a function of an object into a call to a dynamic component passing an identifier of the object, an identifier of the function to be invoked, and the parameters to be passed to the function. The RAD system dynamically compiles, assembles, and instantiates object classes as needed. Because objects are bound at runtime, rather than at compile time, when the source code of an object is modified, the entire ERP application does not need to be recompiled into monolithic IL code and the compilation of object classes is deferred until an object of that class is needed during runtime. The object model thus significantly decreases the time required to customize and extend an ERP application according to the needs of an individual customer.