Software Development

Microsoft attempts to streamline .NET development with Volta

Microsoft continues its push to simplify Web development with Volta. This toolset may change the way you develop Web applications with .NET.

In the ads for Visual Studio and for .NET, Microsoft promised to revolutionize and streamline daily development tasks. While .NET is a vast improvement over past Microsoft development platforms, it still requires a certain level of expertise. Microsoft continues its push to simplify Web development with Volta.

Is it a development IDE or a toolset?

When I was talking to developers about Volta, most of them thought it was a new development IDE; it's actually a toolkit that takes advantage of Visual Studio 2008. (The current release of Volta is a technology preview.)

Volta is available via download of an installation file. Installing the Volta technology preview includes the Volta compiler and libraries along with several new project types for Visual Studio. These new project types include an application, control, and class library. You may create a new application and choose one of these templates to get going with Volta.

Splitting an application into tiers

When you read about Volta, you'll come across the concept of the cloud -- this refers to the Internet. Volta's main goal is to simplify the development of Web applications. The crux of the simplification goal is the various tiers used in an application. These tiers often require their own languages when rolling out an application to production.

Volta allows developers to use what they have to build multi-tiered applications; that is, developers can focus on building the presentation and business logic of an application. When those pieces work as planned, Volta can assist with the process of splitting the application into tiers to work in production. This tier splitting step may be divided into three capabilities defined by Microsoft: refactoring, retargeting, and remodulating.

Refactoring

Refactoring takes the single-tier code developed and tested by a developer and converts it into distributed, concurrent code as directed by user-supplied annotations. When developing code, it runs on the development machine, but this model does not work in production. The developer supplies information about various tiers, and the Volta rewriter automatically creates and deploys the marshalling and security code necessary to execute the code on these tiers.

Retargeting Retargeting converts an application's Microsoft Intermediate Language (MSIL) code into code for other virtual machines (i.e., virtual machines that may be used on other tiers). MSIL is a language used as the output of a number of compilers (C#, VB, .NET, and so forth). The goal is for a variety of languages to be available as a target with JavaScript, and MSIL is available in the technology release of Volta. A good example of retargeting is the execution of a portion of application functionality in a client browser using JavaScript. Remodulating

Remodulating tailors a single piece of code for multiple browsers, and it enables cross browser support in an application. Volta remodulation allows you to utilize certain features only available with specific browser vendors. The feature is integrated within Visual Studio, with the current release offering Internet Explorer and Firefox support.

Putting Volta to use

Once you download and install the Volta technology preview, you can easily put it to use via the Visual Studio 2008 IDE.

First, you select one of the previously mentioned Volta templates and build your application with whatever features you desire. During development, it will be a single tier application that runs completely on your development machine.

After you test it to ensure proper functionality, you may revisit its code via Visual Studio and use Volta to push it to multiple tiers. You simply right-click on code classes that you want to run on different tiers and select the Refactor option with Tier-split To Run At Origin.

Volta makes your decisions easier

Volta is currently only a technical release, so it is not an official product. It remains to be seen whether it will be fully embraced and released as a product via a Visual Studio add-on. It is currently being used by groups within Microsoft -- most notably, the Microsoft Live Labs team -- to build applications.

I like the fact that Volta simplifies the often difficult architectural and coding decisions. Once you download and install Volta, you'll find that there are many features to explore.

Do you envision yourself or your organization using Volta? If so, what do you find particularly appealing about the toolset? Share your thoughts with the community.

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

---------------------------------------------------------------------------------------

Get weekly .NET tips in your inbox TechRepublic’s free Visual Studio Developer newsletter, delivered each Wednesday, contains useful tips and coding examples on topics such as ASP.NET, ADO.NET, and Visual Studio .NET.Automatically subscribe today!

About

Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a productio...

10 comments
Tony Hopkinson
Tony Hopkinson

cookie cutters. Hmm I see plenty of work on the horizon, for people who know what they are doing....

tomhalpin2004
tomhalpin2004

enough is enough already, can these guys just leave well enough alone and leave us with tools that are stable and have traction in the market place.

jusovsky
jusovsky

Yes, God forbid anything new, different, and/or better be developed! You must be happy in your Hobbit-hole. Leave the Shire someday and see what's been going (not "going on") around you.

Justin James
Justin James

For anything as complex as N-tiered architechture, I do not trust an automated tool to do it, particularly one that seems to retroactively apply it to existing code... J.Ja

john.mayo
john.mayo

Any effort to simplify development is generally good. Application development is too complex, untimely and prone to errors.

Tony Hopkinson
Tony Hopkinson

It usually isn't. In general code generation tools, meet only one requirement. You don't need to know how to code. Tools are meant to take the donkey work out of the task so you can concentrate on the hard bit, not pretend the hard bit doesn't exist so any ass can do it.

RyanNerd
RyanNerd

There is a difference between simplify and stupify. In the past Microsoft's "simplification" efforts have taken a one size fits all approach. Just ask any VB6 developer what they thought of the tool Microsoft provided to migrate VB6 projects to VB.NET.

Tony Hopkinson
Tony Hopkinson

As you say it's not possible to do a one size fits all approach, somewhere you are going to lose. You can get away with that in a maintaining your CD collection application. Distributed, n-tier client server, no f'ing way. It's going to fall on it's arse. Worse still because you have this cookie cutter person using the tool, they won't have a clue what's wrong or how to fix it. It's not about simpler or better, it's about replacing expensive trained professionals with glorified clerks.

aureolin
aureolin

Ok, why don't you just design your application as n-tier to start with? You get built in scalability, separation of functions, enhanced security, etc. (all the benefits of n-tier architecture) and you're not at the mercy of some tool. Because you did the architecture from the beginning, you actually understand how it's put together and what functions are in what tier. What a concept! Steve G.