Java Web Start ist ein Verfahren zur Übertragung von Java-Anwendungen über das Internet und zum Start mit nur einem Klick. Im Unterschied zu Java-Applets benötigen Java-Web-Start-Anwendungen keinen Browser, um ablaufen zu können.
Der Hersteller Oracle hat Web Start abgekündigt[1]: in aktuellen LTS Java-Version 11 ist WebStart bereits nicht mehr enthalten. Da WebStart nie open source im OpenJDK entwickelt wurde, sondern immer als closed source Software von Oracle beim Bau ihrer Java Distribution hinzugewinnt wurde, gibt es auch keine alternative Java Distribution zur Nutzung von WebStart. Die letzte Long-Time-Support-Version[2] mit Web Start ist die Java 8 Distribution von Oracle. Oracle empfiehlt das nicht direkt vergleichbare Paketierwerkzeug jlink als Ersatz[3]. Basierend auf diesen Gegenseiten hat die AdoptOpenJDK Community mit Unterstützung der Firmen RedHat und Karakun begonnen eine Open Source alternative für Oracle WebStart zu Entwicklen und bereitzustellen. Das ganze wird in GitHub unter der AdoptOpenJDK Organisation entwickelt. Die Entwicklung basiert auf IcedTea-web welches als Bestandteil von IcedTea hauptsächlich von RedHat entwickelt wurde[4]. Innerhalb des AdoptOpenJDK Projektes wird hierbei versucht die Qualität von IcedTea-Web zu erhöhen, Bugs zu entfernen und aktuell nicht implementierte Features des JNLP Standards bzw. von Oracle WebStart nachzureichen. Die Veröffentlichung einer benutzerfreundlichen Version (native Installer etc.) wird unter openwebstart.com vorbereitet.
Bei jedem Start einer Java-Web-Start-Anwendung kann überprüft werden, ob neuere Komponenten vorliegen und ob im Zielrechner ein aktuelles Java-Laufzeitsystem vorliegt. So kann der Anwender stets mit der aktuellen vom Programm-Autor ausgelieferten Version arbeiten. Eine einmal heruntergeladene Version einer Anwendung bleibt solange in einem Zwischenspeicher (engl. Cache) auf der Festplatte des Clients, bis bei der Prüfung erkannt wird, dass eine neue Version vorliegt und diese geladen werden muss. Somit werden unnötige Downloads verhindert, und es wird trotzdem sichergestellt, dass immer die aktuelle Programmversion läuft.
Voraussetzung für die Ausführung von Java-Web-Start-Anwendungen ist, dass
- der Entwickler das Programm auf einem Server zum Download anbietet und eine spezielle XML-Datei bereitstellt (mit der Endung „
.jnlp
“), in der die einzelnen Komponenten der Anwendung beschrieben sind. - der Webserver, auf dem die Java-Anwendung bereitgestellt wird, den MIME-Type application/x-java-jnlp-file kennt.
- auf dem Client das Java Runtime Environment installiert ist (JRE enthält ab Version 1.4.2 Java Web Start), da die Java-Anwendung mit Hilfe der lokalen Java VM ausgeführt wird.
Java Network Launching Protocol (JNLP)
Das Java Network Launching Protocol (JNLP) benötigt für jede Anwendung eine Konfigurationsdatei im XML-Format. Diese JNLP-Dateien enthalten Informationen zum Ablageort von JAR-Dateien, den Namen der Hauptklasse einer Anwendung und weitere Parameter für das aufzurufende Programm. Ein konfigurierter Webbrowser übergibt JNLP-Dateien an die Java-Laufzeitumgebung, die daraufhin die Anwendung auf den PC des Anwenders herunterlädt und startet. JNLP wurde im Java Community Process als JSR-56 entwickelt.[5]
Siehe auch
Das ClickOnce-Konzept des .NET-Frameworks von Microsoft bietet eine ähnliche Funktionalität für Windows-Programme.
Einzelnachweise
- ↑ JDK 9 Release Notes. Deprecated APIs, Features, and Options. Oracle, abgerufen am 5. Juli 2018 (englisch).
- ↑ Oracle Java SE Support Roadmap. Oracle, 28. Juni 2018, abgerufen am 5. Juli 2018 (englisch).
- ↑ Java Client Roadmap Update. An Oracle White Paper. März 2018, abgerufen am 5. Juli 2018 (englisch).
- ↑ Author Jayashree Kumar: Using IcedTea Web-browser Plug-in with AdoptOpenJDK. In: AdoptOpenJDK. 4. Oktober 2018, abgerufen am 31. Mai 2019 (britisches Englisch).
- ↑ Java(TM) Network Launching Protocol & API Specification (JSR-56): Version 1.5. Java Software: A Division of Sun Microsystems, Inc., 21. Mai 2001 (java.sun.com [abgerufen am 23. Dezember 2006]).
Weblinks
- Was ist Java Web Start, und wie wird es gestartet?
- Java Web Start Technology – offizielle Homepage (englisch)
- Developer’s Guide (englisch)
- ojdkbuild
- netx
- GitHub AdoptOpenJDK Organisation
- openwebstart.com
- Karakun