21.2.6 | Developer Pack |
Sun bietet das Java Web Start Developer Pack optional zum Download an (s. http://java.sun.com/products/javawebstart). Dieses besteht aus drei Teilen:
- jardiff.jar
Über JarDiff ist es möglich, dem Benutzer bei Änderungen der Applikation nur die Differenz zwischen dem alten und dem neuen JAR anzubieten. Hat man beispielsweise eine alte Version der Applikation in einer Datei namens old.jar und die neue Datei mit dem Namen new.jar, kann man über den folgenden Aufruf die Differenz ermitteln lassen:>java -cp jardiff.jar com.sun.javaws.jardiff.JarDiff \ -output new.jardiff old.jar new.jarEs empfiehlt sich in diesem Zusammenhang die Verwendung des mitgelieferten Servlets, der diese Differenz zur Laufzeit generiert und dem Client die passende Datei liefert.
- jnlp-servlet.jar
Das in dem Paket mitgelieferte Servlet bietet die Möglichkeit, auf dem Webserver ein Programm laufen zu lassen, welches folgende Eigenschaften bietet (s. http://java.sun.com/products/servlet/):
- Automatisches Einfügen der Codebase-URL in die JNLP-Datei (im Attribut codebase des Elementes jnlp muss dazu der Wert $$codebase stehen), damit man dies nicht hart kodieren muss.
- Angabe eines festen Datums der JNLP-Datei, das nicht auf dem Dateisystem basiert. Dies ist beispielsweise sinnvoll, wenn sich mehrere Webserver die Arbeit teilen (so genanntes Load-Balancing). In diesem Fall könnte jeder Webserver ein unterschiedliches Datum der JNLP-Datei zurückliefern, was zur erneuten Interpretation beim Client führt. Um dies zu verhindern, kann in der JNLP-Datei in der ersten Zeile ein Datum angegeben werden:
TS: 2000-08-23 19:21:05 <?xml version="1.0"?> ...- Unterstützung der verschiedenen Download-Versionen (Download von Extensions, JarDiff usw.). So wird beispielsweise die korrekte Antwort auf die folgende Client-Anfrage generiert:
http://localhost/app/lib.jar&version-id=2.1- Automatische Generierung von JarDiff-Dateien, in Abhängigkeit davon, welche Version der Client hat und bekommen möchte.
Zur Ausführung des Servlets wird natürlich eine Servlet-Engine wie beispielsweise Apaches Tomcat (http://jakarta.apache.org/tomcat/) benötigt. Eine genaue Beschreibung der Servlet-Parameter ist in der Dokumentation zu finden.
- API-Dokumentation und die Dokumentation des Servlets.