Microsoft Volta
Saturday, 6 September 2008
The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together.
Developers can target either web browsers or the CLR as clients and Volta handles the complexities of tier-splitting for you. Volta comprises tools such as end-to-end profiling to make architectural refactoring and optimization simple and quick. In effect, Volta offers a best-effort experience in multiple environments without any changes to the application.
The goal of Volta is to simplify the designing, building, deploying, testing, and debugging of distributed, multi-tier applications, while minimizing the amount of “new stuff” developers must learn. Volta leverages familiar, existing .NET compilers, tools, and libraries and extends them into the distributed realm. Volta achieves this goal by declarative tier-splitting: Volta inserts communication and serialization boilerplate code in response to developer-supplied declarations in the form of .NET custom attributes. By releasing Volta as a technology preview, we hope to learn from our customers how this approach opens up new opportunities and simplifies existing scenarios. Volta is a long-term project and may take many years to realize the full vision. By sharing it early, we hope to collect feedback to drive the ongoing effort as well as to prove the validity of the model early in-the-field.
Volta makes it easier to develop multi-tier web applications by leveraging the knowledge developers already have from .NET programming experiences. Volta dramatically reduces the amount of “new stuff” developers must learn to move their applications into the distributed realm. Volta also dramatically increases developer agility in the intermediate phases of application development, where change is rapid, by allowing developers to postpone irreversible decisions about tier assignments to the last responsible moment. After tier assignments, Volta’s deep integration with Visual Studio debugger and testing infrastructure dramatically improves the deployment experience for developers.
-
Volta automatically creates communication, serialization, and remoting code. Developers simply write custom attributes on classes or methods to tell Volta the tier on which to run them.
-
Developers may base tier assignments on any criteria, such as load management, performance, or location of critical assets and capabilities. Because Volta automates the hidden plumbing code, it is easy for developers to experiment with varying assignments of classes and methods to tiers.
-
Developers can use all the .NET languages, libraries, and tools they already know, including debuggers, profilers, test generators, refactoring, and code analysis tools.