Article,

Smart Clients, Teil 5 - Softwareaktualisierung im Smart-Client-Umfeld

.
Java Magazin, (2006)

Abstract

Der Artikel beschreibt sehr gut welche Aspekte bei der Softwareaktualisierung von Smart Clients beachtet werden müssen. Was ist ein Smart Client? Im Prinzip wird eine typische Client Anwendung aus dem Client Server Umfeld beschrieben. Also autarke Arbeitsweise mit regelmäßigem Datenabgleich zum Server. Beispielsweise eine Anwendung auf dem Laptop des Aussendienstmitarbeiters. Was sind die Zielgruppen? Endnutzer und keine Hobbyprogrammierer. Daher ist Komfort zu bieten und alles komplizierte zu vereinfachen um den Nutzer nicht von seiner eigentlichen Tätigkeit abzuhalten. Weshalb Update Mechanismen? Nichts ist so stabil wie der ständige Wandel an Anforderungen und Programmversionen! Was muss ein Update Programm aktualisieren können? Alles - angefangen vom eigentlichen Programm, über einzelne Programmmodule, weiter über Konfigurationsdateien oder lokale Daten (z.B. XML Dokumente, Kataloge) die zentral verwaltet werden bis hin zur kompletten Laufzeitumgebung wie der virtuellen Maschine. Das bedeutet auch, dass das Update Modul mit diversen Datenformaten umgehen können muss (JARs, DLLs, EXEs, Office Dokumente, PDFs und andere Datenformate). Welche Schritte beinhaltet ein Update? Bestimmen des Nutzerprofils (Welche Teile der Applikation werden von diesem Nutzer benutzt?). Bestimmen welche der zur Nutzung vorgesehenen Module veraltet sind. Module aktualisieren in möglichst kürzester Zeit und mit geringsten Resourcen wie z.B. Netzlast. Daher wird ein binäres Delta zwischen den aktuellen Modulen und den neuen Modulen ermittelt und über das Netz vom Server geladen. Auf der Grundlage dieses Deltas muss die Update Software den Client dann binär aktualisieren. Um das Delta zu bestimmen, muss in der Regel eine Dekomprimierung vorgenommen werden (JARs), siehe xdelta Verfahren. Die Aktualisierung der Anwendung erfolgt in der Regel wärend des Splash Screens. Es wird Version nach Version aktualisiert also nicht von 1.1. auf 1.5 sondern von 1.1. auf 1.2. dann gleich noch auf 1.3, 1.4 und zu letzt noch auf 1.5. Das kann für Reihenfolgeabhängigkeiten wichtig sein. Der Smart Client kann in diversen Umgebungen arbeiten auf die das Update gefasst sein muss - Online, Offline, USB Stick, Mehrbenutzer System, Laptop, ... Bei Mehrbenutzersystemen bietet es sich an, die Daten im Client korrekt zwischen Programm und Nutzerbereich zu trennen (z.B. Registry). Damit kann die Aktualisierung durch einen Nutzer eine Entlastung anderer Nutzer bedeutet, da die Software dann bereits aktualisiert ist und nur Nutzerspezifische Daten noch zu aktualisieren sind. Bei Offline Systemen, muss das Update Modul dafür sorgen, dass sowie eine Online Verbindung erstellt wird die Aktualisierung initialisiert wird. Oft sendet der Client nur die Informationen über die aktuelle Installationsversion an den Server. Der Server übernimmt dann die weitere Steuerung des Updates und der Deltaberechnung. Es gibt verschiedene Software zur Aktualisierung: Java Web Start - schlechtes Delta Verfahren Deploy Director, FLEXNET-Publisher, smartup - alle 3 sehr viele zusätzliche Features smartup unterstützt auch Profile.

Tags

Users

  • @funthomas424242

Comments and Reviews