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

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

1 Stunde ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

1 Stunde ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

8 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

1 Tag ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

1 Tag ago