- Application virtualization
Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying
operating systemon which they are executed. A fully virtualized application is not installed in the traditional sensecite web|url=http://www.microsoft.com/windows/products/windowsvista/enterprise/softgrid.mspx|title=Introducing Microsoft SoftGrid Application Virtualization|publisher= Microsoft] , although it is still executed as if it is. The application is fooled at runtime into believing that it is directly interfacing with the original operating system and all the resources managed by it, when in reality it is not. Application virtualization differs from operating system virtualization in that in the latter case, the whole operating systemis virtualized rather than only specific applications.
Limited application virtualization is used in modern operating systems such as
Microsoft Windowsand Linux. For example, IniFileMappings were introduced with Windows NTto virtualize (into the Registry) the legacy INI files of applications originally written for Windows 3.1. [cite web|url=http://msdn.microsoft.com/en-us/library/ms725501(VS.85).aspx|title=WritePrivateProfileString Function|publisher= Microsoft|accessdate=2008-06-18] Similarly, Windows Vistaimplements limited file and Registry virtualization so that legacy applications that try to save user data in a read-only system location can still work on the platform without elevating users' access. [cite web|url=http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/default.aspx|title=Inside Windows Vista User Account Control|author= Mark Russinovich|publisher= Microsoft|month=June | year=2007]
Full application virtualization requires a virtualization layer.cite web|url=http://vdiworks.com/wp/?p=15|title=How to build an Application Virtualization Framework|publisher=
VDIworks|author=Amir Husain|accessdate=2008-07-01] This layer must be installed on a machine to intercept all file and Registry operations of virtualized applications and transparently redirect these operations into a virtualised location.cite web|url=http://www.dell.com/downloads/global/power/ps1q08-20080154-LANDesk.pdf|publisher= Dell|title=Facilitating Microsoft Windows Vista Migration Through Application Virtualization|date=2008-01-28|accessdate=2008-06-19|author=Coby Gurr|format=PDF] The application performing the file operations never knows that it's not accessing the physical resource it believes it is. In this way, applications with many dependent files and settings can be made portable by redirecting all their input/outputto a single physical file, and traditionally incompatible applications can be executed side-by-side. Microsoft Application Virtualization, Software Virtualization Solution, and VMware ThinAppare examples of this technology for the Windows platform.
A common misconception is that a
runtime environmentis application virtualization. However a runtime layer is required for an application to be able to execute, while a virtualization layer is not.
A similar, but different principle is Operating system virtualizations which encapsulate the entire operating system from the hardware, as opposed to only the applications from the operating system.
Technology categories that fall under application virtualization include:
* Application Streaming. The application is delivered in a package, that may include a subset of OS files and configuration settings. Running the package requires the installation of a lightweight client application. Packages are usually delivered over a protocol such as HTTP or
RTSP. Application virtualization is commonly paired with application streamingto deliver applications on demand.
Desktop Virtualization/ Virtual Desktop Infrastructure(VDI). The application is hosted in a VM or blade PCthat also includes the operating system (OS). These solutions include a management infrastructure for automating the creation of virtual desktops, and providing for access control to target virtual desktop. VDI solutions can usually fill the gaps where application streaming falls short.
Benefits of application virtualization
* Allows applications to run in environments that do not suit the native application (e.g. Wine allows
Microsoft Windowsapplications to run on Linux).
* May protect the operating system and other applications from poorly written or buggy code.
* Uses fewer resources than a separate
* Run applications that are not written correctly, for example applications that try to store user data in a read-only system-owned location.
* Run incompatible applications side-by-side, at the same time and with minimal regression testing against one another.cite web|publisher=
Microsoft|url=http://technet2.microsoft.com/WindowsVista/en/library/006bca87-10df-4174-94b9-ed568a3faf991033.mspx?mfr=true|accessdate=2008-06-19|title=Overview Series: Windows Vista Application Compatibility|http://technet2.microsoft.com/WindowsVista/en/library/006bca87-10df-4174-94b9-ed568a3faf991033.mspx?mfr=true]
* Maintain a standard configuration in the underlying operating system across multiple computers in an organization, regardless of the applications being used, thereby keeping costs down.
* Implement the security
principle of least privilegeby removing the requirement for end-users to have Administrator privileges in order to run poorly written applications.
operating systemmigrations.cite web|url=http://www.dabcc.com/documents/DesktopVirtualization_11_26_07.pdf|title=Desktop Virtualization Comes of Age|date=2007-11-26|publisher= Credit Suisse|accessdate=2008-03-03|format=PDF]
* Accelerated application deployment, through on-demand
* Improved security, by isolating applications from the operating system.
Disadvanges of application virtualization
* Applications have to be "packaged" or "sequenced" before they will run in a virtualized way. [cite web|title=Guidelines for Application Sequencing|url=http://mayankjohri.wordpress.com/2008/02/08/guidelines-for-application-to-be-sequenced/|accessdate=2008-06-24|date=2008-02-28|author=Mayank Johri]
* Minimal increased resource requirements (memory and disk storage).
* Not all software can be virtualized. Some examples include applications that require a
device driverand 16-bitapplications that need to run in shared memory space. [cite web|url=http://redmondmag.com/features/article.asp?editorialsid=1776|title=Application Virtualization Hits Its Stride|publisher= [http://redmondmag.com Redmondmag.com] |accessdate=2008-06-19|month=September | year=2007|author=Peter Varhol]
* Some compatibility issues between legacy applications and newer operating systems cannot be addressed by application virtualization (although they can still be run on an older operating system under a
virtual machine). For example, some applications that don't manage the heap correctly will not execute on Windows Vista, regardless of whether they are virtualized or not, as they still allocate memory in the same way. [cite web|url=http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Marinescu.pdf|title=Windows Vista Heap Management Enhancements|author=Adrian Marinescu|publisher= Microsoft|date=2006-07-14|accessdate=2008-06-19|format=PDF] For this reason, specialist application compatibility fixes ("SHIMs") may still be needed, even if the application is virtualized. [cite web|url=http://blogs.msdn.com/cjacks/archive/2008/04/30/can-you-shim-applications-virtualized-in-softgrid.aspx|title=Can You Shim Applications Virtualized in SoftGrid?|publisher= Microsoft|author=Chris Jackson|date=2008-05-01|accessdate=2008-06-24]
Comparison of Application Virtual Machines
* AIX 6.1 Live Application Mobility
Software as a service
Similar application schemes
klik (packaging method)
Software Virtualization Solution
Microsoft Application Virtualization
Wikimedia Foundation. 2010.
Look at other dictionaries:
Microsoft Application Virtualization — (also known as App V; [cite web | url = http://blogs.technet.com/softgrid/archive/2008/06/12/a farewell to softgrid.aspx | title = A Farewell to SoftGrid | accessdate = 2008 07 10] formerly Microsoft SoftGrid ) [cite web | url =… … Wikipedia
Novell ZENworks Application VIrtualization — is an application virtualization and portable application creation console by Novell that allows a user to build applications that run like an executable file. Contents 1 History 2 Architecture Technology 3 Building virtual applications … Wikipedia
Microsoft Application Virtualization — App V Entwickler Microsoft Corporation Aktuelle Version v4 (4.6) (Server) Betriebssystem Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008,Windows Vista … Deutsch Wikipedia
Microsoft Application Virtualization — Aplicación de virtualización Microsoft permite desplegar aplicaciones a cualquier cliente virtual en tiempo real desde un servidor de aplicaciones. Elimina la necesidad de instalaciónes locales de las aplicaciones. En lugar de ello, sólo el… … Wikipedia Español
Application streaming — Computer application streaming is a form of on demand software distribution.The basic concept of application streaming has its foundation in the way modern computer programming languages and operating systems produce and run application code.… … Wikipedia
Virtualization — In computing, virtualization is a broad term that refers to the abstraction of computer resources:* Platform virtualization, which separates an operating system from the underlying platform resources ** Full virtualization ** Hardware assisted… … Wikipedia
Virtualization infrastructure — broadly describes the separation between resource or request for service from the physical delivery of that service or resource. On a computer virtual memory gains access to additional memory other than the physical computer memory installed on… … Wikipedia
Virtualization software licensing — Effects of Virtualization and Multiple Core Processors= Software licensing models are being derailed by virtualization and multicore processors. Alternative licensing schemes range from the familiar, like open source and SaaS, to untested models… … Wikipedia
Application firewall — An application firewall is a form of firewall which controls input, output, and/or access from, to, or by an application or service. It operates by monitoring and potentially blocking the input, output, or system service calls which do not meet… … Wikipedia
Application service provider — Types of Internet hosting service Full featured hosting Virtual private server · Dedicated hosting · … Wikipedia