Standards or Not, Microsoft and Sun to Remain at Odds
- By Matt Migliore
Microsoft Corp. formally launches its much-anticipated Visual Studio .NET integrated development environment today, making slightly more tangible the Web services concept many predict will soon become a lingua franca in enterprise computing circles.
Web services is the first structured attempt to promote standards-based computing on an industry-wide scale. And with the release of Visual Studio .NET, developers figure to be deploying Web services en masse, as the latest iteration of Microsoft’s integrated development environment (IDE) revolves largely around this new technology.
However, despite Web services and growing industry support for standards-based computing, Microsoft and its longtime rival Sun Microsystems remain at odds, which means developers will likely still struggle to find ways to build for both .NET and J2EE.
“Unfortunately, there’s tremendous animosity between these two vendors,” says Deborah Hess, a senior analyst for information technology research firm Gartner. And Hess does not believe Web services will repair the rift between Microsoft and Sun, as she says each vendor will continue to promote its platform at the expense of the other.
Despite Hess’ skepticism, Microsoft does appear to be making gestures toward Java developers with Visual Studio .NET. In fact, just last week Microsoft launched a beta of a new tool that allows Java developers to convert Java code to C#. The tool, called the Java Language Conversion Assistant (JLCA), follows several other Java-related efforts Microsoft has made leading up to the release of Visual Studio .NET, including the development of several Java-ish programming languages such as C#, J++ and J#.
C# is a derivative of the C++ programming language, which is designed in a way familiar to Java programmers. It shares a lot of similarities with Java, but provides an object-oriented environment like C++. J++ is a development system that allows Java applications to run on Windows. And J#, which is being touted by Microsoft as the next generation of J++, has many of the same features as J++, but also compiles into the Microsoft Intermediate Language for the .NET platform.
Microsoft has even gone as far as to submit both C# and its Common Language Runtime (CLR) for .NET to ECMA, an independent standards body. By submitting to ECMA, which recently approved both C# and the CLR, Microsoft is doing what it can to portray itself as a more “open” vendor.
Dwight Davis, a vice president with IT analyst firm Summit Strategies, says he believes Microsoft’s efforts in this area can be viewed both as legitimate and somewhat bogus. He says, an argument can be made that Microsoft is more open than even Sun, which has built much of its business model on open standards through the Java Community Process. Since Microsoft has received approval for C# and its CLR from an independent standards body, Davis says some might say it is more “open” than Sun, which pushes its technology through the JCP, an organization in which many believe Sun has a major controlling interest.
But Davis also sees the other side of the story. “Microsoft is doing what it can to rhetorically be able to claim a lot of openness,” he says. “But the reality of it is that at the end of the day, 98 percent of what is created with Visual Studio .NET is going to be running on [Microsoft] platforms.”
For Java programmers to deploy on the .NET platform, they must write new code in either J++ or J#. If they write in J++, they must then use the JUMP package in Visual Studio .NET to convert their code from J++ to J# in order to deploy on .NET. Alternatively, they can convert their Java programs to C# with the JLCA tool. The problem there is, JLCA is just a beta, and at this point only provides limited support for Java programming methods.
According to Prashant Sridhran, Microsoft’s product manager for Visual C# .NET, right now, “[J#] is the best thing for Java developers that want to program on .NET.”
For Microsoft developers, deploying on the J2EE platform is a capability offered primarily through Sun’s partner program. George Grigoryev, senior product manager for J2EE at Sun, says Microsoft is a prevalent target for Java developers at the workgroup level. He says Sun provides developers the ability to reach Windows and .NET with COM-based connector architectures developed by third-party vendors. These connector architectures make J2EE applications available on Windows and .NET, he says.
SilverStream Software, for instance, is a Sun partner that provides middleware technologies that target both the J2EE and .NET platforms. However, it is committed to Java from a code perspective. “Microsoft does great stuff on the client, but when it comes to writing code, it becomes really convoluted,” says Steve Benfield, SilverStream’s CTO.
Although Microsoft seems to be trying to make itself more attractive to developers on the code front, Gartner’s Hess doesn’t think it will happen. “I don’t see frankly a lot of developers that are going to convert their Java code to C#,” And Hess doesn’t believe there will be much going on in the other direction either: “And I don’t see that Microsoft is going to bring .NET over to Unix.”
Summit’s Davis agrees with Hess, saying that while he has heard good things from the development community about C#, the number of Java developers converting to the new Microsoft language will be negligible. Says Davis, “The Java community is always going to be skeptical of anything Microsoft is doing.”
Matt Migliore is regular contributor to ENTmag.com. He focuses particularly on Microsoft .NET and other Web services technologies. Matt was the editor of several technology-related Web publications and electronic newsletters, including Web Services Report, ASP insights and MIDRANGE Systems.