Redmond, Wash. Dec. 5, 2007 – Microsoft is expanding the company’s offerings in the Software + Services space with the release of the Volta technology preview, a developer toolset for creating multi-tier web applications. By utilizing familiar tools and languages such as Visual Studio 2008, C#, Visual Basic and the .NET Framework, coupled with advanced automation processes, Volta allows developers to build multi-tier web applications while still having the freedom to devote their creative energy to the more specialized features of their applications.
To discuss the release of this new developer toolset and how it can help developers, PressPass spoke with Erik Meijer, principal architect for Volta.
Erik Meijer, Principal Architect, Microsoft Corp.
PressPass: What is Volta and how does it benefit developers today?
Meijer: Volta is a toolset created by Microsoft Live Labs that allows developers to build multi-tier web applications using established languages, libraries, development tools and the .NET Framework. Volta offers a specialized facility for partitioning functionality across client and server via declarative tier-splitting. Volta extends the .NET Framework to distributed Software + Services applications, allowing developers to use existing and familiar tools and techniques. Additionally, Volta’s design allows developers to delay some decisions until later in the development process – making it faster and cheaper to adjust architectures to accommodate evolving requirements.
PressPass: What is the overall goal of Volta?
Meijer: Volta is a toolset that simplifies designing, building and debugging distributed, multi-tier applications using existing .NET compilers, tools and libraries. Volta achieves this goal by a technique called declarative tier-splitting. The programmer inserts explicit declarations into the source code, stating the tiers on which certain classes and methods should run. Basically, Volta automatically inserts low-level communication and serialization code and moves the annotated code to the appropriate tiers. By releasing Volta as an experimental toolset, we hope to validate the overall goal and approach, as well as collect feedback that will be helpful in driving further development.
PressPass: What makes Volta unique compared to the other web development applications and tools that are available today?
Meijer: Unlike other approaches, Volta starts with a client-side perspective. That is, once developers are satisfied with an application’s functionality and fully understand the internal object interactions, they “decorate” the code with declarative attributes, or annotations, to indicate the parts of the application that should run on other tiers. The Volta runtime utilizes as many existing web technologies as possible, such as the CLR, ASP.NET, and standards-based web browsers, making it possible for developers to work with Volta in a way that they are already comfortable.
In addition, Volta is deeply integrated with Visual Studio 2008 – including the debuggers. 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. Additionally, Volta enables new end-to-end profiling and testing for higher levels of application performance, robustness and reliability by maintaining a single programming model across multiple tiers.
PressPass: How does Volta make it easier to build a web application?
Meijer: Volta dramatically reduces the amount of "new stuff" developers must learn because it extends the libraries, tools and techniques that they are already used to in .NET to new distributed, web-based, Software + Services scenarios. Moreover, Volta allows developers to delay irreversible decisions until the last responsible moment, greatly increasing the agility of development in intermediate phases where change is often rapid. Since developers initially create easy-to-manage, single-tier client applications, and then incrementally distribute parts to other tiers through a "refactoring" technique they are already familiar with, they can apply familiar skills to new problems – reducing development cost and risk.
PressPass: What are the use-case scenarios for Volta?
Meijer: Volta caters to client-server applications, including Ajax-style web applications. By enabling developers to prototype and refine their designs through refactoring, Volta is particularly suitable for scenarios where developers cannot, or should not, partition functionality between the client and server up front. In addition, Volta offers the same programming model on the browser and the server, helping developers control the complexities and idiosyncrasies of these different realms.
PressPass: As a Microsoft Live Labs technology experiment, how does Volta fit into Microsoft’s overall web-development strategy?
Meijer: Microsoft Live Labs is dedicated to developing innovative, Internet-centric technologies to improve and accelerate the evolution of Microsoft’s Internet products and services. Releasing Volta as an technology preview allows us to gather early feedback from both customers and partners alike; this feedback will influence future development of Volta. Since Volta’s declarative tier-splitting works purely on the Microsoft Intermediate Language (MSIL) level, it can be applied to any .NET application, written in any programming language and libraries supported by .NET. This includes rich traditional client applications running under the standard .NET Framework.
PressPass: How does Volta promote innovation in Microsoft’s Software + Services efforts?
Meijer: Volta makes it easier to interface with existing web services from familiar .NET programming languages and libraries. By automating some deployment aspects, Volta makes it considerably easier and faster for developers to create multi-tier applications, freeing them up from repetitive, low-level communication software, so they can devote their time and creative energy to more in depth aspects of their designs.
PressPass: Is Volta part of a Microsoft product roadmap?
Meijer: Volta is an experiment that enables Microsoft to explore new ways of developing distributed applications. Currently there is no plan to fit Volta into a larger product roadmap. Instead, we want feedback from our partners and customers to influence other Live Labs technologies and concepts.