SOFTWAREVERTEILUNG
Software intelligent installieren und aktualisieren
Softwareverteilungssysteme sind Client/Server-Anwendungen.
Für eine Softwareverteilung wird auf allen PC [1], sowohl
Client als auch Server, eines Netzes ein Agent [2] installiert, der
vom zugehörigen Depotserver Aufträge zur
Softwareinstallation, für eine Neu-Installation oder ein
Update, entgegennimmt und an diesen Reportinformation über
Erfolg bzw. Mißerfolg dieser Aufträge übergibt. In
dezentralen Infrastrukturen werden die Installationsaufträge
zweckmäßig von einem zentralen Depotserver [5] aus an
Subdepots [4] übermittelt. Letztere können dann in
jeder Lokation ein Paket mehrfach zustellen. Durch diese
Kaskadierung der Verteilwege werden die Ressourcen der
WAN-Verbindungen [6] geschont. Für die Zustellung von
Installationspaketen an Subdepots kann wahlweise auch der Weg
über Datenträger [3] gewählt werden.
Paketerstellung
Die den Clienten zugestellten Aufträge enthalten die zu
installierende Software als sogenanntes Paket. Dabei wird
üblicherweise nicht die Original Installationssoftware der zu
installierenden Software verteilt. Vielmehr sind die Pakete
speziell aufbereitet und auf die Installation durch den Agenten
optimiert. Bei der Paketerstellung [7] müssen minimal folgende
Funktionen unterstützt werden:
- SnapShot-Funktion zur Erstellung eines Paketes aus der Differenz vor und nach der Installation an einem Referenzsystem. Das erstellte Paket muß lesbar (als Dokumentation der Veränderungen) und nachbearbeitbar sein.
- Manuelle Paketerstellung, bei Software deren Installationsumfang bekannt ist.
- Definition von Konfigurationsvoraussetzungen (Hardwarevoraussetzungen, benötigte Software, Patches, usw.)
- Definition und Hinterlegung der Maßnahmen für Rollback und Fallback
- Unterstützung aller Funktionen über die der Agent verfügt
- Definition von Minor- und Major-Versionen sowie Patches
Manager
Der Managerservice des Depotservers muß die folgenden
Funktionalitäten aufweisen:
- Verwaltung der Softwareverteilungsaufträge
- Einteilung der Softwareverteilungs-Clients in Gruppen. Clients müssen in mehreren Gruppen enthalten sein können
- Multi-User-Fähigkeit des Managers
- Sicherheitsmechanismen (Rechte, Rollen und Benutzergruppen) insbesondere um Anwendungsentwicklung und Administration zu trennen, d.h. der Anwendungsentwicklung darf es zum Beispiel nicht möglich sein, Software auf Produktivsystemen zu installieren
- Dokumentation aller Aktivitäten (Historie)
- Reports / Listengenerierung / Datenexport usw.
- Weitergabe von Informationen (z.B. über Alerts) über den Erfolg,
Zeitpunkt und Dauer von Installationen
Agent
Der Agent auf den Zielsystemen muß folgende funktionale
Anforderungen erfüllen:
- Hinzufügen, Kopieren, Verschieben, Löschen von Dateien und Verzeichnissen
- Modifikation von INI-Dateien, Textdateien und Binär-Dateien
- Löschen, Hinzufügen und Ändern von Symbolen und
Gruppen im Programm-Manager oder Start-Menü
- Anpassung der PATH- und anderer Umgebungsvariablen
- Installation von Schriftarten
- Verändern der Konfigurationsdatenbanken (INI-Datei, Windows NT Registry)
- Starten und Stoppen von Services und Programmen
- Windows-Neustart und System-Reset
- Treiber und Systemsoftware Installation (Druckertreiber, Service Packs,
usw.)
- Schnittstelle zu einer Script-Sprache (z.B. REXX, Perl), ggf.
über Kommandoschnittstelle
- Prüfung der grundsätzlichen Voraussetzungen für die Installation
(Versionen der vorhandenen Software, Hardware, usw.)
- Erkennung von nicht durch die Softwareverteilung installierter Software
- zeitversetzte Installation
- Versionsverwaltung von Dateien (insbesondere DLLs) und Feststellen
der Applikationen die diese nutzen (im Paket definiert)
- Lokale Konfiguration, Berücksichtigung spezifischer Systembedingungen
(z. B. abweichende Grafikauflösung usw.)
- Berücksichtigung benutzerspezifischer Parametern (roaming
user)
Verfahren
Softwareverteilung kann grundsätzlich auf zwei
unterschiedliche Arten erfolgen. Entweder stellt der Depotserver
einem aktiven Clienten die Software zu, sogenanntes 'Push', oder
der Agent prüft, ob Installationsaufträge vorliegen,
vorzugsweise beim Anmeldevorgang oder Computerstart. Liegt ein
Installationsauftrag vor, so holt sich der Agent die benötigte
Information vom Depotserver, sogenanntes 'Pull'-Verfahren.
Kombinationen aus beiden Verfahren sind u. U. dann erforderlich,
wenn ein Teil der Geräte nicht ständig erreichbar ist
oder Benutzer wechselnde Stationen oder gar Standorte
nutzen.
Hinweise zur Produktauswahl
Es sind eine Reihe marktgängiger Systeme verfügbar. Bei
der Auswahl der für Sie geeigneten Lösung können wir
auf entsprechende Erfahrungen in hochkomplexen Umgebungen
zurückgreifen. Das geeignete Produkt wird u. a. bestimmt
durch:
- Verfahren und Aufwand zur Erstinstallation
- Unterstützte Netzwerkprotokolle und Erreichbarkeit der Stationen
- Anzahl der Systemderivate (HW/SW) im Unternehmen
- Roaming User
- Lizenzverwaltung
- Zusammenwirken von Softwareverteilung, Inventarverwaltung und
Konfigurationsmanagement, u. U. Helpdesk (z. B. bei
Patches)
- Integrationsanforderungen mit Management-Frameworks
- Organisatorische Verfahren des Unternehmens, von der
Paketdefinition bis hin zu Rechtekonzepten und deren
Auswirkungen
- Soll/Ist-Abgleich
- Alerting und Logging
- Fehlerbehandlung und -eskalation