Microsoft Ships Volta Web Development Tool

The software giant says the tool will help democratize Web development.

Microsoft is releasing its experimental tool to help democratize Web development as an early preview for developers.

Microsoft announced Dec. 5 a Community Technology Preview of Volta, an experimental developer toolkit that enables developers to build multitier Web applications using the .Net libraries, tools and techniques they already know.

Volta comes out of Microsoft's Live Labs division and will run as an add-in to Visual Studio 2008, said Alex Daley, group product manager of Microsoft Live Labs.

As reported here earlier, Volta offers a specialized facility for partitioning functionality across client and server via declarative tier-splitting, said Erik Meijer, principle architect of Volta.

"Volta extends the .Net platform to distributed software-plus-services applications, while allowing for the utilization of existing and familiar tools and techniques," Meijer said. "As such, Volta makes it possible for the developer to postpone irreversible design decisions until much later in the development process, making it faster and cheaper to adjust architectures to accommodate evolving requirements."

He said that with the concept of tier splitting, programmers can insert explicit declarations into their source code, stating the tiers on which certain classes and methods should run. Then, "volta automatically inserts low-level communication and serialization code and moves the annotated code to the appropriate tiers," Meijer said.

Daley said the significance of tier splitting "is huge in the long term. It takes all the accidental complexity out of the equation." The tier-splitting capability enables the developer to focus on having a single code base rather than to have to focus on client-side or server-side code.

"Volta allows us to reuse investments in server-side code and client-side code," Daley said.

For instance, Microsoft's Patterns & Practices team wrote a block of code for input validation, he said. "Their code was written to run on the server, and we're able [using Volta] to take that code and move it to the browser with no changes."

"Developers are able to seamlessly step from one tier to another through code, set breakpoints on any tier and trace flows of control across distributed systems," Meijer said.


In addition, Volta integrates an end-to-end profiling mechanism known as Rotunda. Rotunda enables developers to get a view of the overall performance of their application and gathers trace data on where bottlenecks may occur so the developer can troubleshoot them.

Rotunda came out of Microsoft Research, from a project headed by Ben Livshits. Meijer said he saw Livshits' work last spring and began courting the researcher to deliver an end-to-end profiling capability for Volta. The effort picked up in earnest in August and resulted in Rotunda being integrated into the Volta CTP in December.

It was an excellent collaboration between Microsoft Research and what was essentially a product team, albeit an experimental one, Meijer said.

He said Volta will do for Web development what Visual Basic did for client-side development, which is to bring it to the masses.

"The vision of Volta is ultimately pretty big," Daley said. "It's to change the way people build Web apps. Volta takes the same level of abstraction required to deliver distributed applications as VB did for client applications."

Volta also brings to light the importance of asynchronous programming on the Web, Meijer said. "You can make responsive applications that are able to deal with long delays before a call returns," he said.


Check out's Application Development Center for the latest news, reviews and analysis in programming environments and developer tools.