The battle for Web services hotted up yesterday as Microsoft and Sun went head-to-head at an industry conference.

Speaking at the OMG Integrate.2000 conference in California yesterday, Microsoft's .Net solutions architect Dave Wright - a former Java programmer - said: "Java is a wonderful language but has limitations in virtual machine and language constructs."

He added: "Java is not good for purposes such as development of real-time applications, graphics programs, and Perl development." He went on to say that .Net "is Microsoft's way of re-engineering its entire product line around a new set of framework class libraries and is based on XML Web Services for interoperability".

But Wright acknowledged that "if your target isn't Windows, you can't really implement on .Net today. That may change in the future".

Sun's Glen Martin, J2EE strategist for Java and Web services platform marketing, countered by claiming Microsoft's virtual machine approach is "limiting". He said: "The problem with multiple languages on top of a virtual machine architecture is, if the virtual machine doesn't support the feature the language wants to provide, the language doesn't have a real easy way to provide the feature."

Martin also detailed Java's support of Web services standards such as SOAP, and its status as the leading platform for deploying application servers. Martin said that differences between J2EE and .Net are fewer than similarities and that Microsoft appears to be imitating Sun with the virtual machine approach, which Sun has used with Java. "They've taken a lot of what J2EE and Java have been good at," Martin explained.

Microsoft sees "a lot of Java shops moving to .Net because of the productivity," said Wright.

A member of the audience, who works as a standards official for the US Air Force and who requested anonymity, voiced support for Java in terms of multi-platform support: "The main thing about Java is it's hardware-independent," she said. .Net is dependent on Microsoft, she added.

Another audience member raised concerns about security in the .Net architecture: "Somebody has to enforce the security policy. I've never seen that in this architecture at all," they said.

Wright insisted that the virtual machine layer in .Net contains a tremendous number of security advances.