There were few surprises at Microsoft's Visual Studio .NET and .NET Framework launch -- after all, some 3.5 million beta copies have already been distributed -- but Microsoft used the occasion to talk up its enterprise credentials and to continue its campaign against Sun as a "one language" company. By closely integrating the .NET Web services infrastructure with its mainstream development tools, along with emerging standards such as...
SOAP and WSDL, Microsoft believes it will jump-start Web services from its current early adopter phase into the mainstream this year.
Competitors say that, while Microsoft now claims to support over 20 languages, the .NET framework itself is available only from Microsoft, while the equivalent J2EE Java framework has been implemented across multiple products from different vendors. They also say that developers -- whether Java programmers or those using Microsoft's current preferred languages, Visual Basic and Visual C++ -- could face a steep learning curve as they move to .NET.
Context: The availability of development tools is a key step for Microsoft in establishing .NET in the industry at large. At Wednesday's event, chief software architect Bill Gates styled them as "among the most important products ever released by Microsoft."
The Java camp has had tools in the market for some time, but Microsoft is not starting from scratch, and has already heavily seeded the market. Some customers even decided that the prerelease versions of the development tools and framework were stable enough for use in production environments (mostly websites, initially). To accommodate them, Microsoft formulated a special early adopter 'go-live' license.
Multilanguage support is Microsoft's attempt to diffuse the continuing popularity of Java, now second only to Visual Basic itself in popularity, and a lot more powerful. Gates says that one IDE, framework and debugger, linked into multiple languages, will help programmers take advantage of their existing skills and pre-written code, while encouraging them to try out new languages -- perhaps even its own Java alternative, C#.
Technology: The .NET Framework has three main components: the common language run-time, a hierarchical set of unified class libraries and a component-based version of Active Server Pages called ASP.NET. Visual Studio .NET itself is the first toolkit from the company with integrated support for XML Web services. Microsoft's two mainstays, Visual Basic and Visual C++, are foremost among the languages supported, but there's also C#, and even a version of Cobol .NET developed by Fujitsu. Not surprisingly, Java gets the worst deal. Visual J# uses Java-like syntax to convert Java programs to run with .NET, but doesn't allow stand-alone Java programs to be written.
In parallel with the tools, Microsoft is building support for .NET into its client and server operating systems and back-end business server families. Windows XP and CE already have additional XML support, while Windows 2000 gets built-in support through a new family of products, including Windows .NET Web Server, Standard Server, Enterprise Server and Datacenter Server. Beta 3 releases of the family were announced at Comdex last November, with final versions expected to emerge in the second half of next year.
New this week are add-ons for SQL Server and BizTalk Server in the form of toolkits. They enable shared procedures from SQL Server and business process models from BizTalk to be exposed as Web services for use elsewhere. Some third parties have also launched tools, including IBM for the DB2 database and Computer Associates for its AllFusion Harvest Change Manager, the life-cycle management tool. While such add-ons are not revolutionary, and are somewhat analogous to Java Connectors, they do signal a change in the way software integration is being tackled, and ultimately could prove bad news for dedicated application integration specialists.
Competition: It seems clearer than ever now that two main strands of Web services technology, represented by .NET and Java, will coexist. IDE companies such as Borland, Iona and Cape Clear will bridge the two worlds by supporting both the .NET Framework and J2EE.
Others, such as BEA with its soon-to-be-launched Cajun tools, are sticking with Java-based alternatives. ".NET will be painful for Visual Basic and C++ developers, with lots of relearning to do," says Michael Smith, principal evangelist at BEA. "In the Java world, we've done a better job enabling things already running to be reused with very little rewrite."
But whatever the development tool, momentum is building to solidify the interoperability of Web services from multiple vendors through standardization. Gates acknowledged the recent formation of the new Web Services Interoperability Organization, WS-I, as a landmark. He gave Microsoft itself, along with IBM, the largest share of the credit for its formation, and joked that "just about every company is there -- except one. A lot of nice companies are there." However, Sun looks likely to join in the near future, and its initial exclusion appears to be a somewhat transparent attempt by Microsoft to score some open systems points over its arch rival.
Conclusion: Microsoft has done some interesting work making Visual Studio .NET into a "cool tool," as it was consistently styled during the launch. But there are difficulties. Do developers really want multiple languages, or just the one or two they habitually use? And what will Java developers do? It's unlikely that many will want to shift over to the yet-unproven C#. They are far more likely to turn to Borland or other IDE developers with links to .NET.
There's a big risk within Web Services for Microsoft. Even now, before the standardization process has begun in earnest, it's possible to develop Web services that come close to plug-and-play interoperability. As the technology matures, the integration task will become easier, and Microsoft's potential for lock-in less secure. If so, the .NET Framework, and even Windows itself, won't be such central components of IT infrastructure, and Microsoft will find itself competing on different terms than it's used to.