Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline
Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Free Trial Issue of Visual Studio Magazine

Visual Studio 2005 Premieres (Continued)

Looking Ahead to Orcas and Beyond
Microsoft could conceivably take future versions of Visual Studio in many directions. Support for new operating system features is almost a given. And based on some presentations given at Microsoft Professional Developers Conference 2005, it appears that the company has chosen working with data as the next mountain to climb.

ADVERTISEMENT

Orcas (the code name for an upcoming version of Visual Studio that will provide support for Windows Vista) will have a pretty quick cycle as far as enterprise development tool sets go. In order to take advantage of some of the new features available in Windows Vista, Orcas must come out at around the same time, now projected for the second half of 2006. This means that there is perhaps as little as a 12-month turnaround time for Orcas (although there is no doubt that it is already under development), so don’t expect too much.

Windows Vista (or Longhorn, for those of us who identify more readily with its sobriquet) will introduce a declarative programming model called Extensible Application Markup Language (XAML) that will complement existing programming languages and Windows Forms by enabling developers to use the Avalon presentation layer to build the sophisticated mix of Web-like rich-client user interfaces available with the new operating system. Avalon user interfaces written with XAML employ some stunning visual effects, including three-dimensional objects, subtle shading, and transparent and overlapping objects.

Orcas will also deliver more support for Indigo, Microsoft’s new programming model for building Web services. Indigo introduces a unified model for developing connected applications on the Windows platform that makes it easier to build service components employing remote procedure calls, messaging, and remote object invocation. Indigo has few fundamentally new Web service capabilities, but Orcas will provide a far easier way to implement some capabilities, such as security and reliable transactions. Demonstrations of Indigo technology indicate that using Orcas with Indigo can reduce many complex tasks requiring tens of thousands of lines of code to just a few.

From the standpoint of language, the use of data in applications appears to be some low-hanging fruit Microsoft can exploit in that limited amount of time. Many developers write data-driven applications, yet there is little in Visual Studio beyond ADO.NET to make such development easy. In particular, while it is possible to build a state-of-the-art graphical user interface visually by selecting from a vast set of user interface components, and write processing logic in VB.NET or C# using conventional programming skills supplemented by a comprehensive help system, database access requires intimate knowledge of the database structure, plus the ability to work in SQL.

Orcas seeks to improve on that experience by adding language features to C# that make data handling more seamless. If C# were a data-aware language, for example, you could easily and seamlessly transfer data between the user interface and the database entirely in C#, without necessarily knowing the details of the database tables and fields you are accessing. Consider the improvement in developer productivity and application reliability if you could take a data item directly from a screen object and write it to the database without any intermediary structures.

This goal, in fact, might have been one of the fundamental reasons that Visual Studio and SQL Server have been made available at the same time. The first step in achieving such transparency is to provide the same managed execution environment for both the database and the language.

Other projected features for C# include extension methods, lambda expressions, type inference, and anonymous type for expressing queries and interacting with objects, XML, and databases in a strongly typed, natural way. For example, the next version of C# ties in with the .NET Language Integrated Query (LINQ) framework, which will allow you to build queryable APIs.

Much of these projections are speculation at this time, although C# architect Anders Hejlsberg and others at Microsoft have done some speaking on the subject. It is also likely that Visual Basic will continue to return to its roots as a rapid application development language for business-oriented developers. And because software development as a whole is moving in this direction, expect a greater ability to build application models graphically in both languages.

Despite the focus of Windows Vista on rich-client user-interface facilities, pure Web applications are not forgotten. Future directions for ASP.NET include the Atlas technology, which will make it easier to build Web applications that deliver rich, interactive experiences in a browser. Atlas features a JScript cross-browser client script framework for building browser-based applications with a rich user interface and straightforward connectivity to Web services.

Of course, Orcas is not the end of the road as far as Visual Studio goes. The release after Orcas is code-named Hawaii. The name of an island in the middle of the Pacific, far from the usual code names of islands in the Pacific Northwest, suggests to some that compared to its predecessors, it is quite far out (and out where the weather is much nicer). Early word claims that Hawaii will offer radical improvements in its ability to work with data in all its forms as objects, as XML, and as relational data. An abstract states that Hawaii will feature query comprehensions, object initializers, and anonymous types for querying data in a more flexible way.

Hawaii’s release date is not set yet, but don’t expect it soon after Orcas. Microsoft has said it wants to release two additional versions of Visual Studio by 2010. Given a late 2006 or early 2007 release of Orcas, that could leave an additional two years or more before Hawaii becomes available.

Both Orcas and Hawaii will bring forth the Microsoft vision for modeling in the design phase, not with UML, but rather with so-called domain-specific languages, or DSLs. DSLs are languages, both textual and visual, that are built on the foundation of Visual Studio languages and tools for a specific industry or purpose. The financial services industry, for example, may have a DSL focused specifically on computations of risk and return. Think of the concept as a more modern 4GL that makes developers of applications in those domains highly productive.

Before You Rush to the Store
Microsoft has long provided developers with the most comprehensive and productive general-purpose development environment available for any language and platform, and Visual Studio 2005 does nothing to hurt that image. One must ask, however, whether it breaks new ground and advances the state of the art.

This is a more complicated question. Visual Studio continues to add useful features in both language and IDE, but few seem to count as truly innovative. Some features, such as the Class Designer, are well-refined implementations of existing and established concepts. Others are language enhancements that might or might not be useful enough to go through the effort of upgrading, depending on the needs of your applications.

The ability to model the deployment environment and compose a design that matches defined constraints is a significant advance, but it is only available in conjunction with Visual Studio Team System. And some of the other VSTS features, such as the ability to define and enforce best practices in software engineering, might require that you change both your source-control software and your fundamental development practices, both of which are not done lightly.

And that might be the real problem with Visual Studio: Microsoft has taken some of the most significant innovations and segregated them into this new and more expensive product addition. To be a clear winner, you need to adopt and use Visual Studio Team System as an inseparable companion to the IDE. There is some justification for the practice of separating coding from process, because ISVs charge for lifecycle tools dependent on Visual Studio, but we are now in an era where developer tools are in a race to the bottom of the price list. Not even Microsoft has the ability to charge top dollar any more.

Getting back to where we started, if you have MSDN subscriptions across all developers on your team, upgrading is a no-brainer, and you’ll get some pretty significant benefits by employing both Visual Studio 2005 and Visual Studio Team System. However, if an MSDN subscription is not in the cards, or if VSTS isn’t a direction you wish to go, you are left with a largely incremental upgrade with some nice new features. In that case, you should look at the features to determine if they add to your productivity or development experience, based on how you use Visual Studio today. While there is no question that you will like much of what you see, the answer won’t always be yes.

About the Author
Peter Varhol is a senior member of the technical staff at Progress Software, and a frequent speaker on software development and architecture at industry conferences.

Back to top














Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTP Home