Volta – Wrapping the Cloud with .NET

By | April 23, 2008
With the dutch DevDays comming up at the end of may, I want to get your attention to a new cool Microsoft technology named Volta. They will have a session about it at the second day.
 
What is Volta?
From the official Volta site where you can download it:
“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. “
 
Ok sounds great, but what does it mean?
ZDnet has more:
Volta lets you take .NET code and compiles it into JavaScript. But there’s more to Volta. For one, the “tier-splitting” nature of Volta means you can write in .NET and then tell the compiler which code to run on the client (say, in JavaScript) and which to keep on the server. Okay, that’s cool, but why is this applicable to rich Internet applications?
 
Microsoft is doing some really interesting things with how data is stored and accessed. Bill Gates and Ray Ozzie have often said you shouldn’t care where your data lives (in the cloud, on your desktop) just that you have access to it. I think that’s becoming a very fundamental part of rich Internet applications. From what I can tell, Volta is directed at that. The Volta blog says “he focus of Volta is on extending the .NET platform to cover the Cloud, hence the essence of Volta is to enable multi-tier and asynchronous programming via declarative attribution and MSIL to MSIL rewriting.” Volta does all of a sudden make it very easy to tailor your application so parts of it run in the cloud and parts of it run in the client. In theory it would be easy to refactor your application as needs change or as functionality wanes and waxes on the client or server. But it’s bigger than that.
 
In a paper called “Democratizing the Cloud” [PDF] the architect of Volta, Erik Meijer, says that when no CLR is available on the client, Volta will use what’s already there. That means that the .NET application you’ve written could use Silverlight when it exists, but when it doesn’t you could use Ajax or Flash. Writing Flash in .NET isn’t a new idea, but coming from Microsoft it’s a big step. I don’t believe Flash is actually supported yet, but it sounds like they’re thinking about it.
 
So with Volta developers can write in .NET code and then (relatively simply) deploy different parts of their application to the server and to the client in whatever client-side technology they want. There are still big questions about whether you can use this to achieve some of the results you want. But what this does is abstract the client/server development model so that you don’t have to think about the cloud, it’s all one code base. This is very in line with the idea of your data “just being accessible when you want it” but for developers.
Channel9 has some ver intresting video’s:
And of course, you van download Volta here:
 
So everybody go to the Volta session at the devdays!