The tool, Visual J#.Net, won't allow programmers to build standalone Java applications. Instead, it will let programmers use the Java language to write code that works only with Microsoft's forthcoming .Net plan, said Tony Goodhew, a product manager at Microsoft.
In January, Microsoft announced its intention to build the tool, along with other tools to let programmers migrate older Java applications to .Net, the company's wide-ranging plan for moving business computing onto the Web.
.Net includes tools for developers, server software aimed at large companies, and a fee-based Web services plan aimed at individuals called .Net My Services. Most parts of the plan won't be available until next year.
The limited capability of Visual J#.Net lets Microsoft sidestep licensing issues with Java's creator, Sun Microsystems. The two companies have been sparring over Java for years. Sun sued Microsoft for $35 million in 1997, saying Microsoft breached its contract by trying to extend Java so it would work differently on Windows computers.
A Sun representative warned Tuesday that Java developers using Visual J#.Net will fall prey to a Microsoft lock-in strategy.
"The Java language is one thing and the Java platform is another. The language and Java Virtual Machine technology gives Java its cross-platform compatibility and ability to run on any platform," Sun spokesman David Harrah said.
"But from what I've seen described (in regard to Microsoft's plans), Java the language is like any other language they've talked about," Harrah said. "It can perhaps be used inside .Net, but that doesn't mean you get the same value from this that you get from the Java platform. You are restricted to where .Net can go and get locked into Windows."
Goodhew was quick to point out the differences between Visual J#.Net and full-strength Java tools from Sun, IBM and other companies. "We are not building a Java tool here," he said.
Visual J#.Net will only work with Microsoft's forthcoming Visual Studio.Net, a bundle of the company's development tools for building Windows and .Net applications.
As part of a settlement of the years-old lawsuit in January, Microsoft lost its license to use the latest version of Java technology in its products. The company is permitted to use an older version of Java in products for the next seven years.
Gartner analyst Mark Driver says a new tool from Microsoft aimed at attracting Java developers to its .Net Web services plan will ultimately be ignored.
And Microsoft announced last year that its current Java development tool, called Visual J++, will be discontinued in favor of a new tool and development language called C#, which in many ways mimics Java. Microsoft developed C# internally.
Microsoft sees its C#, Visual Basic and, to a lesser extent, C++ tools as crucial to its .Net strategy. The new Visual J#.Net tool is seen by analysts as a way to retain existing Visual J++ developers and entice them to build .Net applications.
Forrester Research analyst Chris Dial said Microsoft used its license for an older version of Java to develop Visual J#.Net.
"It's the bastardizing of Java in a sense," Dial said. "They are using an older version of Java that they have a license for, but it's not the current Sun specification. It doesn't support Java 2 Enterprise Edition."
Java 2 Enterprise Edition is Sun's specification for Java software built by Sun and other makers, such as Oracle, IBM and BEA Systems.
In many ways, Microsoft's .Net plan and Sun's J2EE strategy are similar. The key differences: Microsoft favors one operating system--Windows--and allows development in multiple languages, including Visual Basic, C++, C#, and now Java itself.
Sun allows development on multiple operating systems, including Windows, Unix, Linux and mainframe operating systems, using a single language: Java. Sun says Java is more appealing than other languages because of its ability to run programs identically on many different computer systems--such as those using Apple Computer's Mac OS or Microsoft's Windows--without having to rewrite the programs for each OS. But to run the programs, typically in a browser, the PC must have a copy of the JVM.
In addition, while .Net is a product and marketing strategy tightly controlled by Microsoft, J2EE is a software specification, defined largely by Sun and implemented in products from Sun and Java backers such as IBM, Oracle and BEA.
Many companies are just beginning to investigate building Web services applications, which make the passing of data between computers much easier, using one of the two strategies.
Dial asserts that Microsoft's new Java message is aimed at top executives or IT systems managers who make decisions on which programming model to use.
"This is aimed less to developers, but more to people who are trying to make decisions on .Net or Java," Dial said. "They think, 'I trained people on Java. I can't go to Microsoft.' To them, Microsoft is saying we support Java. The intermediate and more advanced Java developers are wise to this."
Microsoft said Visual J#.Net will be available for download in a test version later this week from Microsoft's Web site. The test version will only run on the second beta release of Visual Studio.Net.
Final release of Visual J#.Net is expected in the middle of next year. Visual Studio.Net is expected to ship later this year. Goodhew said a coupon allowing developers to receive a copy of Visual J#.Net will be included with the shipping version of Visual Studio.Net. No pricing has been announced.