|IBM's OS/2 Java Progress
|- by Jeremy McNaughton
A look at the prerelease of OS/2 JDK 1.1.1, and the IBM Java porting progress
On June 15th, 1997, IBM released a prerelease version of the OS/2 JDK (Java Developers' Kit) 1.1.1. This follows the alpha release of the OS/2 JDK 1.1.0, which succeeded the OS/2 JDK 1.0.2 (released April 6th, 1997). Before this came the OS/2 JDK 1.0.1 (October 25th, 1996). It has been interesting to watch the porting progress of the IBM Java team, as they have been playing catch-up with Sun Microsystems' JDKs for Windows and Solaris.
(Currently, both the Windows 95/NT and the Solaris JDKs are at code level 1.1.3, and each has had its first bug-fix since its final release, while the product discussed here is only code level 1.1.1, and is only a preview of the finished product.)
The prerelease of Java 1.1.1 for OS/2 includes a JIT compiler, and according to the IBM download site, adds:
Generally, this release allows OS/2 users to use new Java 1.1.1 applets and applications, such as IBM's IRC Client for Java v1.30 (which requires Java 1.1.1 or higher). JavaBeans will allow integration with other architectures such as OpenDoc and ActiveX, further expanding the potential of Java. Performance enhancements are, as always, a welcome sight, as are improved security and AWT. The ICAT Debugger will aid the OS/2 Java developer in creating his/her applets and/or applications.
- Sun Microsystems Inc's JVM (Java Virtual Machine)
- Support for JavaBeans
- Performance enhancements
- Improved Security Features
- Improved AWT (Abstract Windows Toolkit, used for developing GUI)
- ICAT Debugger for OS/2 (Interactive Coed Analysis Tool, a source level debugger)
The computer used for this review is a Cyrix 6x86 P120+ with 24 MB RAM and a Trident TGUI9680 1 MB video card. It is running OS/2 Warp version 4.0 with FixPak 1 installed. Some of the software used for research and testing while writing the review include: Corel Office for Java beta 1, IBM IRC Client for Java 1.1.1 version 1.30 and Pendragon Software's CaffeineMark 2.5.
OS/2 JDK 1.1.1 has a new installation procedure, using a new add-on for Netscape/2 called "Feature Install". Feature Install is a plug-in that allows software to be installed via HTML (GIF, 11.7k). At first, I was skeptical, but soon realized the value of this new idea. My change of attitude had several reasons:
Because OS/2 JDK 1.1.1 is not quite finished, IBM has allowed it to coexist with the previous JDK -- your previous JDK will remain in x:\javaos2, and will continue to be used by Netscape/2 and the WPS. The prerelease OS/2 JDK 1.1.1 is installed to x:\Java11. To use it, one must specify the entire path from command prompts (i.e.: "[D:\] d:\Java11\..." is needed to use JDK 1.1.1 on my system), or drag Java classes directly to the appropriate icons in the "Java 1.1.1 for OS/2" folder.
- Having the installation done with a web page guarantees the user's experience to be easy. If you were able to get the JDK off of the labyrinth of IBM sites, then installation will be a blast.
- Because the entire installation is done through Netscape/2, users have the ability to use the familiar "Go Back" option and change mistakes.
IBM has also changed its method of distributing Java for OS/2. Instead of being divided into separate files for each component (i.e. RUNTIME.EXE for the Runtime, TOOLKIT.EXE for the JDK etc.), the entire package is included in one massive archive. Get ready for a shocker, the prerelease OS/2 JDK 1.1.1 is one 25 MB file. It includes the Runtime, Toolkit, Toolkit Samples, API Documentation, ICAT Debugger and Double Byte Character Support (DBCS). Send your ISP a tip after you download this one, and think a little bit more about how much multitasking means to you.
As this is a prerelease, OS/2 JDK 1.1.1 has not yet been perfected. Perhaps the most notable disappointment was that Corel Office for Java beta 1 did not run. When Shell.html was dragged to the "Applet Viewer from HTML" object, the Corel Office Desktop started to appear, then vanished, leaving only a "SYS3171 (title unknown)" error. IBM IRC Client 1.30 for Java 1.1.1 started to run as well, only to find that it was not compiled properly. Despite this, all of the toolkit samples (save the spreadsheet example) ran wonderfully. They also ran fast; really fast. TicTacToe no longer has the 3/4 second wait between each move, and animations seemed a little smoother. Thankfully, Pendragon Software's CaffeineMark 2.5 Java Benchmark System worked without as hitch as well -- this is what I chose to measure the difference in execution speed between OS/2 JDK 1.0.2 and the prerelease OS/2 JDK 1.1.1.
CaffeineMark 2.5 reported some very considerable gains in overall execution speed. As a test, I closed all of the windows on my system, and ran CaffeineMark 3 times each for OS/2 JDK 1.0.2 and prerelease OS/2 JDK 1.1.1. I then averaged the 2 sets of results to reach a final conclusion.
The average CaffeineMark for OS/2 JDK 1.0.2 was 1525, while this jumped to 1630 CaffeineMarks with OS/2 JDK 1.1.1. The most notable speed increases were in string manipulation and floating point math. Although most areas tested by CaffeineMark remained roughly the same, the score for the dialog test was cut in half, from the 60s in 1.0.2 to the 30s and even 20s in 1.1.1. Looping also seemed to lose a little steam, but if this is the compromise for an overall higher CaffeineMark rating, the trade-off is a good one.
I have included all my CaffeineMark test results here as a text file for those who are interested.
I was unable to test the JDK's integration with Netscape/2 as this portion of the code is not yet available. Don't let this dissuade you from downloading the prerelease, though. Keep in mind that it can coexist with a previous JDK.
There have also been some changes to the interface. Applet windows no longer have the ugly yellow "Warning: Applet Window" bar at the bottom of any window they spawn. The Applet menu in the Applet Viewer has new options as well. Now users can start & stop applets, save where they currently are in an applet, and even print the applet window. I tested these new commands on the TicTacToe applet (GIF, 9.7k). "Save..." opened a file-save dialog box, allowing me to choose a file name and directory. That done, pressing OK generated an error message in the Applet Viewer text window, and TicTacToe continued to run. "Print..." got a little bit further, allowing me to choose settings for my printer. It did not let me choose to print to a PostScript file, and my non-PostScript printer ejected a blank piece of paper.
Documentation and Support
For documentation, OS/2 JDK 1.1.1 includes all the URL objects linked to readme's and Java Web Sites found in previous releases of the JDK. It also includes the entire Java 1.1 API documentation in HTML format. All of the classes are listed in alphabetical order, but this really serves as a reference. Trying to learn Java from the documentation included with this prerelease would not be a fun task, especially for a novice programmer.
As this is a preview of what is to come, IBM is not really supporting the prerelease OS/2 JDK 1.1.1 -- there is, however, a feedback form that they would like you to fill out reporting any bugs or problems with the JDK. A link to the feedback page can be found on the download pages.
Overall, the prerelease OS/2 JDK 1.1.1 is a very impressive step forward for OS/2 Java support. In the future however, I would like to see IBM's porting progress do better at keeping up with Sun. It would also be nice to see a simple Integrated Development Environment included with the JDK, but I'm sure IBM would rather see us use VisualAge for Java. Another welcome addition would be a local Java tutorial for beginners, or perhaps a link to IBM's on-line Java course.
In the end, I was really wowed by IBM's prerelease OS/2 JDK 1.1.1. It is much faster than JDK 1.0.2, and adds extra functionality to OS/2's Java support. I hope that the final release of code level 1.1 by IBM will be at least 1.1.2, and that it will be out soon. The Java applets and applications that did not run for me with this prerelease version will hopefully run by the next release. Perhaps if IBM were to put more steam into Java support for OS/2, more users would feel comfortable switching from other operating systems, knowing that they can keep up with technology. Java has the potential to do marvelous things for OS/2, but only if IBM can keep up with current standards.
For more information about Java and IBM's porting progress, or to download this or any other IBM ported JDK, visit the IBM Centre for Java Technology Development. All of the IBM JDK ports are free for download from this site, but users must register with IBM first. (Registration is free, and can be done on-line.)
You can also check out Javasoft's web site, which has a link to the above page and information on Java toolkits for most other platforms.
Finally, if you want to check out CaffeineMark 2.5, go to Pendragon's home page.
Feature Install for Netscape for OS/2
download from IBM (700 k)
Java Development Kit 1.1 for OS/2 Pre Release
download from IBM (~25 M)
Jeremy McNaughton is a student at Sir Fredrick Banting Secondary School in London, Ontario. He is studying Computer Science, and has been using OS/2 since version 3.
[Our Sponsor: ScheduPerformance - Improve OS/2's performance with Priority Master II.]
This page is maintained by Falcon Networking. We welcome your suggestions.
Copyright © 1997 - Falcon Networking