The IBM Mainframe runs a whole series of operating systems:
The "flagship operating system" is z/OS, mainly used by financial institutions and multinationals.
z/OS runs on IBM proprietary hardware, the current model is IBM System z10.
You can also run it under a Hercules emulator
.
z/OS offers Unix System Services
.
So basically you can run Unix-type applications on the mainframe, at least that's the theory.
In practice, most applications cannot be easily ported.
For Java this is different, Java offers real platform independence, so running Java applications on the mainframe is not a big deal.
The major big difference with other OS's is the default encoding, which is EBCDIC (CP037 or Cp1047). This is also true for Java applications, although you can start a JVM with ' -Dfile.encoding=ISO8859-1' (IBM WebSphere Application Server does so)
For most Systems programmers, running JSPWiki on the mainframe is a natural choice:
Basically the same procedure
Some Java applications make the false assumption that the default encoding is ASCII, and those don't run correctly on the mainframe.
So when doing IO (files, sockets) think about what the encoding is for the data you are writing/reading :
Specify an encoding when using the getBytes method to convert a String to a ByteArray:
byte myBytes = myString.getBytes("8859_1");
Also specify an encoding when creating a String from a ByteArray:
String myString = new String(myBytes, "8859_1");