Software application programs (herein, programs or applications) may call other application programs to perform a specific functionality. For example, the program Microsoft® Word may call a spreadsheet program to operate on a set of data in a table. When a first program calls a second program, the first program must comply with the application program interface (API) of the second program. As used herein, an API for a program specifies the format of calls to that program and parameters that may be passed to the program. Different application programs, and different versions of the same program, usually have different application program interfaces, even if the programs perform the same functionality. This is particularly true where the applications are from different third-party vendors. Differences in and changes to a program's API may cause conflicts and/or make software upgrades and additions time-consuming and costly because each affected calling application must be reconfigured. As an example, different applications that may be available to a user (e.g., SAP BW 2.0™ and MySAP ERP 1.0™) may be written to call different versions of the Microsoft Excel® spreadsheet (e.g., Excel 2003® and Excel 97®), in which case there may be a conflict between the usages of the Excel® spreadsheet.
To avoid these problems, there is a need in the art for a stable and consistent system having the ability to efficiently and cost-effectively upgrade existing software application programs and add new application programs.