Dynamic Object Binding for ERP Customization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If the entire ERP application is recompiled for every modification, then all changes are validated together, but the development speed and productivity decrease
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.
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
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.
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.
Data Source
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.


