In this latest release of Visual Studio, Microsoft has added some welcome enhancements to the Web and Windows programming environments, especially for larger shops. But also included in the November 7 release announcement is a new version of SQL Server 2005 and early next year, a new version of BizTalk 2006.
What's New for Large Developers
Most of the buzz surrounding the new Microsoft releases is coming from those in larger development enterprises. That's because most of the enhancements are aimed at integrating the efforts of those who make up the development teams often present in those environments. Called support for Application Lifecycle Management (ALM,) enhancements have been made to the team development mechanisms for project collaboration and control. Also new features assist development stakeholders with software engineering activities like architecture design, project management, and system validation and verification. Of course, the new VS 2005 development environment is nice—more productive, more intuitive, and more fun—but the real breakthroughs are all about integration of these software engineering activities.
Visual Studio 2005 includes more tightly integrated support for teams of architects, engineers, testers, and other stakeholders all working on the same project called the Visual Studio Team System (VSTS). While check-out/check-in mechanisms for source code have been around for a long time, this improved integration allows, for example, a change to the code made by a programming team to trigger a corresponding change in another participant's project model. VSTS is made up of these components:
- Visual Studio 2005 Team Edition for Software Architects
- Visual Studio 2005 Team Edition for Developers
- Visual Studio 2005 Team Edition for Testers
- Visual Studio 2005 Team Foundation Server (available next year)
Depending on the version of VS 2005 (there are almost 20 available when including the upgrade types), new tools are available for unit testing, test case management, static analysis, code profiling, and project management. The VS 2005 Team Foundation Server is responsible for managing shared source code, coordinating team collaborative efforts, and providing access to the database for the project itself.
While ALM enhancements may benefit large development operations the most, there are some advances for everyone. Among them are larger-scale classes centered on framework-level functions. For example, there is an MS-supplied class called "membership" that encapsulates most of the garden-variety tasks of validating a user's authority to access a Web site. The programmer no longer has to code to this task. Also, a tighter integration now exists between the Visual Studio IDE and ASP.NET, improved data binding capabilities, and new features for creating database-driven applications.
What's New for Small Developers
The most interesting news regarding Microsoft's Visual Studio 2005 may be that there are now free entry-level versions of VS. Yes, I know, "Microsoft" and "free" don't get into the same sentence very often, but this time it's different. For a period of one year, Microsoft is experimenting with the strategy that has worked so well for the Linux, Apache, MySQL and Python/Perl/PHP (LAMP) community—that of open source, where computer professionals may acquire operating systems, server software, and development tools at no cost. The versions of VS 2005 development languages that are free (called Web Developer Express, C# Express, Visual Basic Express, SQL Server Express, etc.) are somewhat limited in their capability, however, and there's nothing "open" about the source. For example, you cannot add third-party custom controls to the VS Express programming environment. You have to make do with the controls that come intrinsically from Microsoft. Nevertheless, for a beginning .NET programmer or for those on a tight budget, nothing is as compelling as "free." Note that only the experimental program expires in one year. The VS Express packages do not expire. See the Microsoft Developer Network Express page for details and to download Express languages.
Another interesting turn of events concerns the way that Web applications will be developed under VS 2005. In a divergence of methodology between developing ASP.NET and native .NET applications (called a "paradigm nudge" in Microsoft's announcement), creating a Web application with the free version of VS 2005 is done with a dedicated package Web Developer Express. You have your choice of C#, Visual Basic, or J#, but you can only create a Web application. In other versions of VS, Web applications are created in the regular IDE, and a code template is used to get the project started.
What's New in the Visual Studio IDE
As programmers, we are probably most interested in the new enhancements for the Visual Studio 2005 Interactive Development Environment. Most significantly, VS 2005 is oriented toward Web services. Establishing a reference to a distant server and using the service as if it were a local component is almost trivial under VS 2005. (See my article on Web services.)
You can now create .NET applications that are centered on Microsoft Office. That is, under an Office type of application, an Excel spreadsheet interface or a Word document interface is used as if it's just another form in an interactive application—quite a step up from creating a Word or Excel macro with VBA or even from coding a regular programming language to use an Office application's exposed public interface. Visual Studio Tools for Office (VSTO) is much like the VS Professional version, but you can only code in C# or Visual Basic, and there is no support for creating applications for mobile devices.
Many other small enhancements to the Visual Studio IDE make coding easier and more productive, enough so that next month's article will be concerned with that sole topic, but a few deserve mention:
- Programs may be compiled to be run on 64-bit and Itanium processors.
- Source code may be scanned for possible security exposures.
- Two-way data binding may be created for Web applications.
- Improved support is provided for developing programs that use Web services.
- New .NET framework classes provide for coding to a less detailed interface.
What's New in SQL Server
The iSeries has had the advantage of having a native database integrated into the operating system for decades. In that light, most of the enhancements to SQL Server 2005 that are being hailed by Microsoft are relative yawners. Although not yet integrated into the Windows operating system like DB/400 was in the 1980s, SQL Server is now capable of data mirroring where two disk drives are writing redundantly so that if a failure occurs to one of the drives, the server can keep on serving while repairs are made. (The iSeries is further capable of regenerating the data on a replaced drive while the system is still available to users, but let's not diminish Microsoft's accomplishment.)
SQL Server 2005 has also been fitted with the following:
- Report Builder—Increased data analyzing and reporting capabilities have been geared for business environments.
- Snapshot—This sort of online incremental backup returns to a given state of the database without having to perform a full system restore.
- Online Load—This feature allows database administrators to perform maintenance while the server is active.
- SQL Server Management Studio—This is a consolidation and streamlining of the various tools and utilities previously used to maintain a SQL Server database and its user permissions.
- Database Tuning Advisor and SQL Server Profiler—New tools allow administrators to monitor the database for problems and tune the database for performance.
- Integration Services—This new tool lets users combine data from other common business systems.
Probably more significantly, SQL Server 2005 is written to the native .NET Common Language Runtime framework, the same framework that we programmers code to when we create a .NET application. This means that a language-independent .NET application (which is also compiled to the .NET Common Language Runtime environment) can be combined with the assemblies of SQL Server. And that, in turn, means very efficient caching strategies can be implemented.
Next month, I will present some of the new features of the Visual Studio 2005 IDE—mostly those that may have an impact on the development of code or may make coding less work and more fun.