Developers using the MSDN website to download development tools and software packages noticed a few changes over Christmas: 23 applications disappeared from the download list, many of them still regularly used in businesses all over the world.
Microsoft's contract disputes with Sun over its Java Virtual Machine (JVM) have been widely reported. As a result of its settlement with Sun, Microsoft will be ending support for its JVM implementation on September 30. The removal of the downloads was part of this process, with the intention of encouraging developers to move away from the Microsoft JVM, and towards different technologies.
Most of the MSDN downloads disappeared because they contained installers that included versions of Internet Explorer that bundled Microsoft's JVM. Very few of the applications actually used any Java code, but Microsoft's Ivo Salmre indicated that Microsoft had to make "an engineering benefit/risk decision", especially for products that were close to the end of their life cycles. As a result, Microsoft decided that the risks of developing and testing new installers for the 23 downloads were too high. However, five more commonly used tools were updated - including the popular Small Business Server 2000 and Office XP Professional with Front Page.
Microsoft is recommending that businesses move away from its JVM for security reasons. But it's a good idea to start any migration process with a risk assessment. If you consider you're not at risk if you continue using an unsupported JVM, you could keep using any Microsoft Java application until there's a business need for a new version of your application. Your copies of the Microsoft JVM will still operate afterSeptember.
Most server-side Java applications are built to run in Java-based application servers, such as BEA's WebLogic or IBM's WebSphere. There's no need to worry about these, as they use the latest Java technologies, and are usually built on top of Sun's own JVM. It is really only desktop applications and web applets you need to consider changing.
If you're using standard desktop Java applications, it will be easy enough to switch to Sun's JVM. Michael Avis, Sun's UK marketing director, points out that several major PC manufacturers, including Dell, are already distributing the Sun JVM on their Windows machines. This will also make it easier for any new Java desktop application developments, as you will be able to take advantage of the latest Java technologies, and deliver applications to other operating systems.
It won't be as easy to change applications built using Microsoft's Visual J++ Java development tool, as it targeted Microsoft's Java extensions. Microsoft's Java development tools made it possible to create Windows executables that were really Java code. As they look just like standard .exe and .dll files, it can be difficult to track these down, and the promised diagnostic tool that will scan machines to help administrators find these files has yet to be released.
Microsoft offers help with updating and changing applications in its downloadable Transition Guide document, but if you're committed to using Java, then you won't find Microsoft's advice overly helpful. The guide is a large Acrobat file, full of information on how to rewrite your existing Java applets and applications using current Microsoft technologies.
One option is to convert your existing code to .Net, using the J# Java language implementation. This can be complex, as while J# can read and import J++ files, Microsoft suggests that only 95% of J++ code will convert to J# without needing changes. The remaining code will have to be rewritten by developers familiar with .Net. Applets can be converted to use J#'s browser controls, but these limit users to Internet Explorer running on PCs that have had the .Net runtime installed.
The technical issues of Microsoft's move away from the Java world are clear. However, Martin Tennant, from Compass Management Consulting, feels Microsoft's move is polarising the IT development world turning it into an "us or them" camp: splitting between Java and Microsoft's .Net. With IT departments still struggling to deal with the standardisation issues resulting from data centre consolidation, a change to a standard platform will have a significant effect on application development.
The disappearance of the Microsoft JVM has left IT departments in the crossfire. Do they stick with Java or move to .Net? With both approaches offering similar performance and standards support, it's a difficult decision to make, and many will use both.
Microsoft Java transition site
www.microsoft.com/mscorp/java
Sun Java
www.java.com/en/index.jsp