Ä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.
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.
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.