Mit JNLP verteilte Anwendungen automatisch aktualisieren

Entfernte Clients können unter Verwendung des Java Network Launching Protocol (JNLP) von ihren lokalen Rechnern aus auf Anwendungen zugreifen und sie ausführen. Wie bei Standard-Java-Applets beginnt auch bei den JNLP-Anwendungen der Zugriff auf die Anwendung in einem Webbrowser. Das JNLP lässt sich dabei auf einer sicheren „Sandbox“ auf dem Client-PC beschränken. Allerdings laufen JNLP-Anwendungen anders als Applets nicht innerhalb des Webbrowsers des Clients ab. Dieser dient lediglich als Sprungbrett oder Installationsvehikel für die Anwendung.

JNLP wird als Anwendung namens Web Start implementiert. Damit die Clients auf die JNLP-Anwendungen zugreifen können, muss zuerst Java Web Start installiert werden.

Einer der größten Vorteile, den JNLP-Anwendungen gegenüber gewöhnlichen Client-Anwendungen haben, ist ihre automatische Installation und Aktualisierung. Ist die Anwendung über den Webbrowser auf dem Client installiert, aktualisiert sie sich von selbst, solange der Zugriff auf das Netzwerk besteht. Alle Ressourcen für JNLP-Anwendungen werden über das Netzwerk zur Verfügung gestellt. Es ist also nicht nötig, dass ein Administrator die Anwendungen auf jedem PC installiert und aktualisiert.

Web-Start-Anwendungen sind reguläre Java-Anwendungen, die entsprechend der JNLP-Spezifikationen geschrieben werden. Allerdings gibt es einige Unterschiede, mit denen der Entwickler vor dem Betreten des JNLP-Pfads vertraut sein sollte. Es folgen die wichtigsten Punkte, die bei der Entwicklung von Web-Start-Anwendungen zu berücksichtigen sind:

  • Die Ressourcen einer Web-Start-Anwendung müssen in JAR-Dateien auf dem Server gespeichert werden. Die Anwendung überträgt diese JAR-Dateien an den Client, damit dieser Zugriff hat. Da alle Ressourcen in JAR-Dateien gespeichert sind, muss die Anwendung die getResource()-Methode des Klassenladers verwenden, um auf sämtliche benötigten Dateien zugreifen zu können.
  • Eine Web-Start-Anwendung beginnt wie die meisten anderen Java-Anwendungen mit dem Aufruf der main-Methode. Die Klasse main wird in einer JNLP-Datei definiert. Dabei handelt es sich um eine Datei im XML-Format. Sie enthält andere Konfigurationsinformationen der Anwendung, etwa Beschreibung, Anwendungsicon, Codebasis, Berechtigungen und so weiter.
  • Der Webserver muss so konfiguriert werden, dass er einen speziellen MIME-Typ (application/x-java-jnlp-file) für JNLP-Dokumente bereitstellt. Diese Konfiguration ist in der Regel sehr einfach. Ohne diesen Schritt lässt sich die Anwendung möglicherweise nicht korrekt ausführen.
  • Wie Java-Applets bleibt auch diese Anwendung auf einer „Sandbox“ auf dem Client beschränkt, wenn keine signierten JAR-Dateien verwendet und die Berechtigungen in der JNLP-Datei der Anwendung nicht richtig konfiguriert werden.

Trotz dieser wenigen heiklen Punkte stellt die Verwendung von JNLP und Java Web Start bei verteilten Anwendungen eine interessante Alternative dar. Genauere Informationen zu diesem Thema sowie die Möglichkeit, eine Java-Web-Start-Anwendung auszuprobieren, gibt es auf der Java-Web-Start-Homepage von Sun Microsystems.

ZDNet.de Redaktion

Recent Posts

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

15 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

17 Stunden ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

17 Stunden ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

21 Stunden ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

21 Stunden ago

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

21 Stunden ago