Fast, Intelligent Streaming and other
Virtual Application Enhancements in
Novell ZENworks Application Virtualization 8
Written by Jason Blackett
Build It, Stream It
Building a virtual application that you want to stream requires the following four steps:
- Build the application
- Profile the application
- Build an application model to stream
- Publish the application
Step 1 - Build the Application
You use the packager application in ZENworks Application Virtualization 8 to build your virtual applications. This tool works similar to other applications that package software. It first takes a snapshot of what the machine looks like prior to executing the installer for the application to be packaged. After you install the application, the packager executes a process that compares the new state of the machine with the original state of the machine, and saves those changes. Finally, it allows you to modify the configuration of the application to meet your specific needs.
While you’re configuring the application, you need to make sure to have the Compress payload option unchecked to allow the profiling process to properly determine what files are being used by the user. (See Figure 1.) After you complete the application configuration, you can build the virtual executable. This creates a single .exe file that can be deployed to any device.
The packager application also provides the means to quickly inject common components such as the .NET Framework into your package. A variety of other commonly used applications are also available as pre-canned templates that can be built very quickly. All of these applications can be profiled and streamed.
Step 2 - Profile the Application
In order to leverage application streaming, you next need to profile the application. It’s best to involve a typical end user of the application during this process. The purpose of profiling is to “teach” the packager what files are going to be needed when the application is executed, as well as anticipate needs based upon changing user behavior.
To profile the virtual application, select the Advanced tab in the packager application and click the Profile button. After you specify a folder to hold the transcripts, the virtual application will execute. At this point, the application needs to be used just like it would normally be used by a typical end user. To facilitate this, you might find it helpful to deploy the packager application to an end user’s device. This allows you to start the profiling process on the end-user device and have the user use the application in a normal fashion. When the user is finished and has exited the application, a profile transcript will be created. This profile transcript will contain information about what portions of the virtual .exe file were used, as well as the order in which they were used while the application was running.
To optimize the streaming of your application, you should profile the application several times with the end user performing common tasks. The general rule is that the more times you profile the application, the better your application streaming experience will be. This is because the application stream model is built using the “learned” information contained in the profile transcripts generated by the profiling process.
Step 3 - Build an Application Model to Stream
After you have created one or more profile scripts, you can take those profile scripts from the end user’s machine and remove the packager. The packager is actually a virtual application itself, so, its removal requires nothing more than deleting the packager virtual application files and shortcuts. To build the application, transfer the profile transcripts to your packaging machine, open the application configuration in the packager, and then from within the Advanced tab select the network speed for which you want the stream to be optimized. (See Figure 2.) After selecting the network speed, click the Build Model button. You will then be prompted to enter the path to the profiling transcripts, as well as the path where you want to output the streaming model. The packager will then use the transcript information to build a folder structure that contains the files to stream.
Step 4 - Publish the Application
ZENworks Application Virtualization 8 also includes a command line application called ModelPlay that lets you launch streamed applications using traditional desktop management tools. For example, you can use ZENworks 10 Configuration Management or ZENworks 7 Desktop Management to create bundles or application objects that execute the ModelPlay application to launch a stream from either a UNC path or a URL where you stored the application model to be streamed. When the user double clicks on the application icon in the ZENworks Explorer or Application Launcher, it will stream the application to their machine, just as the Spoon plug-in can stream an application from a Web site.
Leveraging a tree model, this predictive streaming process in Novell ZENworks Application Virtualization 8 prevents the significant latency that you find in other application virtualization solutions that use a page-call system for streaming.
Using the streaming capabilities in Novell ZENworks Application Virtualization 8 can also simplify your application upgrade processes. It lets you centrally deploy your virtual application on the file share or a Web server from where it will be streamed, and then easily replace it with updated versions as needed.
You can also update or patch your virtual application model using the XLAYER capability in ZENworks Application Virtualization, which lets you use a virtual set of self-contained components to easily add new layers (including patches and updates) to your application. (See Treasure Island.) Whether you completely replace the virtual application or add updated layers to it, streaming lets you make the change once and then automatically apply those changes to all your users the next time they launch the application.
Virtual Test Drive
To test drive virtual application streaming and get a feel for the actual end-user experience, visit the Novell ZENworks Application Virtualization Streaming page. Using the Spoon plug-in, you can launch a variety of sample streamed applications. You can also visit the ZENworks Application Virtualization page to learn more about how ZENworks Application Virtualization 8 lets you create and stream both 32- and 64-bit virtual applications in a way that simplifies administration, increases user productivity and better leverages your existing infrastructure investments.