Guide to the TechWeb Network

Intelligent Enterprise

Better Insight for Business Decisions

Intelligent Enterprise - Better Insight for Business Decisions
search Intelligent Enterprise
Advanced Search
RSS
Webcasts
Whitepapers
Subscribe
Home




July 26, 2002

Visual Studio's (Dot) Net Worth, Part 2

Not just a new version; a new vision

by 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.


The categories for this rating chart are defined at www.intelligententerprise.com/ reviewmetrics.jhtml.

Web Services

The 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 Development

One 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 Compilation

In 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/Downside

One 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 Debugging

Given 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 Tools

In 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.



Rate This Article

Comments:

Optional e-mail address:

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.









IE Weekly Newsletter
Subscribe to the newsletter
    Email Address







InformationWeek Business Technology Network
InformationWeekInformationWeek 500InformationWeek 500 ConferenceInformationWeek AnalyticsInformationWeek CIO
InformationWeek EventsInformationWeek ReportsInformationWeek MagazinebMightyByte and SwitchDark Reading
Digital LibraryIntelligent EnterpriseInternet EvolutionNetwork ComputingNo Jitter
space
Techweb Events Network
InteropVoiceConWeb 2.0 ExpoWeb 2.0 SummitEnterprise 2.0 ConferenceMobile Business ExpoSoftware ConferenceCSI - Computer Security Institute
Black HatGTECEnergy CampMashup CampStartup Camp
space
Light Reading Communications Network
Light ReadingLight Reading EuropeUnstrungLight Reading's Cable Digital NewsConstantinopleInternet Evolution
Heavy ReadingLight Reading Live!Light Reading InsiderEthernet ExpoOptical ExpoTeleco TVTower Technology Summit
space
Financial Technology Network
Advanced TradingBank Systems & TechnologyInsurance & TechnologyWall Street & TechnologyAccelerating Wall StreetBank Systems & Technology Executive SummitBuyside Trading SummitInsurance & Technology Executive Summit
space
Microsoft Technology Network
MSDN MagazineTechNetThe Architecture Journal
space