Certainly the most flexible VDI solution I've worked with, Citrix XenDesktop is the model of compatibility coupled with excellent capabilities. XenDesktop not only works with Citrix XenServer, but also runs on top of other vendors' hypervisors. It supports all four virtual desktop delivery models (dedicated, pooled, streamed, offline) and remote connectivity from a wide range of client operating systems, including Linux, Mac OS X, iOS, and Android. Setup and configuration of XenDesktop are a bit challenging, but once up and running, the system requires little day-to-day management.
Citrix offers four versions of XenDesktop to choose from, depending on the VDI project's requirements. For those who just want to kick the tires on a VDI installation, the free XenDesktop Express version, limited to 10 concurrent users, works great. For deployments that only require hosted VDI (dedicated or pooled), the XenDesktop VDI Edition is a good choice. Full-scale deployments will require the Enterprise or Platinum edition, both of which let admins deploy dedicated, shared, streamed, and offline (local mode) virtual desktops and integrate with Citrix XenApp. The Platinum edition goes further with the addition of HDX WAN optimization through the Citrix Branch Repeater.
I installed XenDesktop on a Dell PowerEdge R715 2U chassis using Citrix XenServer 5.6 as my hypervisor, and I created a single Windows Server 2008 R2 64-bit server to host Desktop Studio, XenDesktop Controller, and Desktop Director. I created base images for Windows XP and Windows 7 Professional desktop on the same Dell chassis. During my tests, I connected to XenDesktop from various client devices inside and outside the firewall and had no trouble launching the virtual desktops from my browser.
Citrix XenDesktop: Building blocks
One big plus with XenDesktop is the option to install it on VMware vSphere or Microsoft Hyper-V. Citrix designed XenDesktop to be hypervisor-agnostic to allow maximum flexibility. Like VMware View, XenDesktop does require Active Directory for user authentication and authorization, so there will have to be a Windows server somewhere on the network.