WebStart

Ähnlich wie bei Applets bietet auch Java WebStart ein webzentriertes Anwendungsmodell, das ohne Softwareverteilung auskommt und bei dem Updates transparent und inkrementell zur Verfügung stehen. Zusätzlich steht Nutzern der WebStart Technologie jedoch eine sinnvolle Standard-API zur Verfügung, die weit über die Möglichkeiten von Applets hinausgeht. Insgesamt bietet WebStart somit das Beste aus beiden Varianten – ein leichtgewichtiger Ausbringungsprozess, der trotzdem die Einschränkungen der Anwendung gering hält.

Obwohl WebStart-Applikationen im Regelfall über den Browser gestartet werden sind sie doch weit weniger stark mit diesem verwoben als Applets es sind. Dies reduziert Komplexität und Risiko, da eine (zumeist unberechenbare) Komponente wegfällt. Die API bietet darüber hinaus Möglichkeiten wie den SingleInstanceService, der es erlaubt, Dateien in eine laufende Instanz zu laden – auch aus dem Browser.

Bereitstellung von WebStart-Anwendungen

Die Bereitstellung einer WebStart-Anwendung erfolgt mittels einer sogenannten JNLP-Datei. Es handelt sich dabei um ein XML-Format, das durch den Java Network Launching Protocol (JNLP) Standard spezifiziert wird. Die Datei kann von einem WebServer ausgeliefert und aus einer HTML-Seite verlinkt werden. Desweiteren besteht die Möglichkeit, die Datei lokal auf der Maschine des Nutzers abzulegen und die Applikation darüber zu starten. Über den IntegrationService der WebStart API kann dem Nutzer zusätzlich die Möglichkeit gegeben werden, die Anwendung in sein Betriebssystem – zum Beispiel durch einen Desktop-Shortcut – zu integrieren.

Die JNLP-Datei bietet umfangreiche Einstellungsmöglichkeiten für die zu startende Anwendung. Im Gegensatz zu Applets können VM-Parameter pro WebStart-Anwendung spezifiziert werden. Die Parameter werden somit über die JNLP-File jedes Mal vom Server geladen.

Mittels JNLP können sowohl gewöhnliche Java Applikationen als auch Applets gestartet werden. Die Bereitstellung der Klassen erfolgt im Regelfall als jar-Files. Um weniger Daten zu übertragen besteht zusätzlich die Möglichkeit, jar-diff Dateien anzubieten – diese können von solchen Clients verwendet werden, die bereits eine vorherige Version als jar in ihrem Cache besitzen. Aufgrund des automatischen Zwischenspeicherns sind WebStart-Applikationen falls gewünscht für den Offline-Einsatz geeignet.

Sicherheit

Das Sicherheitskonzept von Java WebStart ist dem der Applets zunächst sehr ähnlich: Die Anwendung läuft in einer eigenen Sandbox und kann sicherheitsrelevante Funktionen nur eingeschränkt oder überhaupt nicht nutzen. Über die WebStart API werden jedoch zusätzlich verschiedene Services angeboten, die erweiterte Möglichkeiten bieten. So können beispielsweise über den FileOpenService Dateien, die vom Nutzer ausgewählt werden, in einer (unsignierten) WebStart-Anwendung gelesen werden. Es besteht dabei nur der Zugriff auf diese explizit zur Verfügung gestellten Dateien, nicht aber auf das gesamte Dateisystem – ein hoher Grad an Sicherheit bleibt somit gewährleistet.

Wie es für Applets der Fall ist, besteht auch für WebStart-Anwendungen die Möglichkeit, diese digital zu signieren. Liegt das entsprechende Zertifikat im Trust Store der ausführenden VM vor, so werden der Anwendung volle Rechte eingeräumt. Alternativ kann, wie auch bei Applets, die Default-Einstellung für Rechte unsignierter Anwendungen verändert werden.

[jadice document platform Version 5.5.12.1: Dokumentation für Entwickler. Veröffentlicht: 2021-08-17]