Extending.NET to Multi-Tier Apps
Early build of 'Volta' toolset expected to ease multi-tier app development.
Last month, Redmond released an early build of "Volta," a set of tools for building Web apps that run across multiple tiers. If Volta works as advertised, it will enable the army of current Microsoft developers to keep using their .NET code for a whole new class of hardware.
Volta and Visual Studio
The early build of Volta is for use with Visual Studio 2008. "This is focused on the idea of building distributed multi-tier development using only existing tools and techniques and patterns from .NET," says Alex Daley, senior product manager for Microsoft Live Labs.
"People can use C #, Visual Basic [and] other .NET languages to get the best experience without having to tailor their app for a particular target," he adds. "The idea is you build an app starting with the client-side entirely there and declaratively split the tiers -- you say run this on the server, run that on the client and the compiler will take care of building the server-end code as well as handling what's on the other tiers."
The downloadable code must run with the newly shipping Visual Studio 2008 and makes use of server-side ASP.NET capabilities, but otherwise works with whatever languages, tools and infrastructure developers are already using.
The objective is to extend the reach of .NET to places where Microsoft Intermediate Language (MS IL) isn't available, Daley says.
The resulting apps should also run on Apple Inc.'s Safari browser, "to the extent that Safari is standard," Daley says.
The Volta process basically mimics real-world server-device interactions and allows developers to dynamically alter how they tier the application.
"Since we control the client and server code in one base, we can do end-to-end profiling," Daley says. For example, when profiling an application, a developer can determine if it has too much latency and tweak it accordingly. Daley says developers can use the tool to change what runs on the server based on actual data to assess an optimal architecture.
"It's less costly to make such changes later in the process and when you have to use two frameworks on the client and server," he says.
A Unique Approach
"This is a different approach from what I've seen [elsewhere] because Microsoft is doing this at the byte-code level versus the source-code level," says Jeffrey Hammond, senior analyst at Forrester Research Inc.
Daley and Meijer stressed that Volta remains a work in progress. "It's not at all feature complete," but should give developers a glimpse into what the final functionality could provide, Daley explains.
Daley wouldn't comment on how the technology will be delivered, priced or when it would be delivered.
Some tech bloggers were enthusiastic about Volta. "You can write your application logic in any language that's supported by the .NET compiler -- most of the statically typed languages -- in Visual Studio, which compiles to MS IL," writes Venkatesh Mandalapa, a computer science graduate student at Arizona State University.
The fact that Volta comes out of Live Labs is significant. This is an incubator organization associated with Ray Ozzie's "Software plus Services" strategy. Ozzie is Microsoft's chief software architect.
As Microsoft seeks to fend off the Software as a Service advances by Google and others, it must provide a relevant, coherent and adaptable toolset, says Paul Barter, vice president of strategy for T4G Ltd., a Toronto-based Microsoft Gold Certified Partner.
"Since the very beginning, Microsoft's key constituency has been developers," Barter says. If it can continue to win developers' hearts and minds with tools relevant to this new service-delivery option, it can prevail.
Barbara Darrow is Industry Editor for Redmond Developer News, Redmond magazine and Redmond Channel Partner. She has covered technology and business issues for 20 years.