Zum Inhalt springen
Serie: Application Delivery, Teil 3

Streamen von Anwendungen

Zur Verwaltung und Verteilung von Desktop-Systemen und Applikationen stehen heute unterschiedliche Ansätze und Lösungen zur Verfügung. Statt der klassischen Installation können Benutzer Anwendungen auch mittels Streaming über das Netzwerk beziehen. Die so bereitgestellten Applikationen sind sowohl online als auch offline nutzbar.

Autor:André Dannbacher/wg • 28.5.2008 • ca. 5:50 Min

Bei der klassischen Softwareverteilung werden benutzerspezifische Anwendungen vollautomatisch
installiert, angepasst und gewartet. Der Aufwand lässt sich so zwar bei einer großen Anzahl von
Desktop-Systemen erheblich minimieren, allerdings führen Abhängigkeiten vom Betriebssystem und
anderen Anwendungen häufig zu Problemen. Meist sind aufwändige Regressions- und Änderungstests
notwendig.

Ein noch relativ neuer Ansatz ist das Streaming von Anwendungen. Streaming ersetzt die lokale
Installation der Applikationen auf dem Desktop durch deren zentrale Bereitstellung via Netzwerk.
Auf dem Endgerät ist nur das Betriebssystem und ein Streaming-Client vorinstalliert. Je nach Bedarf
wählt der Benutzer die benötigte Anwendung aus einer Liste aus. Erst danach wird das Programm von
dem zentralen Server als spezielles, fertig konfiguriertes Image auf den lokalen Rechner
übermittelt (gestreamt) und in einer eigenen isolierten Umgebung ausgeführt. So bieten Microsoft
(über die Akquisition von Softgrid) mit Application Virtualization, Vmware mit Thinstall und Citrix
mit Application Streaming (über Xenapp – vormals Presentation Server – Enterprise und Platinum
Edition) ausgereifte Lösungen auf Basis dieser Technik (siehe Tabelle 1).

Anwendungspakete

Bei Citrix werden so genannte Anwendungsprofile in einer isolierten Anwendungsumgebung
ausgeführt. Über den Program Neighborhood Agent (PNA) wählt der Benutzer die Anwendungen aus, die
der Citrix Streaming Client ausführen soll. Bevor die IT-Abteilung jedoch eine gestreamte Anwendung
mit Citrix Xenapp bereitstellen kann, muss der Administrator mit dem Streaming Profiler auf einem
Referenzsystem ein Profil erstellen. Das Referenzsystem sollte dabei möglichst den Gegebenheiten
des Zielsystems (ohne installierte Programme) entsprechen.

In einem solchen Profil lassen sich Windows-Anwendungen, Webanwendungen, Browser-Plug-ins,
Dateien, Ordner und Registry-Einstellungen zusammenfassen. Es kann entweder eine einzige Anwendung
oder ein Anwendungsset enthalten. So kann der Administrator beispielsweise ein Profil nur für
Microsoft Word erstellen oder aber die gesamte Microsoft-Office-Suite in einem einzigen Profil
zusammenführen. Abhängig von der Umgebung der Clients kann er zusätzlich erforderliche Komponenten
wie ein Java Runtime Environment oder Start- und Stoppskripte hinzufügen. Für mehr Sicherheit
lassen sich die Profile zudem signieren. Dazu müssen Zertifikate zur Codesignierung installiert und
konfiguriert sein. Die Informationen über das Anwendungsprofil werden in eine Manifestdatei
(XML-Datei) eingetragen und mit einer CAB-Datei, die alle anwendungsspezifischen Dateien und die
Konfigurationen enthält, in einer Windows-Dateifreigabe gespeichert. Somit sind die
Anwendungspakete über einen UNC-Pfad für das Client-System im Netzwerk über SMB auf SAN oder NAS
verfügbar.

Die isolierte Umgebung

Selbst ein kleiner Programm-Patch kann unerwartete Auswirkungen auf das Verhalten von bisher
unproblematischen Applikationen nach sich ziehen, wenn beispielsweise zwei Anwendungen auf eine
gemeinsame DLL zugreifen. Daher laufen gestreamte Anwendungen auf dem lokalen Desktop-System in
einer eigenen isolierten Umgebung. In dieser "Sandbox" sind die Registrierung, Dateien, Schriften
und Umgebungsvariablen enthalten, die für eine ordnungsgemäße Ausführung erforderlich sind. Eine
Client-Software erstellt für jede ausgeführte Anwendung entsprechende Registrierungsschlüssel und
Dateistrukturen. Diese sind für andere Anwendungen, die auf den lokalen Systemen ausgeführt werden,
nicht direkt zugänglich. Lese- und Schreibvorgänge isolierter Anwendungen für Registry oder
Filesystem werden aber bei Bedarf weitergeleitet. Ein Zugriff auf alle lokale Dienste, zum Beispiel
Drucken, Copy and Paste sowie Netzwerklaufwerke sind somit weiterhin uneingeschränkt möglich,
obgleich die Anwendungen eigentlich vom lokalen Betriebssystem isoliert sind.

Zur Schaffung einer solchen abgeschotteten Umgebung verwenden die Hersteller unterschiedliche
Softwarearchitekturen: Application Virtualization von Microsoft basiert auf dem Dynamic Suiting.
Bei Vmware bildet das Thinstall Virtual Operating System (VOS) das virtuelle Betriebssystem,
bestehend aus virtuellem Dateisystem (Virtual File System) und virtueller Registrierung (Virtual
Registry). Dabei bieten drei Isolationsmodi ein universelles "Lock-Down System Model? für das
Ausführen von Anwendungen in unterschiedlichen Umgebungen. Denn einige Anforderungen bedingen
spezielle isolierte Komponenten (Full Isolation Mode), andere eine Interaktion mit lokalen
Systembereichen wie Desktop, "Eigene Dokumente" und Netzwerkfreigaben (Write Copy Isolation Mode).
Mit dem Merged Isolation Mode haben die Benutzer vollen Zugriff auf das Host-Dateisystem. Das
Anwendungspaket läuft jeweils als eigenständige EXE-Datei ohne Administratorrechte im VOS und
erfordert keinerlei Gerätetreiber oder vorinstallierte Clients. Bei Citrix nutzt der Streaming
Client das Application Isolation Environment (2.0). Diese Technik steht schon seit der Version
4.0/4.5 des Presentation Servers zur Verfügung und schützt das System bei der Ausführung der
Anwendungspakete vor Veränderungen.

Anwendungsmanagement

Da beim Anwendungs-Streaming keinerlei Installation auf dem Client stattfindet, verbessert sich
die Stabilität des Client-Betriebssystems generell. Eine einfache Mig-ration oder das Aktualisieren
des Betriebssystems ist somit ohne Auswirkung problemlos zu realisieren, da auf keine besonderen
Abhängigkeiten zu achten ist. Auch das parallele Ausführen mehrerer Versionen der gleichen
Anwendung ist ohne Konflikte auf einem einzigen Computer möglich. Anwendungen stehen zudem nur
definierten Benutzern zur Verfügung, was einen nicht autorisierten Zugriff verhindert. Dies ist ein
wichtiger Aspekt bei der Nutzung von Anwendungen in unterschiedlichen Bereitstellungsszenarien und
dient als Basis für ein flexibles Lizenzmanagement. Bei gestreamten Anwendungen kann der
Administrator im Vorfeld festlegen, für wie lange eine Anwendung auf dem Endgerät genutzt werden
darf.

Neben der lokalen Nutzung (on- oder offline) ist es auch sinnvoll, die zentrale Verfügbarkeit
über Terminalservices oder Citrix Xenapp/Presentation Server zu gewährleisten. So bietet Microsoft
mit "Softgrid for Terminal Services" eine zusätzliche Komponente für
Windows-Terminalserverumgebungen an. Der "Softgrid Connector for Microsoft System Management Server
(SMS)" ermöglicht eine Anwendungsvirtualisierung und dynamisches Streaming aus der
SMS-Infrastruktur heraus. Vmware Thinstall bietet hingegen nur die einfache Möglichkeit der
Active-Directory-Integration. Bei Citrix stellt Xenapp unterschiedliche Anwendungstypen zentral
bereit. Der Administrator kann somit Anwendungsprofile für Benutzer auf verschiedene Weise
verfügbar machen. Die Art der Übertragung zu den Clients legt er bei der Veröffentlichung von
Anwendungen über die Citrix Management Console fest.

On- oder offline

Das Ausführen von Anwendungsprofilen erfordert bei Citrix den Streaming-Client und den Pnagent
(Program Neighborhood Agent, PNA) Win32-ICA-Client auf der Arbeitsstation des Benutzers. Mit dem
PNA in Verbindung mit dem Webinterface werden veröffentlichte Ressourcen in Benutzer-Desktops
integriert. Der Streaming-Client läuft als Dienst (raderun.exe) auf dem Endgerät und dient dem
Ausführen von Anwendungen, die der Benutzer auswählt und der Program Neighborhood Agent oder die
Webinterface-Site auflisten (siehe Tabelle 2). Er sucht das passende Profilziel für das Endgerät,
erstellt auf dem Endgerät eine isolierte Umgebung und kopiert die Dateien. Ist die Anwendung einmal
auf das Endgerät gestreamt, lässt sie sich auch im Offline-Modus verwenden. Sobald wieder eine
Verbindung zum Server hergestellt ist, wird die Anwendung automatisch mit dem zuvor gespeicherten
Anwendungsprofil auf dem Server verglichen und gegebenenfalls automatisch mit bereitgestellten
Updates aktualisiert.

Bei Softgrid erfolgt die Übertragung der Anwendungspakete zum Client durch ein "dynamisches
Streaming". Dabei werden die einzelnen Programmkomponenten jeweils nach Bedarf heruntergeladen und
lokal ausgeführt. Die Lösung kopiert netzwerkbasiert zuerst die notwendigsten Dateien und DLLs.
Sind weitere Funktionen einer Anwendung erforderlich, lädt die Software die entsprechenden
Bibliotheken nach. Daher ist es nicht notwendig, ein komplettes Paket für die Onlinenutzung zu
übertragen. Wird eine Offline-Anwendung in der Softgrid-Umgebung gewünscht, ist ein
Windows-Installer-Paket (MSI-Dateien) zu erzeugen und über den Softgrid Virtual Application Server
zu verteilen.

Fazit

Application Streaming vereinfacht die Bereitstellung von Anwendungen für Endbenutzer enorm. Die
paketierten oder sequenzierten Anwendungen laufen auf Windows-basierten lokalen oder
virtualisierten Desktop- sowie auf Server-based-Systemen. Citrix, Microsoft und Vmware bieten dazu
heute robuste und durchdachte Lösungen an. Sie ermöglichen es, Anwendungen mit unterschiedlichen
Versionen von Dotnet oder Java auf einem System auszuführen. Ein weiteres Einsatzszenario besteht
darin, 32-Bit-Anwendungen auf 64-Bit-Betriebssystemen zu betreiben.

Der Vorteil einer Anwendung in einer isolieren Umgebung wird allerdings in solchen Fällen zum
Problem, wenn eine Interkommunikation zum Beispiel über Dotnet, Java, Active X, COM, MDAC oder ODBC
notwendig ist. Erfordert beispielsweise ein Microsoft Office Plug-in oder eine Middleware-Anwendung
über OLE (Object Linking and Embedding), DCE (Distributed Computing Environment) oder über Remote
Procedure Call (RPC) einen Datenaustausch mit einer Anwendung in einer anderen "Sandbox", dann
müssen die Laufzeitumgebungen dies unterstützen. Dies betrifft auch einen gleichzeitigen Einsatz
unterschiedlicher DLL-Versionen und die Nutzung von Gerätetreibern und Windows-Diensten.

Diese Bedingungen sind in einer Evaluierung in jedem Fall zu prüfen. Ein weiterer wichtiger
Aspekt ist das Streaming-Protokoll. Zukünftig kommen bei Citrix zusätzlich HTTP und HTTPS zum
Einsatz, um eine flexible Übertragung auch außerhalb des Intra- oder Extranets zu ermöglichen.