Visual Studio's (Dot) Net Worth, Part 2Not just a new version; a new visionby Nelson King Continued from Page 1 Within Visual Studio .Net, data management and connectivity have been changed radically to accommodate the more Internet-oriented environment. In particular, Microsoft rewrote Active Data Object (ADO) technology as ADO.Net to infuse it with XML and allow more functionality while disconnected from data sources. These changes come with wide implications that should keep data administrators and programmers busy for some time.
Web ServicesThe most conspicuous feature of Visual Studio .Net is, of course, its support of Web services. Within the .Net Framework, XML is the default mode for data representation and it dovetails nicely into using simple object access protocol (SOAP). Web service classes in the Framework Library make it possible to convert a normal method into a Web service by simply adding "WebMethod" to the method declaration. Internally, Visual Studio .Net automatically generates a Web services description language (WSDL) document. With a few tweaks in XML namespace and possibly SOAP code, the service is ready to publish, most likely to a universal description, discovery, and integration (UDDI) directory. The client program that uses the Web service needs only to treat it as a Web reference (provided that the program has access to the necessary Web services classes). Microsoft has automated just about every phase of creating and using a Web service. It provides design tools, test facilities, and UDDI tools that are among the best available. It's quite possible for a programmer to be ignorant of SOAP, WSDL, and UDDI and still produce a useful Web service. However, for enterprise projects that involve complex services mastery, you need considerable experience and must get under the hood of Visual Studio .Net automation. Mobile DevelopmentOne new facet of Visual Studio .Net deserving special mention is mobile application development. The Microsoft Mobile Internet Toolkit adds mobile controls for Web forms, a Mobile Internet Designer, and a Browser Capabilities Module that extends ASP.Net so that a single Web application will automatically generate HTML, compact HTML, or Wireless Markup Language by sensing the output for a target device. Because of the capabilities already in Visual Studio .Net, this rather spare toolkit actually completes one of the best mobile application development systems available. Crucial CompilationIn Visual Studio .Net, all roads lead to the common language runtime (CLR). No matter where you start C++, C#, VB, or J# the result is Microsoft Intermediate Language (MSIL), which runs with a CLR compiler. MSIL is object code an old idea in programming most recently popularized by Java. Most of a program's components will come from the .Net Framework library, which is already MSIL code. This object code standardized and optimized is handed off to just-in-time (JIT) compilers for running on specific platforms. This is how Microsoft lays claim to both multilanguage and multiplatform capabilities. It's a plausible strategy and time will tell if it proves effective in comparison to multiplatform Java. Upside/DownsideOne of the advantages to using a runtime compiler is the ability to protect the underlying memory addresses and operating system from programmer errors and outside intrusion. Visual Studio .Net calls this managed code, which is available to C# and VB .Net. Although similar in concept to the "sandbox" in Java, C# can be programmed with designated "unsafe" code to access underlying functionality in ways normally available only in C++. This concept illustrates differences among the supported languages and hints at the potential for difficulties among versions of JIT compilers and class libraries that have plagued Java. Object code and runtime compilers provide standardization, consistency, easier distribution and maintenance, security, and portability. The approach also tends to homogenize features, limit specialization, and suffer from suboptimal performance. For general application development, these trade-offs may not be significant. However, consider the example of Microsoft Visual FoxPro, which is a programming language designed for database applications and highly optimized for its own database engine. Its database management features clearly distinguish Visual FoxPro from the other Microsoft languages. Including it in the .Net Framework would necessitate loading the Framework Library with many classes not supported by the other languages. So Visual FoxPro 7.0 is a specialized development system that can use many .Net features but is no longer included in Visual Studio. In similar ways, IT shops with a diversity of projects may find it necessary to work outside of the Visual Studio .Net environment to get needed specialization. Testing and DebuggingGiven the size and scope of Visual Studio .Net, debugging and testing could be a nightmare. That it isn't a nightmare is testament to the integrated and well-designed debugging tools that manage to cover all application types in a consistent way. While setup for some of the Web-based testing is complicated, the payoff is more rigorous testing, especially for Web services. The Enterprise ToolsIn addition to the enterprise-level capabilities built into Visual Studio .Net, such as the robust debugging system, the Enterprise Architect edition also contains tools for team project development, Enterprise Templates, and Visio modeling system. The Enterprise Templates are a major improvement over templates in earlier Visual Studio versions. They automate the creation of typical enterprise projects and support architectural best practices, including database connections, forms properties, and organizational policies. If you know Microsoft Visio, you'll like the Visual Studio .Net design and modeling tools, which are built with Visio diagrams and programming. A full unified modeling language (UML) diagramming capability with eight diagram types plus free form is provided. The flexibility of the Visio environment will encourage some designers to customize their UML layouts although, like new Enterprise Template creation, this is a job for specialists. I also found the modeling tools relatively easy to break. Although some aspects of .Net are controversial, most of the reaction, even from competitors, is that Visual Studio .Net is a formidable piece of work. Languages and development environments have long been Microsoft's strong suit (or ace in the hole, if you prefer) and Visual Studio .Net continues that strength. In short, there's no technical reason not to consider Visual Studio .Net as a primary enterprise application development environment. There are only a handful of companies that can take Visual Studio .Net on all fronts IDE, languages, and servers. IBM, Oracle, and Sun Microsystems each offer Java development systems that are worthy competitors. And, of course, many smaller companies will find ways to enhance or work around elements in Visual Studio .Net. Nelson King [nelsonking@earthlink.net] has written nine books on database application programming and has professionally reviewed development tools since 1981. He spends most of his time in the trenches of enterprise software development.
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| |||||||||||||||||||||||||||||||






















