OS/2 Kit for Java - For the latest build you need to go to InnoTek's website, the latest build is never kept here. ============================================ = InnoTek OS/2 Kit for Java 1.4.2_05 = ============================================ Release 1.4.2_05 (Build 50) - 2004-07-09 1. Introduction ~~~~~~~~~~~~~~~ InnoTek OS/2 Kit for Java 1.4.2_05 is an implementation of the latest Sun Java 2 Platform, Standard Edition 1.4.2_05 for the IBM OS/2 operating system environment. InnoTek has licensed the Java 2 SE platform from Sun Microsystems and has certified the product to be Java Compatible (TM). Based upon the current Java technology from Sun Microsystems, including the optimizing HotSpot(TM) compiler, InnoTek OS/2 Kit for Java 1.4.2_05 represents the latest Java technology available on OS/2 and greatly outperforms any other Java implementation on OS/2 for typical client application scenarios. InnoTek OS/2 Kit for Java 1.4.2_05 is available as both a Java Runtime Environment (JRE), which is a size optimized distribution for deploying and runnning Java based appliations, and a Java Software Development Kit (SDK) which provides a complete environment for developing, debugging, deploying and executing Java based appliations. InnoTek OS/2 Kit for Java 1.4.2_05 provides full support for all Java 2 SE 1.4.2_05 platform features including - OJI browser plugin support for IBM Web Browser for OS/2 and Mozilla - Java Web Start 1.4.2_05 - Java HotSpot(TM) compilers for client and server environments InnoTek OS/2 Kit for Java 1.4.2_05 is closely based on the original Sun reference implementation for the Windows platform and reduces the OS/2 specific implementation parts to a minimum. This results in several important advantages: - timely (in most cases instant) availability of new versions, fixlevels of the Java 2 platform - significantly improved startup times compared to traditional ports of Java to OS/2 (factor 2-6) - extremely low development and maintenance costs, enabling InnoTek to offer the product at a very competitive price and continue development and support as long as required by its customers. InnoTek is committed to providing current Java technology to OS/2 enterprise users until every customer making use of the Java technology has completed the transition to modern platforms. InnoTek's architecture has been developed specifically to allow serving a small and declining market and thus protecting customer investments. 2. Requirements ~~~~~~~~~~~~~~~ InnoTek OS/2 Kit for Java runs on top of the IBM OS/2 platform. According to IBM's OS/2 support guidelines, InnoTek recommends using the OS/2 Convenience Pack or Fixpack 16+ versions of OS/2. InnoTek has performed testing of the product on OS/2 Convenience Pack. Deploying the OS/2 Kit on an earlier version of OS/2 is possible but support restrictions might apply. Please contact InnoTek for more information on deploying the OS/2 Kit for Java on a specific level of OS/2. 3. Installation ~~~~~~~~~~~~~~~ Installation of the InnoTek OS/2 Kit for Java 1.4.2_05 is very straightforward. The installation program is available in two versions (Runtime Edition or SDK). Installation is performed using the self extracting installer. In standard mode, a user interface will guide you through the installation. When selecting the target directory, you are free to choose any directory on a drive supporting long filenames (for best performance, JFS or HPFS386 formatted drives are recommended). The installer also provides support for fully automated installations (CID). More information about performing unattended installations can be found by calling the installer with the /? parameter. For a sample unattended installation to e:\java142, use the following command line: install.exe /u /d=e:\java142 NOTE: Do not install a JRE on top of an existing SDK installation (or vice versa). Manually delete the old directory first. 3.1 Java Plug-In Installation In order to install support for the Java Plug-In in Mozilla for OS/2 or IBM Web Browser for OS/2, copy the following files from the JRE bin directory to the plugins directory of the browser: - npj2.dll - npj2_j11.dll - npj2_j12.dll - npj2_j13.dll - npj2_j14.dll - npj2_j32.dll - npj2_jpi.dll Do not copy any additional files. Currently, there is no automated installation of the Java Plug-In. Please note that when updating to a later build of the InnoTek OS/2 Kit for Java 1.4.2_05, you have to also update the Java Plug-In files again. Note that when there is a version mismatch between the Java Plug-In and the OS/2 Kit for Java installation, you will receive a warning message at browser startup time. 3.2 Java Web Start Browser Configuration In order to integrate Java Web Start with your browser, you have to register it as a helper application. Due to the various browser products and versions available on OS/2, this is not done automatically during installation. In the browser settings, open the helper application settings and define a new type. Use the following values to define the entry: Description of type: Java Web Start File Extension: jnl jnlp MIME type: application/x-java-jnlp-file Application to use: \jre\javaws\javaws.exe Note that when installing the JRE, javaws.exe will be located at \javaws\javaws.exe. 4. Support ~~~~~~~~~~ InnoTek provides enterprise class support for the OS/2 Kit for Java. This includes support for installing and using the OS/2 Kit for Java and J2SE on OS/2 as well as product defect and maintenance support. InnoTek's service level includes the guarantee that by using the OS/2 Kit for Java, the J2SE Runtime Environment and SDK will behave identically to the Windows platform. In other words, if something works correctly on Windows but does not work correctly on OS/2 using the same JVM and the OS/2 Kit for Java, InnoTek support will address the problem and provide a solution. This does not apply where OS/2 has architectural limitations or deficiencies (which a traditional port of a JVM for OS/2 would not be able to address either). This ensures that the OS/2 Kit for Java provides an equal or better service level than a traditional port of Java to OS/2. In order to further improve support and customer acceptance, InnoTek offers the complete source code of the OS/2 Kit for Java to its enterprise customers. 5. Additional Information ~~~~~~~~~~~~~~~~~~~~~~~~~ This section contains additional information for using the OS/2 Kit for Java. 5.1 Time Zones OS/2 Kit for Java provides a time zone mapping between the Windows time zone architecture and the Java time zone architecture. Unfortunately, on OS/2 there is no well defined method for specifying the time zone properties such as time zone name, list of important cities, daylight saving time start, end, offset, etc. The only source of information is the TZ environment variable which on most OS/2 systems is incorrect (according to the Unix standard). OS/2 Kit for Java will evaluate the TZ variable during installation and choose a matching Windows time zone. This information is recorded in the OS/2 registry. If the TZ variable cannot be evaluated (because it does not exist or its format does not exist), the Central European time with daylight saving time will be chosen (GMT+01:00, major cities: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna). 5.2 User Home Directory OS/2 Kit for Java uses the following algorithm for determining the user home directory (the first defined value will be used): 1. environment variable USER_HOME 2. environment variable HOME 3. property java.home 4. environment variable JAVA_HOME 5. jre directory This is different from the behavior found in the IBM Java implementations on OS/2 and closer to the original Sun behavior. The original behavior of earlier releases of the OS/2 Kit for Java is no longer available. 5.3 File System Codepage OS/2 Kit for Java defaults to codepage 1252 for file system operations (for Latin 1 systems). This matches the behavior of the original Windows Java environment (ANSI). From Java's point of view, the system property file.encoding will return the current codepage. Using the environment variable JAVA2_FILEENCODING, it is possible to change this value to e.g. match the IBM JVM. For a Latin 1 system, using SET JAVA2_FILEENCODING=Cp858 would result in the OS/2 Kit for Java to match the IBM JVM behavior. In case you are dealing with text files in the file system and want to support existing files created with the IBM JVM or exchange them with other OS/2 applications, you should add this environment variable to your CONFIG.SYS. 5.4 Font Support OS/2 Kit for Java supports TrueType fonts only. By default, the fonts that come with Java are supported as well as the TrueType fonts installed in the WinOS/2 directory on OS/2. In order to make OS/2 Kit for Java recognize additional TrueType fonts, you have to copy the font files to the JRE lib\fonts directory. 5.5 Determining Installation Paths For users that want to e.g. create application startup scripts compatible with the OS/2 Kit for Java, the installer will put information in both the OS/2 registry and OS2.INI. The information in the OS/2 registry matches the information found on a Windows installation and is located at HKEY_LOCAL_MACHINE\ Software\J2WIN\REGROOT_HKEY_LocalMachine\Software\ JavaSoft. It can be read using the OS/2 registry editor (regedit2.exe) or OS/2 APIs (registry.dll). As e.g. Rexx scripts cannot access the OS/2 registry by default, the installer will also put the relevant information in OS2.INI. For the JRE, the application name is "OS2 Kit for Java" and for the SDK, the application name is "OS2 Kit for Java SDK". Note that the user might choose to install both the SDK and the JRE (even multiple versions of each) simultaneously so both application names might exist. Below the application, there is a key called "CurrentVersion" which refers to the version that was installed last. For the current release, this will be "1.4.2_05". There is also a key with the name of the release (i.e. "1.4.2_05" for the current product) which will point to the JRE directory (i.e. the "bin" directory for a JRE package and the "jre\bin" directory for a SDK package). When multiple versions are installed, CurrentVersion will point to the most recently installed but there may be additional keys with paths to the other versions. Therefore a correct lookup would look for both the JRE and SDK application names (unless the SDK is a requirement for the specific script) and then evaluate the CurrentVersion value (unless a very specific version is mandatory which in reality should not be the case). It should then lookup the path using the value of CurrentVersion. 6. Known Problems / Restrictions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DBCS and BIDI language environments have not been fully tested with this release. Support for DBCS and BIDI environments will be added based on customer demand. - Support for the Java Plug-In for Netscape 4.x is not included in this version. Provided there is sufficient customer demand, Netscape 4.x can be supported in a future release of the OS/2 Kit for Java. - The OS/2 TCP/IP configuration applications cannot be run with the OS/2 Kit for Java due to a bug in the JNI code coming with the TCP/IP configuration tool. A fix from IBM is available (APAR IC40875). - When installing the OS/2 Kit for Java on a HPFS drive, JVM startup time will be significantly slower than on Windows. This is due to the cache size limitation of 2MB imposed by HPFS.IFS. Using JFS or HPFS386 and setting the cache size similar to a Windows configuration, excellent JVM startup times can be experienced. InnoTek has invested considerable efforts to optimize startup time even in a low cache size HPFS configuration. 7. List of Changes ~~~~~~~~~~~~~~~~~~ 2004-07-09: 1.4.2_05 Release (Build 60) - updated to the latest Sun 1.4.2_05 release which includes the latest bugfixes and security enhancements - added IBM compatible LX JVM API (jvm.dll) - added full support for IBM proprietary 64bit extensions - added support for attaching external threads in LX JNI DLLs to a JVM instance - added support for the DB2 JDBC application driver - added support for running DB2 stored procedures - resolved several SMP issues - implemented new algorithm for determining the user.home location (documented above) - several other bugfixes 2004-04-01: 1.4.2_04 Release (Build 056) - updated to the latest Sun 1.4.2_04 release which includes the latest bugfixes and security enhancements - determine system language form SET LANG in CONFIG.SYS instead of COUNTRY setting (for countries with more than one language) - make use of InnoTek Runtime for OS/2 for increased performance, stability and reduced memory consumption - converted to the new common InnoTek installation engine - fixed SSL communication errors with Java Web Start - resolved hangs with the Java Console - several other bugfixes 2003-10-30: 1.4.2_02 Release (Build 043) - updated to the latest Sun 1.4.2_02 release which includes the latest bugfixes and security enhancements - refuse installation if a prerelease version is currently in memory (locked files) - fixed error in Java Web Start that would prevent startup of Java Web Start on some systems - fixed keyboard layout switching once again - rewrote PM keyboard message hook processing - several bugfixes based on customer feedback 2003-08-27: 1.4.2_01 Release (Build 039) - updated to the latest Sun 1.4.2_01 release which includes the latest bugfixes and security enhancements - improved support for SMP environments - fixed mouse wheel handling (for best results, we recommend the AMouse driver) - fixed semahore leak in thread handling - fixed input for dual-codepage languages (e.g. Russian) - support direct execution of .cmd files (through cmd.exe) - improved performance for FPU intensive operations (typically benchmarks) - changed browser plugin to operate in combination with the LIBPATHSTRICT=T setting - added check to enforce version consistency between the browser plugins and the OS/2 Kit for Java - added npj2_j14.dll plugin DLL - various bug fixes based on user feedback 2003-07-08: 1.4.2 Beta 1 - initial distribution Note: previous change list information has been removed due to the move from Java 2 SE 1.4.1 to 1.4.2. 8. Copyrights ~~~~~~~~~~~~~ InnoTek OS/2 Kit for Java is (C) 2000-2003 InnoTek Systemberatung GmbH Sun, Sun Microsystems, the Sun Logo, Java, JDK, the Java Coffee Cup logo, JavaBeans, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. InnoTek Systemberatung GmbH java at innotek.de http://www.innotek.de ¸ 2002-2004 InnoTek Systemberatung GmbH