June 24, 2009

Application Virtualization is a software technology that creates software or service isolation on top of the base operating system through a special virtualization layer. The advantage with Application Virtualization is that it completely protects the base operating system from any changes that applications make in the process of installation(be it registry changes, dll modifications, services created etc.). That is because when a virtualized application is prepared, the installation process is not captured; instead, the running state of the application or whatever is required to make the application functional on a base operating system is captured.

Application Virtualization Technologies

Basically there are two types of methods used for creating virtualized applications; agent based and agent less.

Agent based virtualization

This type of virtualization is done using streaming technologies. It removes the need for installation of any application locally but the Application virtualization agent (client) needs to be installed on the client machines. All installed application data is stored permanently on the virtual application server. Whichever software is needed is either streamed or locally cached from the application server on demand and run locally. Examples of software that are based on this approach are:

Citrix XenApp (formerly Citrix Presentation Server):It is an end-to-end Windows application delivery system that offers client-side and server-side application virtualization, as well as presentation virtualization. For more information, please see www.citrix.com/english/ps2/products/product.asp?contentid=186

Agentless Application Virtualization

This type of application virtualization also allows zero installation on client machines. What this actually does is that it virtualizes resources such as environment variables, files and Registry keys, thus presenting application with virtual environment which is a combined view of the underlying physical and virtual resources. This virtualization layer causes application to run as it would normally run. Beauty of this type of virtualization is that no agent (client) installation is required on the base machine in order to execute applications created with this technology. Once any application is virtualized it can then be used on different operating systems or different machines, making the application truly mobile. Examples of software based on this type of approach are:

VMware ThinApp encapsulates applications from the OS and each other, eliminating costly regression testing and conflicts from badly behaving applications. Just plug in an .msi or .exe file to deploy a virtual system environment, including registry keys, Dynamic Link Libraries (DLLs), third-party libraries, and frameworks, without requiring any installation of agents or applications on the underlying operating system. For more information, see www.vmware.com/products/thinapp/?hl=en&rlz=&q=thinapp&meta