While each vendor has specific key architectural components to implement application and desktop virtualization, common elements include: user devices, sometimes with a thin/headless client, a gateway, front-end servers, back-end servers and a directory service.
Some vendors consolidate multiple functions reducing the number of components through which traffic traverses. The thin/headless client functions as a beacon to allow connections between users and back-end servers. The gateway securely manages traffic to and from the user and the back-end servers. The front-end servers serve as an intermediary between the directory service, the gateway, and the back-end servers, resolving AAA and access to resources. The directory service provides AAA services. Finally, the back-end servers host the applications and desktops.