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:
- Microsoft Application Virtualization (formerly SoftGrid): It allows you to deliver applications that are never installed and are dynamically delivered on demand. It can be deployed on desktops, laptops, or terminal servers. For more information, please see http://technet.microsoft.com/en-us/appvirtualization/default.aspx
- 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
- Symantec Software Virtualization Solution Pro: It is an application virtualization platform that works through local system filters. The Pro Edition includes a streaming component formerly called Appstream. For more information, please see www.symantec.com/business/products/overview.jsp?pcid=pcat_infrastruct_op&pvid=sv_sol_pro_1
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
- InstallFree Bridge provides a clientless platform that creates a transparent “bridge” between virtual applications and the OS, protecting the OS from any application changes. For more information, see www.installfree.com/pageload.aspx?page=products_bridge.html