I deal with a multitude of application delivery approaches all the time. Brian Madden provides an interesting list and comments but he misses out a few options:
- Web delivery
- Web delivery supplemented by Active X controls or other plug-in technologies
- Client side virtualization
- Click-once .NET applications
I am sure there are even more. Brian provides a pro’s and con’s assessment of the options. Here is Brian’s list:
- The old way. Install each application on the end user’s computer.
- Automated Software Distribution. Use a tool like SMS or Altiris to remotely install and update applications on end users’ computers.
- Citrix / Server-Based Computing. Install the application centrally on a terminal server and provide RDP or ICA access from the client device.
- Application Streaming. Use something like Softricity to stream the application to the user’s device on demand.
- Operating System Streaming. Use something like Ardence to stream the entire disk image (OS and all) to the user’s client device.
- Bladed PC. Install Windows XP on a server blade and then provide 1-to-1 remote access via XP’s built-in RDP remote desktop functionality.
- VMware PC. Build a huge VMware server and divide it into multiple VMs, with each VM running Windows XP. Provide remote access via XP’s built-in remote desktop.
- VMware Clients within Terminal Server / Citrix Sessions. Build a server and install terminal services and Citrix. Install VMware Workstation (or Microsoft Virtual PC) as a publish application in Citrix. Then “publish” a VMware disk image for each user. Users connect to the published VM via ICA.
- The Future. Application execution components can execute on whichever backend systems they need (in a grid-like way), and presentation components can be displayed and consumed wherever they are needed.