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

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

6 Stunden ago

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

2 Tagen ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

2 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

2 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

3 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

3 Tagen ago