Microsoft Looks to Hold Developer Interest with Visual Studio .NET
- By Matt Migliore
Next week at the VSLive! show in San Francisco, Microsoft Corp. will officially release the .NET iteration of its popular integrated development environment, Visual Studio. The move represents a long stride toward the realization of .NET, a platform Microsoft is positioning at the center of its strategy for the post-Windows era.
“Every group within Microsoft is building applications for .NET,” says Prashant Sridhran, product manager for Microsoft’s Visual C# .NET program. “It really is the reinvention of Microsoft.” And Visual Studio .NET, according to Sridhran, is a critical piece of this rebirth.
For Microsoft, .NET is an effort to duplicate, in a Web-based environment, the dominance its Windows operating system currently holds on the desktop. Most analysts and industry experts agree, the Web will soon replace the desktop as the most prominent target for application developers. As such, Microsoft is counting on Visual Studio .NET to entice developers to build applications for its .NET framework like previous versions of the integrated development environment (IDE) did for Windows.
So, as Microsoft makes its final preparations for the launch of Visual Studio .NET, the stakes are high. If Microsoft is to maintain its power position in the computing industry, Visual Studio .NET must effectively deliver capabilities for building XML-based Web services, as well as meet essential requirements for more traditional forms of application development.
Preliminary metrics regarding the uptake of Visual Studio .NET have been promising. At its Professional Developer Conference in October, Microsoft distributed a release candidate of Visual Studio .NET to more than 7,000 developers. Since, Microsoft says over 2.5 million developers have performed beta-tests using the IDE.
It’s still too early to tell what sort of applications developers are, or will be, building with Visual Studio .NET. But, Microsoft’s Sridhran says the tools for traditional Windows-based development have not been sacrificed in favor of Web services with the new release. “We have not ignored the developers of the past, and still have capabilities for building Windows-form applications,” he says.
“Looking at the initial adopters of [Visual Studio .NET], it’s pretty clear that developers are building Windows form and Visual Basic applications,” says Sridhran. But, he says the tool makes it so easy to deliver those applications as Web services that Microsoft expects the new Web-centric features of Visual Studio .NET to be widely used.
Microsoft’s Web services initiatives revolve around XML and the three dominant standards and protocols to emerge from the space so far, Simple Object Access Protocol (SOAP), Universal Description, Discovery and Integration (UDDI), and Web Services Description Language (WSDL). With Visual Studio .NET, Microsoft allows developers to leverage these technologies by rendering applications as Web services.
Sridhran says Visual Studio .NET requires just 11 characters of code to deliver a given application method as a Web service. For example, if a developer wants to make a particular application class available as a Web service, they just need to code before each method in the class. Sridhran says this marks a substantial improvement over Visual Studio 6.0, which requires developers to “generate wrapper classes and extension tools and all sorts of other things to expose stuff as Web services.”
From the perspective of Web services, Visual Studio .NET, like Microsoft’s entire Web services strategy, is at this time based solely on SOAP, UDDI, WSDL, and XML. Sridhran says Microsoft is continually monitoring the progress of other emerging standards in this area. He says there are no plans to add support for any more standards in the immediate future. Sridhran describes many of the second-tier Web services standards, such as ebXML, as designed specifically for vertical markets, which is not an area Microsoft traditionally targets with its developer offerings.
Using XML as its base-level standard for defining data, Visual Studio .NET deploys Web services that can be accessed via SOAP message calls. Meanwhile, the UDDI and WSDL support offered through Visual Studio .NET, enables the registration and identification of Web services in both public and private registries.
Microsoft, like HP, IBM and SAP, is a UDDI node operator. This is reflected by the robust support for UDDI and WSDL within the Visual Studio .NET toolset. The IDE provides a series of HTML pages for registering and identifying Web services. On these pages, developers can fill out a form to publish a new Web service to the UDDI Business Registry or they can perform keyword and other searches to locate Web services. For any given search, Visual Studio .NET returns a list of results with links to relevant Web services.
In Visual Studio .NET, Microsoft supplies four key languages for developers to build Web services, Visual Basic .NET, Visual C# .NET, Visual C++ .NET, and Visual J# .NET. Visual Basic .NET combines the standard features of the VB programming language with new object-oriented features and full support for the .NET Framework. Visual C# .NET is a derivative of C++, which is designed in a way familiar to Java programmers. Microsoft is hopeful the C# specification, which was recently approved by the EMCA standards body, will attract Java developers to the .NET platform. Visual C++ .NET, like Visual Basic .NET, allows developers to build applications that run both natively on the Windows operating system and as Web services on the .NET Framework. And Visual J# .NET, which allows Java-language programmers to target the .NET platform with their existing language and skills, is being positioned as a natural upgrade choice for existing Visual J++ developers.
Microsoft will ship a beta version of Visual J# .NET on Feb. 13. A final version of the language is expected later this year. Sridhran says Visual Studio .NET comes equipped with a JUMP to .NET package that gives developers the ability to convert J++ applications to J# .NET so they can run on the .NET Framework. However, he says, Java applications will need to be rewritten in J# .NET to run on the .NET Framework. “Visual J# .NET is for Java developers that want to program on .NET,” Sridhran says. Another element of the JUMP to .NET package in beta form is a tool for converting Java code to C# code. That tool, the Java Language Conversion Assistant (JLCA) will be pressed into copies of Visual Studio .NET purchased later in the year.
Microsoft’s attempts to embrace Java developers with Visual Studio .NET highlight the importance of winning mindshare among developers, as the computing industry transitions from the desktop to the Web. Infamous for its proprietary-based business model, Microsoft has in the past been resistant to even acknowledge Java developers. But with Visual Studio .NET, Microsoft seems to be making efforts to embrace as many developers as possible.
“Microsoft is certainly doing things related to Visual Studio .NET and some of its components that move it in a more ‘open’ direction,” says Dwight Davis, a vice president with information technology analyst firm, Summit Strategies. Davis says Microsoft’s submission of C# to the ECMA standards body shows the company is making efforts to quell its reputation as a proprietary vendor.
The developer space is the first front in what is shaping up to be a mighty war over Web services. Along with Microsoft, a great number of vendors are jumping the Web services bandwagon, including HP, IBM, Oracle, and Sun Microsystems. And developer mindshare is the foundation on which most of these vendors are building their Web services strategies.
By adding features for Java developers to Visual Studio .NET, Microsoft appears to be trying to steal some of the momentum behind open developer-tools platforms based on the Java 2 Enterprise Edition standard, which are at the root of both IBM’s and Sun’s Web services programs.
IBM recently restructured its entire WebSphere middleware line to revolve around a new open-source tools platform called Eclipse. Scott Hebner, director of marketing for IBM’s WebSphere line, says, “What J2EE is for applications, Eclipse is for tools.”
Eclipse is a Java-based, open-source software designed to allow developers to use tools from multiple vendors together. So far, approximately 40 vendors have committed to release product offerings that will run on Eclipse. And, Hebner says, the platform has received 190,000 downloads on eclipse.org since being released in November.
Both Windows and Linux support is offered through Eclipse, which IBM is hoping will encourage developers to build more business applications for Linux. This is a definite threat to Microsoft, which has long been a leader among business application developers. IBM’s efforts to drive Linux as a good platform for business applications, casts Microsoft’s hold in this area in doubt, and may also be a big reason Microsoft is now trying to portray itself as somewhat “open” with Visual Studio .NET.
Despite the passes it has made at Java developers with Visual Studio .NET, IBM still characterizes Microsoft as a proprietary vendor. “Eclipse is a multi-vendor, multi-platform offering, which gives you much more flexibility, while Microsoft is single-vendor, single-platform,” says Hebner.
Like IBM, Sun’s developer offering is based on an open-source tools platform, NetBeans. Sun has built its Forte for Java IDE on top of NetBeans. The latest release of Forte for Java, 3.0, supports XML bindings to Java methods, which enable the creation of XML-based Enterprise JavaBeans. And Sun, through its partner program, has been offering support for SOAP, UDDI and WSDL on top of NetBeans since April of last year. In October, Sun released its own modules for SOAP-RPC, UDDI and WSDL. According to Drew Engstrom, product line manager of Forte for Java, Sun will, at its JavaOne show in March, announce early access to the next iteration of Forte for Java with inherent support for all of the modules it now offers as plug-ins.
So, while Sun has had support for SOAP, UDDI, WSDL and XML since April of 2001 through its partner program, it will be somewhat behind Microsoft by the time it releases an IDE with built-in Web services capabilities equivalent to Visual Studio .NET.
Engstrom doesn’t think this is a big deal, and says the important thing is that the Web services modules have been available for developers to experiment with. “I see a lot of people download the modules that we put up for Web services,” says Engstrom. “But my general feeling is that people are still learning the technology, and that we’re at the early stages of the market.”
All indications are that Engstrom is correct in his assumption, as Web services technology hasn’t yet seen much action in live applications. Therefore, demand for an IDE that comes equipped with support for Web services is probably still pretty low.
Therefore, competition in the IDE space figures to hinge on whether developers are more attracted to open-source, Java-based platforms – like those offered by IBM and Sun – or Microsoft’s proprietary offering, which offers very tight integration with the .NET Framework.
Whatever the case, Microsoft looks to be preparing itself for battle either way with Visual Studio .NET. It is certainly still pushing for a proprietary stronghold on developers, but is opening the door just a bit with new features for Java developers.
“Microsoft is doing what it can to rhetorically be able to claim a lot of openness,” says Summit’s Davis. “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.”
Visual Studio .NET will ship in Professional, Enterprise Developer and Enterprise Architect versions.
| Key Enhancements to Visual Studio .NET Enterprise Architect
|1. Software modeling
All 9 UML diagrams
Forward engineering of UML diagrams into code in the Visual
Studio IDE (VB .NET, VC++, VC#)
Reverse engineering of code (VB .NET, VC++, VC#) into UML
Web Publishing of UML diagrams
Report generation (HTML, Word, RTF, custom)
2. Data modeling
Conceptual (ORM), (ER, IDEF1X etc.) and physical database
Forward engineering of conceptual and logical models into
physical database schemas and raw DDL
Reverse engineering of physical database schema into
conceptual and logical database models
Report generation (HTML, Word, RTF, custom)
3. Enterprise templates, policies and guidelines
Create initial project structure for your application
Create policies to apply constraints on the components of your
project so that they can be used only in defined ways
Provide context-sensitive guidance integrated with Visual
Studio's dynamic help system
4. Web Services Testing (Performance and Load)
Create test scripts manually or through browser record
(VBScript, Jscript or any COM-enabled scripting language)
Customize test properties, run tests, view run-time reports
Analyze reports - tabular performance data as well as custom
5. Visual SourceSafe for source code control
6. BizTalk Developer Edition for business process modeling
7. Developer editions of core .NET Enterprise Servers (SQL,
Windows, Exchange, Commerce, Host Integration)
8. Reference Applications, e.g., Duwamish
9. WMI Server Explorer extensions (downloadable via MSDN)
About the Author
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.