VM Hosted Apps functionality is new and has been introduced in Citrix XenApp 5.0 Feature Pack 2 (FP2), allowing applications installed on non XenApp machines to be accessed remotely.
These machines can be virtual machines (VM) or physical machines (such as blade servers) and as long as both of these types of machines are running a single user Windows operating system such Windows Vista, with a suitable remote access agent installed, they will integrate into XenApp's application publishing functionality.
The idea behind this technology is to allow troublesome applications to be delivered remotely by Citrix XenApp, which would have not been previously possible to deliver remotely using Citrix XenApp.
Troublesome applications can include those with compatibility issues which could have made the application difficult to install on XenApp servers causing problems such as being being resource intensive therefore affecting the server stability, or requiring some form of hardware such as USB, Dongles to Biometric devices to operate properly or the applications were just poorly written/designed, leading to being not very Terminal Services aware.
The remote machines require a Virtual Desktop Agent (VDA) installed on them, which allows communication between the client device and remote machine via a broker.
The Virtual Desktop Agent is the remote access agent installed onto machines running a Windows operating system such as Windows Vista. The client devices connect to the VDA via a broker and access the applications remotely, as they would do with a published application on a XenApp server farm.
The VDA communicates with an agent installed on the client's device using a remote display protocol, the remote display protocol is based on Citrix's ICA protocol.
The ICA protocol allows the mouse movement and keystrokes on the client device to be captured and then relayed back to the machine (where the VDA software is installed) in near real time. Once these mouse movements and keystrokes are applied by the machine, the resulting changes to the machines application appearance are relayed back to the client device, refreshing the image seen by the client and giving the impression the change as occurred on the client device when actually it's occurred on the remote machine.
The client device operating system uses an agent (Citrix online plug-in or Citrix Receiver) to communicate with the VDA installed on the remote machine via a broker to send keystrokes and mouse movements and receive screen updates.
This brokering is the same technology available in the XenDesktop product line, specifically the Desktop Delivery Controller (DDC), however the DDC differs slightly in functionality from when used in a XenDesktop solution as it does not give the users direct access to the remote machine desktops.
Published applications can be accessed from the remote machines using the XenApp management tools. Allowing users to access the applications through a Web browser (via Citrix online plug-in) or using the Citrix Receiver. The access is similar to accessing published applications installed on XenApp servers.
The only difference is in the way the farms are set up as existing XenApp farms used for hosting applications in the traditional sense can not be used. A separate VM Hosted Apps farm is required which can be accessed by users using Web Interface.
The Web Interface allows the applications and desktops from the VM Hosted Apps farm (VMHA) and from the XenApp farms to appear to the users as if from one source (subject to users having appropriate permissions).
This allows the adoption of VM Hosted Apps to be seamless to the user, giving them the impression that the application is just another published application on the XenApp server farm when in essence it's actually an application running on a remote virtual machine.
By using similar technology to XenDesktop, the Citrix Desktop Delivery Controller (DDC) is required for user authentication, managing the remote machine environments and brokering connections between the users and their remote machines.
The DDC works in the background ensuring the user experience is not impacted, ensuring the integration between remote machines and the XenApp farms works seamlessly.
The Citrix licensing requirements require the use of XenApp licenses, with each user connection using one XenApp license for application sessions, irrespective if the application is on a XenApp farm or a VM Hosted Apps (VMHA) farm.
In conclusion XenApp Feature Pack 2 provides an excellent delivery mechanism for troublesome applications using a Citrix XenApp environment. VM Hosted Apps is another string in the bow for application delivery in the Citrix XenApp armoury.