Architecture - DevSource
DevSource: Microsoft Developer Resource DevSource Home Sponsored by Microsoft Home Add Ons Architecture Languages Techniques Using VS Forums
Home arrow Architecture arrow Getting Started with Volta
Getting Started with Volta
By John Mueller

Rate This Article: Add This Article To:

Need to build a multi-tier Web application where parts run on the server and other parts run on the client? Volta may provide the answer you need.

Web application developers are working harder than ever to create a user experience that at least comes close to matching the desktop applications that most users still favor today. In order to achieve their goals, Web application developers have to create applications that are fast, secure, provide lots of functionality, and still embrace all of the elements that make Web applications worthwhile. These requirements mean defining an application that works partly on the client machine and partly on the server. Volta answers this need by using technologies that work on both server and client.

Understanding the Issues

ADVERTISEMENT

Unlike the desktop developer, the Web application developer faces a host of uncertainties when developing an application. For example, it isn’t safe to assume anything about the client system, not even the operating system, because a user may rely on a Mac, Linux, or Windows operating system, among others. Sometimes, the same user may access the application using different operating systems—a user may regularly switch between Linux and Windows and rely on Firefox in both operating systems, so an online application would need to accommodate both operating systems to meet this user’s needs. Volta relies on JavaScript for the client tier, which means that just about any client will work fine. The server tier uses Web services, which also accommodate just about any client, even desktop applications.

There are some environmental issues that Volta won’t help Web application developers solve. For example, if the user configures their browser not to provide JavaScript support, Volta won’t use some special magic to make the application work. Likewise, an over zealous firewall can still bring a Volta application to its knees. But these problems are common to all Web applications, not just Volta, and probably won’t ever go away. Consequently, from a certain perspective, desktop applications will always have an advantage over Web applications because desktop applications run in a trusted environment. What Volta does do is give the user reasons to relax communication restrictions in order to gain the full functionality of a Volta application.

Getting Your Own Copy of Volta

You can download Volta from the official Web site at http://labs.live.com/volta/download/. Just double click the executable you receive (volta-current.exe currently) to begin the installation process. The installer does detect some common problems, such as having the wrong version of Visual Studio installed on your system. Volta requires that you have Microsoft Visual Studio 2008 Beta 2 (build 20706.0) or RTM (build 21022.8) installed. In addition, you must have either Firefox 2 or Internet Explorer 6 (or above) installed on your system. The error message you receive for the wrong environment always indicates an issue with your version of Visual Studio, but the wrong browser version produces the same message, so always check your browser when you get an installation error message.

I also experienced a problem getting Volta to install on a Windows XP machine with Firefox 2.0.0.16 installed. This is a dual boot machine. Volta installs just fine in a Vista environment with Firefox 2.0.0.16 installed. In fact, a comparison of the two environments shows that they’re identical except for the operating system (each partition has the same applications installed and all of the applications are the same version with the same patches and bug fixes). A question about the issue went unanswered, so I can only assume that at this point there are Windows XP problems with Volta.

What is Volta all About?

The Volta development process is straightforward—at least, it appears straightforward. According to the Web site, you develop a standard Web application, test it, and then begin assigning parts of the application to the client or server as needed to achieve your goals. Volta automatically creates the required JavaScript for the client and Web services for the server. It then adds serialization, synchronization, security, and other code to tie the two tiers together. The process sounds almost too simple. It’s a good idea to go through the Getting Started guide found at http://labs.live.com/volta/docs/quickstart.aspx before you assume that Volta really is this simple.

In order to use Volta, you have to begin with a Volta project, not a standard Visual Studio Web project. Of course, there isn’t anything mysterious here—you use the New Project dialog box to select the Volta project, just as you would any other Visual Studio project. You aren’t asked to jump through any odd hoops. However, you’ll notice some procedures are different. For example, you place the interface logic in a class, rather than using direct code behind. You must then create connections between this class and the Web page—the connections really aren’t as automatic as you might initially think, but they aren’t that hard to create either. (It’s interesting to note that the InitializeComponent() method is missing a closing brace.) These differences tend to make the Volta experience a little different from what you’ve done in the past to create an application.

The automation you were expecting from the outset kicks in when you deploy the application. After you perform the required setup and testing, you use a simple wizard to deploy the application to your Web site. Deployment settings tell Volta how to split your application between server and client. Overall, the Getting Started demonstration is a slick presentation of how Volta can save you time in the end for a little extra work at the outset.

The best part of Volta isn’t necessarily the automation it provides. The debugger really shows you how things work and you can monitor the server from your client system. Consequently, it’s easy to verify that the server tier of the application really does execute on the server and the client tier of the application really does execute on the client. The Getting Started guide ends with a demonstration of how these debugging features work, without really explaining them in any depth. You’ll want to spend some time with the vendor documentation to understand the debugging features in detail.

Great Samples and Documentation

The hello world type of application shown in the Getting Started guide is nice, but most developers will need more before they can write a Volta application. I was able to get up and running quickly with Volta, partly because Microsoft actually provides an interesting number of samples and documentation with the product. There are six fully functional examples at the time of this writing and you can find them at http://labs.live.com/volta/samples.aspx. Make sure you visit the Volta blog at http://labs.live.com/volta/blog/ for even more examples.

The developer documentation is acceptable, but not quite as detailed as something from Visual Studio. Even so, the documentation is an easy read and lacks the usual use of terms that only geeks could love. The Volta Web site breaks the documentation down into seven parts:

  • Fundamentals
  • Volta Targets
  • Volta Specific Recipes
  • UI and Ajax Recipes
  • JavaScript Interop Recipes
  • Libraries

Known Issues/Limitations

Make sure you read the Fundamentals section before you begin writing your own applications. If you work through the Getting Started guide and read the Fundamentals section, you’ll find any example applications you download significantly easier to understand. In addition, your own development efforts will go much faster. The Known Issues/Limitations section is also a must read before you begin any serious work.

Online Assistance

One of the down sides of Volta right now is that I found the online assistance a little lacking. The blog entries are intermittent to say the least—upwards of four months go between entries, so you can’t ever be sure when the development team will get online with new information. In addition, the Community Forum is a little less than helpful. I wasn’t the only one who experienced an installation error—in fact, installation (or the lack thereof) seemed to be a pervasive question. The typical response was to ask for the installation log, after which, the development staff simply disappeared from view. If you’re having a problem with Volta, you’ll need to rely on other developers, rather than the Volta development staff. That said, once I did get the product installed, I found it quite reliable. The Getting Started example worked fine (I wrote it by hand) and all of the samples I downloaded (six of them) worked, too.

Bottom Line

Volta presents you with a new way to develop applications that build on the skills you already possess for creating Web applications using Visual Studio. Yes, you’ll need to do some extra work to use it, but the benefits are obvious once you start testing that first application. From the client perspective, you see better application speed, improved security, and a level of improved reliability. As a developer, you obtain better application monitoring and easier debugging. In short, Volta is a significant new tool that will make your development efforts considerably easier.

BIO

John Mueller is a freelance author and technical editor. He has writing in his blood, having produced 81 books and over 300 articles to date. The topics range from networking to artificial intelligence and from database management to heads down programming. His current project is LINQ for Dummies (scheduled for publication in August 2008), which you can preorder at http://www.amazon.com/exec/obidos/ASIN/0470277947/datacservip0f-20/. His technical editing skills have helped over 56 authors refine the content of their manuscripts. You can reach John on the Internet at JMueller@mwt.net and his Web site at: http://www.mwt.net/~jmueller/.




Discuss Getting Started with Volta
 
>>> Be the FIRST to comment on this article!
 

 
 
>>> More Architecture Articles          >>> More By John Mueller
 



Microsoft's Future: A Chat With Their CTO, Barry Briggs

Play Video >

All Videos >

Julia explores the Robotics Studio!

Read now >

Messages to Bill Gates!

Read now >

View Now
DevSource RSS FEEDS
XML Want an easy way to keep up with breaking tech news? And the Get DevSource headlines delivered to your desktop with RSS.