Java for Linux - what's available
IBM, known for its popular Jikes Java compiler, has recently released two Java Development Kits (JDKs) for Linux, one supporting Java 1.1 and a 1.3 preview release. Sun, the creator of the Java language, has also entered the fray with an official Linux version of its 1.2.2 JDK, which is effectively the industry standard version of Java at this time.
The JDK provides the basic tools needed to develop and execute Java applications. Until recently the only JDK available to Linux users was a port of the Sun JDK by the blackdown organisation (www.blackdown.org) which, while useful, often lagged several months behind the official Sun releases for other OS platforms.
Signs of success
Java has had limited success as a desktop application development tool due to performance issues when compared to native applications. Yet it is on the server side that Java is beginning to show its potential as a cross-platform development tool, particularly in the Web applications market.
Meeting this market and complementing its JDK release, Sun has recently released Java 2 Enterprise Edition (J2EE) for Linux. J2EE provides support for many server Java applications such as Java Beans and Java servlets - each making development of Web-based application development fast and highly portable. The J2EE kit gives Linux a standard reference implementation of the J2EE specification direct from Sun. It does not, however, allow users to deploy production applications without a free or commercial application server such as IBM's WebSphere. Sun's J2EE includes support for Apache's Tomcat servlet engine as well as tools to aid in the rapid deployment of any Java Beans you may create. J2EE can be downloaded from http://java.sun.com/j2ee/.
Rapid application development for the WebThe Java servlets, which you can create with Sun's tools, act much like Web CGI scripts. Sun's specifications allow for the creation of just about everything, from interaction with databases to the development of full-scale distributed Web applications. Java on the server aims to provide a standardised structure for rapid development of Web applications. J2EE takes care of all the relevant plumbing on the server-side allowing the developer to concentrate on the functionality of the software from a user standpoint. The advantage of J2EE is it is a vendor-neutral approach: provided an application has a J2EE plugin your application can communicate with it through J2EE. As well as this, the software you create for J2EE is entirely portable so moving to another platform is simple. This feature, which is inherent to Java, extends Linux's reputation as a development platform.
Sun has also released a beta version of the 1.3 JDK for Linux. The 1.3 JDK does not add many new features to Java; instead it aims to solidify the platform and offer performance improvements along with fixing weak areas of earlier JDK versions. Due to licensing problems, PC World is unable to distribute Sun's JDK 1.3: it can be downloaded free from http://java.sun.com/j2se/1.3.
IBM has also released a 1.3 JDK preview release, which is significant, as it is IBM's first Java2 compliant JDK for the Linux platform. Both these new JDK's work with IBM's open source Jikes compiler: a compiler which aims to replace the Javac compiler that comes with the standard JDK. The 1.3 JDKs have also been carefully designed to work with all code written for earlier compilers, and can be found at http://www.ibm.com/developer/java.
With the help of IBM and Sun, Java under Linux is now in full swing. By being involved, each has plugged into Linux's server-side capabilities, manifesting its suitability for rapid application development and Web application serving.