# Citrix Virtual Apps

Citrix Virtual Apps (vormals XenApp) ist eine Thin-Client-Lösung der Firma Citrix. Die Software setzt auf der Terminal-Server-Funktionalität der Microsoft-Windows-Serverbetriebssysteme auf und ermöglicht so die Nutzung zentral bereitgestellter Applikationen mit verschiedensten Endgeräten (Terminals), die nur die Benutzerschnittstelle darstellen müssen.

## Versionen

Namensgeschichte :
| Erscheinungsdatum | Produktname |
| 1991 | Multiuser |
| 1993 | WinView |
| 1995 | WinFrame |
| 1998 | MetaFrame |
| 2001 | MetaFrame XP |
| 2003 | MetaFrame Presentation Server |
| 2005 | Presentation Server |
| 2008 | XenApp |
| 2018 | Virtual Apps |

### WinView

Nachdem auf Basis des von Microsoft lizenzierten Betriebssystems OS/2 1991 ein erstes Citrix-Produkt namens Multiuser erschienen war, veröffentlichte die Firma 1993 WinView, wiederum ein um Mehrbenutzer-Fähigkeiten erweitertes OS/2.

### WinFrame

Nachdem sich herausgestellt hatte, dass die Zukunft Windows statt OS/2 gehörte, wurde auf Basis des nun von Microsoft lizenzierten Windows NT 3.51 im Jahr 1995 ein Produkt namens WinFrame als vollständiges Multiuser-Betriebssystem auf den Markt gebracht. Es enthielt erstmals die Kern-Technologie MultiWin und das ICA-Protokoll für die Übertragung der Bildschirmdaten zum Client.
Citrix arbeitete bereits an WinFrame 2.0 auf Basis des 1996 erschienenen Windows NT 4.0, als sich Microsoft entschied, ein eigenes Mehrbenutzer-System auf den Markt zu bringen und Citrix die nötige Lizenzierung für deren (dann Konkurrenz-)Produkt zu verweigern. Um das nötige Multiuser-Know-how nicht selbst erwerben zu müssen, kaufte Microsoft den dazu nötigen Programmcode von Citrix.

### MetaFrame

Auf Basis des Citrix-Programmcodes brachte Microsoft 1998 das Multiuser-Betriebssystem Windows NT 4.0 Terminal Server Edition auf den Markt. Da die Firma das ICA-Protokoll nicht mit von Citrix gekauft hatte, dient seitdem ein eigenes Protokoll, das RDP-Protokoll (basierend auf dem T.120-Protokoll), der Datenübertragung zum Client.
Den noch gegenüber Microsoft vorhandenen Technologievorsprung, nämlich das ICA-Protokoll und die Load-Balancing-Fähigkeiten, setzte Citrix in ein Aufsatzprodukt für Microsofts neuen Terminalserver um, so entstand MetaFrame. Mit dessen Version 1.8 wurde auch Windows 2000 Server bedient, MetaFrame XP unterstützte dann auch Windows Server 2003.

### Presentation Server

Nach dem Erscheinen der schon gemischt benannten Version MetaFrame Presentation Server 3.0 wurde in der Version 4.0 die Produktreihe neu gestaltet, die zentrale Komponente innerhalb der „Citrix Access Suite“ wurde nun nur noch als Citrix Presentation Server bezeichnet.
Für einzelne Server war mit „Citrix Access Essentials“ erstmals eine um ca. 60 % günstigere Version verfügbar, die vom Funktionsumfang reduziert und auf maximal 75 Anwender beschränkt war.

### XenApp

2008 wurde die Produktreihe mit der Version 5.0 in XenApp umbenannt, die aktuelle Version ist XenApp 7.15. Es existiert daneben auch eine Variante XenApp for UNIX 4.0 (für HP-UX, Solaris und AIX).
XenApp ist in drei Varianten (Editionen) erhältlich:
* Advanced (für kleine und mittlere Umgebungen)
* Enterprise (für größere Umgebungen)
* Platinum (für besonders komplexe oder sehr große Umgebungen)
Mit der Version 7 wurde die bisherige IMA-Architektur (Independent Management Architecture) als technische Basis durch die neue FMA-Architektur (FlexCast Management Architecture) ersetzt.

### Virtual Apps

Seit 2018 heißt das Produkt Virtual Apps und ist in drei Editionen erhältlich:
* Standard
* Advanced
* Premium

## Architektur und Funktionen

Die Citrix-Lösungen sind kein Ersatz, sondern eine Erweiterung der Terminal Services des Windows Servers. Daher müssen beim Einsatz zusätzlich Microsoft Remote Desktop Services-Lizenzen erworben werden. Im Vergleich zu den Terminal Services des Windows Servers bieten die Citrix-Produkte mehr Möglichkeiten zur zentralen Administration und zum Management der Terminal Server (zentrale Verwaltungskonsole), anstelle von RDP kommt das ICA-Protokoll zum Einsatz.
Mit den Published Applications können einem Endbenutzer einzelne Anwendungen zur Verfügung gestellt werden, die sich wie lokal installierte Programme verhalten. In Wirklichkeit wird jedoch nur der Bildschirminhalt des Terminalservers zum Client übertragen, die Anwendung läuft komplett auf dem Server. Bei dem Microsoft Terminal Services gibt es diese Möglichkeit erst seit Einführung von Windows Server 2008.
Mit dem Shadowing („Spiegelung“) steht eine eingebaute Helpdesk-Funktionalität zur Verfügung, die dem Administrator die Möglichkeit gibt, den Bildschirm des Benutzers einzusehen und Hilfestellung zu leisten. Im Fat-Client-Umfeld sind vergleichbare Programme z. B. pcAnywhere oder VNC.
Das Load Balancing ermöglicht, die Benutzersitzungen abhängig von der aktuellen Auslastung der Server (CPU-Last, Netzwerk- oder Plattenzugriffe etc.) auf mehrere Server einer Farm zu verteilen.
Der Resource Manager überwacht eine große Anzahl von Hard- und Software-Parametern der Citrix-Server und kann bei Überschreiten von Schwellwerten verschiedene Arten von Benachrichtigungen absetzen, um Administratoren rechtzeitig auf potentielle Probleme hinzuweisen.
Der Network Manager stellt eine Erweiterung über die SNMP-Schnittstelle dar, um bestehende Monitoring-Lösungen wie HP OpenView oder IBM Tivoli einzubinden.
Der Installation Manager erleichtert die Installation von Anwendungen auf einer großen Anzahl von Servern. Auf einem Referenz-Server wird eine Installation „aufgezeichnet“ und hieraus ein Paket erstellt. Dieses Paket verteilt der Installation Manager dann auf weitere Server der Farm.
In aktuellen Versionen ist der Universal Printer enthalten, dadurch müssen nicht mehr die Druckertreiber aller eventuell zum Einsatz kommenden Drucker auf den Terminalservern installiert werden. Der Universal Printer fängt die EMF-Daten ab, die eine druckende Applikation normalerweise an den Druckertreiber schickt. Diese Daten werden dann komprimiert und über die ICA-Sitzung zum Citrix-Client auf der Arbeitsstation geschickt. Dort leitet der Citrix-Client die Daten an den lokal installierten Druckertreiber weiter. Diese Technik ist derzeit nur für Windows-Arbeitsstationen verfügbar. Auf anderen Plattformen kommt ein Universal Printer zum Einsatz, der deutlich langsamer ist und größere Spool-Dateien erzeugt.
In der Lizenz-Variante „Enterprise“ ist die sogenannte Anwendungsisolierung (Application Isolation Environment bzw. AIE) enthalten. Mittels dieser Technik lassen sich Programme auf Terminalservern betreiben, die aufgrund von Registry-Zugriffen bzw. Zugriffen ins Dateisystem bisher nicht oder nur eingeschränkt auf Terminalservern betrieben werden konnten. Die AIE-Funktion virtualisiert Zugriffe auf die Registrierungsdatenbank, das Dateisystem, Named Pipes etc. und leitet sie so um, dass für jeden Benutzer und jede Applikation eigene Bereiche zur Verfügung stehen. Über diesen Weg lassen sich beispielsweise auch mehrere Versionen von Applikationen wie Microsoft Office auf einem Server veröffentlichen.
Von der Version 4.5 bis zur Version 6.5 ist das Anwendungs-Streaming verfügbar. Diese Technik führt die Anwendungsisolierung konsequent fort und bringt das Verfahren auch auf Arbeitsstationen zum Einsatz. Administratoren können Anwendungen zentral als Pakete zur Verfügung stellen. Wenn eine Arbeitsstation das so veröffentlichte Programm verwenden möchte, wird das Paket automatisch heruntergeladen und das Programm so lokal auf dem jeweiligen PC verwendbar. Mittels dieser Technik können zentral veröffentlichte Anwendungen auch offline benutzt werden. Dies ist eine Alternative zur klassischen Anwendungsverteilung.

## Bedeutung der Zusammenarbeit mit Microsoft

Citrix und Microsoft arbeiten seit 1989 im Bereich der Terminal-Server-Lösungen zusammen und sind wichtige strategische Partner. Dabei erhält Citrix Einblick in den Programmcode von Microsoft Windows Server, Microsoft bekommt im Gegenzug Zugriff auf den XenApp-Programmcode.