The effort for porting an application strongly depends on the language it is written in and the platform it has been written for. It can be very simple, but in the worst case, it can amount to a rewrite.
If an application is entirely written in Java, it will run unchanged on any platform where the required Java environment is available. For applications or modules written in high-level languages that are not compiled at runtime (such as C and C++), a recompile to the zSeries architecture is required. Applications or modules with operating system or hardware dependencies need to be adapted to account for the different interfaces.
In general, the lower the level of the program language and the more platform-specific features that are used by the code, the more porting effort is to be expected (Figure 18-1). In some cases, it can be advisable not to port but instead rewrite in a higher-level portable language, for example, C or Java.
Figure 18-1. The effort for porting an application depends on the language in which it is written