Windows-Softwareverteilung

Viele Wege führen zum RAM

14. März 2007, 0:10 Uhr | Johann Baumeister/wg

Um Windows-Rechner mit Anwendungen zu versorgen, stehen unterschiedliche Methoden zur Auswahl. Der traditionelle Weg der lokalen Ins-tallation wird längst von einer Vielzahl von Varianten für die zentrale Softwareverteilung (Deployment) flankiert. Zu Clickonce und ASP Dotnet Ajax gesellen sich heute Methoden wie das Application Streaming und U3-Umgebungen.

Die zentrale Softwareverteilung ist eine der Kernfunkti-onen der Client-Managementlösungen, wie
sie zum Beispiel Altiris, Enteo, Landesk, Matrix42, Microsoft oder Novell anbieten. Auch die großen
Systemmanagementsuiten von BMC, CA, HP und IBM umfassen diese Funktionalität. Die verwendeten
Verfahren sind unterschiedlich: Die einfachste – aber kaum mehr bedeutsame – Variante ist es, die
Applikation durch eine einfache Kopieraktion auf das Zielsystem zu bringen. Alle Module der
Applikation liegen hierbei in einem Verzeichnis und werden direkt von dort gestartet. Sind
komplexere Aktionen notwendig, so erfolgen diese durch Installationsskripte, die mehrere Schritte
nacheinander ausführen.

Windows Installer

Seit Windows 2000 liefert Microsoft zusammen mit dem Betriebssystem ein Deployment-Hilfsmittel:
den Windows Installer. Dieser Dienst des Betriebssystems ist in der Lage, Softwareinstallation
eigenständig durchzuführen. Die Programme müssen dazu im MSI-Format (Microsoft Installer)
vorliegen. Durch die zugehörige MST-Datei (Microsoft Transform) lässt sich die Installation
konfigurieren. Mittels MST kann der Administrator aus einem Superset wie zum Beispiel der
Office-Suite wählen, welche Module zu installieren sind. Meist schnürt er dabei Pakete, die die
Verteilungssoftware dann auf die Zielgeräte bringt. Dort angekommen übernehmen lokale Agenten der
Distributionswerkzeuge die Kontrolle und installieren die Software auf dem Zielsystem. Die
Systemmanagementsuiten übernehmen also nur noch die Rolle des MSI-Lieferanten und rufen den
Installer auf.

Die Installation selbst kann durch den Benutzer begleitet (attended) oder unsichtbar im
Hintergrund (unattended) ablaufen. Der Begriff "Silent Ins-tallation" entspricht hier weitgehend
dem Unattended Setup, also ohne Administrationseingriffe. Noch einfacher ist die Installation von
MSI-Programmen mithilfe der Windows-Gruppenrichtlinienobjekte (Group Policy Objects, GPOs). Hier
erzeugt der Administrator ein Group Policy Object und bindet es an das MSI-Paket. Den Transport zum
Client steuert er dann über das Active Directory (AD).

Webapplikationen und SBC

Mit der Hinwendung zu Server-based Computing (SBC) samt Thin-Client-Systemen und zu
HTML-basierten Anwendungen schienen alternative Ansätze die feste Installation von Applikationen
auf Fat Clients abzulösen. Denn SBC reduziert den Client-Desktop auf die reine Präsentation der
Daten. Damit entfällt im Idealfall die Notwendigkeit einer Softwareverteilung, da Anwendungen
ausschließlich auf dem Terminalserver (TS) laufen. Der Charme dieser Technik liegt darin, dass sie
es erlaubt, bestehende Windows-Applikationen direkt weiterzuverwenden – sofern diese TS-tauglich
sind. Die Anwendungen sind dann lediglich zentral auf dem Terminalserver den Benutzern zuzuweisen.
Die flächendeckende Verbreitung von SBC unterminierten jedoch Faktoren wie nicht-SBC-fähige
Anwendungen, das Festhalten der Benutzerschaft an "ihren" Fat Clients und eine zunehmende
Verbreitung mobiler Geräte, vor allem Notebooks, die auch ohne Anbindung an einen Terminalserver
funktionieren müssen. Somit wird die feste Installation von Applikationen wohl in Zukunft eher zu-
als abnehmen, auch wenn heute niemand mehr vom Client-/Server-Verarbeitungsmodell spricht. Dem
Administrator bleibt damit die Notwendigkeit der Softwareverteilung erhalten.

Mit der Verbreitung des Internets dienten Webserver zunehmend als Träger von Applikationen. Die
ursprüngliche Rolle der Webserver, die reine Verteilung statischer HTML-Seiten, hat man schnell
zugunsten von mehr Dynamik abgelöst. So bestehen Webseiten heute aus einer Mischung aus statischen
Inhalten und eingebetteten Codebausteinen – doch um welchen Preis? Frühe Webapplikationen müssen
allesamt neu entwickelt werden. Denn wird eine umfangreiche Interaktion zwischen Benutzer und
Anwendung notwendig, versagt das Modell aufgrund der Beschränkungen von HTML.

HTML ist in seinen Funktionen stark eingeschränkt und erlaubt nur eine einfache Benutzerführung.
Ferner erfordert die Maskenorientierung zahlreiche Roundtrips, bei denen jegliche Änderung des
Benutzers zum Server gesandt und dort als neue Maske quittiert wird. Daher begann bald die Suche
nach Verbesserungsmöglichkeiten. Die Ergebnisse sind zum Beispiel an DHTML, integrierten
Skriptsprachen und insbesondere in der Java-Umgebung einer Unmenge von Frameworks und
Klassenbibliotheken abzulesen.

Microsoft stellte zur einfacheren Programmierung seine Windows Forms vor. Windows Forms ist ein
Satz von Klassen innerhalb des Dotnet Frameworks, der die Entwicklung von funktionsreichen
Client-Applikationen und die Nutzung von XML-Webservices erleichtern soll. Die Verteilung dieser
Forms erfolgte ursprünglich via Webserver.

Windows Forms und Clickonce

Das Verfahren Clickonce dient dazu, die Bereitstellung von Windows-Forms-Anwendungen zu
vereinfachen. Clickonce ging aus dem No-Touch Deployment hervor, Microsofts erstem Anlauf, um
Windows Forms möglichst einfach zum Client zu bringen. Es erlaubte bereits den Start von
Dotnet-Anwendungen durch den Klick auf eine URL oder einen Link im Internet Explorer. Das No-Touch
Deployment benötigte das Dotnet Framework, Clickonce wiederum setzt auf dem Dotnet Framework 2.0
auf. Darin sind die Routinen zur Verteilung und Installation der Forms eingebettet.

Der Erstellung der Applikati-onen dient Microsofts Entwicklungswerkzeug Visual Studio. Der
Entwickler legt die Anwendung auf einem Netzwerklaufwerk, einem File- oder Webserver oder einer CD
ab. Dem Anwender wird eine Webseite mit den Applikationen präsentiert. Beim Klick auf den Link
erfolgt die Installation der Forms-Anwendung automatisch im Hintergrund. Die Applikationen laufen
dann in einer Sandbox. Zudem beinhaltet das Verfahren aber auch eine Versionskontrolle mit
automatischem Update. Das Abprüfen der Existenz neuerer Versionen lässt sich nach unterschiedlichen
Kriterien einstellen, zum Beispiel zum Applikationsstart oder beim Beenden. Mit Clickonce rückt die
Rolle der Softwareverteilung vom Administrator näher an den Entwickler, denn die Bereitstellung
einer Anwendung erfolgt einfach durch das Kopieren der Programmdateien in das zugeordnete
Verzeichnis. Aber nicht nur die Ins-tallation von Programmen wird unterstützt, sondern auch der
umgekehrte Weg, die Deinstallation.

ASP Dotnet Ajax

Um die erwähnte Problematik der Server-Roundtrips bei HTML-Anwendungen zu vermeiden und
gleichzeitig die Nachteile von HTML-Seiten in Bezug auf das GUI zu verbessern, setzten Entwickler
zuerst vor allem in der Java-Welt für die optimierte Erstellung interaktiver Webapplikationen auf
ein neues Framework namens Ajax (Asynchronous Javascript and XML). Microsoft hat diesen Ansatz nun
in ASP Dotnet Ajax übernommen.

Dieses Framework erlaubt das dynamische Nachladen von Teilen einer HTML-Seite im Hintergrund und
ohne Benutzeraktion. Eine mit ASP Dotnet Ajax entwickelte Anwendung muss nun nicht bei jeder
Benutzeraktion die vollständige HTML-Seite vom Webserer neu aufbauen, sondern kann kleine
Ausschnitte daraus anfordern. Zusammen mit Fea- tures, die ein funktionsreicheres GUI ermöglichen,
ist davon auszugehen, dass Entwickler in Zukunft selbst typische Win-dows-Anwendungen, die bis dato
einen Fat-Client erfordern, als Webanwendungen erstellen werden.

Windows Vista

Windows Vista beruht auf dem Dotnet Framework 3.0. Damit bringt Microsofts aktuelles
Client-Betriebssystem auch dessen Verfahren zur Applikationsverteilung mit. Dazu zählen neben den
altbekannten Methoden auch MSI mit dem Installer, die Windows Forms mit Clickonce sowie ASP Dotnet
Ajax. Für die Rechnerinstallation verwendet Microsoft ein dateibasiertes Imaging-Verfahren. Diese
Images können neben dem Betriebssystem und weiteren Basismodulen natürlich auch die Applikation
enthalten. (Für Details siehe den Beitrag "Neuer Ansatz für die Verteilung" auf Seite 48.)

Application Streaming

Streaming – die Übermittlung von Anwendungscode in Echtzeit – ermöglicht eine Bereitstellung von
Applikationen ohne vorherige Installation (siehe dazu den Beitrag "Software läuft ohne Installation"
auf Seite 52). Für diese Bereitstellungsmethode, die zum Beispiel Citrix im Projekt Tarpon
verfolgt, wird die Applikation zunächst nur einmal auf einem Rechner installiert. Die
Streaming-Lösung überwacht diesen Prozess. Dabei werden alle Schritte protokolliert und zu einem
Paket geschnürt. Dieses lässt sich dann den Zielrechnern zur Verfügung stellen.

Einen ähnlichen Weg verfolgen Microsoft mit Softgrid – erworben mit dem Zukauf des
Streaming-Spezialisten Softricity – oder auch Altiris mit der Software Virtualization Solution.
Auch hier bringt ein zentraler Server die Applikationen zur Laufzeit auf das Zielsystem. Dort
angekommen laufen sie jeweils in eigenen virtuellen Runtime-Umgebungen. Überwacht vom Sequencer
erfolgt beispielsweise bei Softgrid eine einmalige Ausführung der Anwendung. Diese wird dann
zusammen mit allen Konfigurationsdaten in eine SFT-Datei gepackt und anschließend auf dem Softgrid
Server hinterlegt. Die Zuweisung der Applikati-onen an die Clients erfolgt entweder über
AD-Policies oder den SMS (Systems Management Server).

Durch die Zuweisung erhält der Benutzer auf dem Desktop Shortcuts. Klick er darauf, so lädt dies
die Applikation vom Softgrid-Server auf den Softgrid-Client. Dabei streamt der Server jedoch nicht
die gesamte Anwendung, sondern nur die am häufigsten benötigten Codeteile – laut Microsoft meist
nur 10 bis 30 Prozent des gesamten Codes. Den Rest lädt die Lösung bei Bedarf nach. Die Verteilung
kann aber auch per Zusammenarbeit mit SMS erfolgen. Durch Cachen der Codemodule auf den Clients
lassen sich nachfolgende Ladevorgänge weiter reduzieren.

U3-USB-Sticks

Ein weiterer Weg der Applikationsbereitstellung öffnet sich derzeit, wenngleich mit
Sicherheitshürden behaftet, durch die U3-USB-Sticks und Lösungen wie Ceedo Personal. Die
U3-Definition macht Speicher-Sticks zu Ausführungsumgebungen für mobile Applikationen. Die
Kapazität der mobilen Speichergerätchen erreicht bereits 8 GByte – und damit genug, um vollständige
Applikationen samt Daten unterzubringen. Zwar konnten Anwender bereits früher Applikationen auf
externen und mobilen Speichersystemen ablegen, ihre Ausführung ohne Installation scheiterte aber
meist an der benötigten Integration der notwenigen DLLs in das Gastbetriebssystem und dessen
Registry.

Launchpad als Ausgangspunkt

Bei U3-Sticks übernimmt das Launchpad eine ähnliche Rolle wie das Startmenü unter Win-dows: Der
Anwender ruft daraus seine gewünschte Applikation auf, ohne dass diese auf dem Zielsystem
installiert sein muss. Auch finden sich nach der Ausführung keine Spuren im Gastsystem. Das Konzept
steht und fällt mit dem Angebot an Anwendungen. Derzeit sind meist nur kleinere Anwendung als
U3-Programm zu erhalten. Doch ihr Einsatz kann sich mit der steigenden Kapazität der Sticks
schleichend vollziehen. Aus der Sicht der IT-Administration wird die Softwareverteilung hier mehr
zu einem Verwaltungsakt der U3-Speichergeräte.

Allerdings können diese ein Sicherheitsrisiko darstellen: Durch den aktiven Charakter der Sticks
mit dem Launchpad lässt sich auch Angriffscode einschleusen.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+