Microsoft Floats Volta For Cloud Computing

Last week, Microsoft Live Labs introduced a "technology preview" version of Volta. Volta is a programming tool intended to help make the transition from a single monolithic .NET software application to software which has components running both on the client and on the server.

Distributing an application is not easy, especially one which was designed to be a single software application. Microsoft Live Labs' interest in this must be about figuring out how existing applications can start to live in the computing, storage and network clouds of today and the future. Microsoft has this challenge for their own applications, and third party ISVs and internal IT groups do as well.

Volta is an interesting concept. First, software is refactored by identifying functionality that can be run in the client browser, and which functionality should be run as part of the server portion of the model. Microsoft Live Labs refers to this portion of Volta as Architecture Refactoring. This is done by assigning custom class and method attributes to identify which runs on the server rather than in the browser. This allows the app to be developed and tested within the client, and then later in development, portions moved onto the server for further testing and development. I would imagine this also lets the developer do some experimenting during development with where functions might live, rather than committing to a design that would be difficult to change later.

Volta Architecture Refactoring

Now for the really interesting stuff. Volta can take the code targeted for operating on the client and turn it into JavaScript targeted for supported browsers. JavaScript is both a convenient and messy way to do programming, and it often can get very out of hand, especially as JavaScript is incrementally maintained and updated. JavaScript also lacks some of the capabilities and disciplines of robust programming languages and this is another area Volta helps out. Web developers love JavaScript (most of the time) and software engineers hate it. According to Microsoft's description...

"Volta retargeting employs the technique of deep embedding, which preserves precise semantics of CLR objects, classes, methods, events, and so on, despite some rather deep impedance mismatches between the two platforms. For instance, MSIL is statically typed, whereas JavaScript is dynamically typed. Volta does all the hard work for us, though, and we are not restricted to a subset of .NET language features. Anything MSIL can do, including events, exceptions, casts, and generics, runs precisely correctly on alternative platforms."

Architecture Refactoring aside, bringing some of these programming capabilities and disciplines to JavaScript alone could make Volta a hit. It might also help software engineers to maintain more of client functionality rather than having this performed by web developers, making JavaScript accessible to more developers.

While still early in its development, Volta is a very interesting concept. A tool to migrate existing software to cloud computing would ease the transition. Making JavaScript a little less unwieldy for developers and testers would be another benefit. I think this is an important tool and research project to watch going forward.

Like this? Here are more recent posts.

Can't Keep A Good Phone Locked Down

Will SilverLight Shine On Web Developers

Policy, Policy... Whose Got The Policy?

What Cisco TrustSec Learned From Cisco NAC Failures

Virtualization Center Series: Microsoft’s Vision – Diversity of Virtualization

Visit Microsoft Subnet for more news, blogs, opinion from around the Microsoft newsletter. (Click on News/Microsoft News Alert.)

Sign up for the

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Take IDG’s 2020 IT Salary Survey: You’ll provide important data and have a chance to win $500.