Legacy Constraints for RAD APIs

Some CLIs contain processing capabilities that are not accessible from an existing API. Such constraints must be considered in the RAD API design.

Existing CLI functionality should be migrated to an API rather than duplicating the functionality in the new RAD interface. Duplication introduces redundancy and significantly increase maintenance complexity. One particular area where RAD interface developers need to be careful is around parameter checking and transformation.

RAD modules must be written in C. Some subsystems, for instance, those written in other languages, have no mechanism for a C module to access API functionality. In these cases, RAD module creators must access whatever functionality is available in the CLI or make a potentially significant engineering effort to access the existing functionality. Possible ways are to rewrite existing code in C or embed a language interpreter in their C module.