Java Web Start: Difference between revisions

Content deleted Content added
Seamos (talk | contribs)
Java Network Launching Protocol (JNLP): attempt at fixing a long and confusing sentence
Line 44:
Some of problems with JNLP are:
 
* Developer has to write server URI in JNLP file, so it is not possible to use same JNLP descriptor file in production and testing environment. Developer cannot just drop .jnlp file into server shared directory, he or she has to edit it. This problem could be solved if .jnlp file opened directly by web browser plugin (which is done when using the Java Deployment Toolkit, deployJava.js)[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6866509] (as for [[Java Applet|applets]]), or by introducing jnlp: URI scheme, so .jnlp file descriptor opened by URL like jnlp:http://my-site/app.jnlp. jnlp: URI scheme may be handled by JNLP handler.{{Citation needed|date=November 2009}}
* Developer has to sign with certificate all jar files used by JNLP. Although it is not a problem for serious production applications, it complicates learning and small applications development. Certificate may be self-signed, so this does not really solve security issues.{{Citation needed|date=November 2009}}
* Bad user experience: user downloads .jnlp file into temp directory or Downloads folder. Browser may ask user, if he really wants to save that .jnlp file, and then has have to open downloaded manually. This again could be solved by browser plugin (which is done as of Java 6 Update 10 and using the Sun Java Deployment Toolkit, deployJava.js), or by introducing jnlp: URL scheme.{{Citation needed|date=November 2009}}
* Permission checking is too simple. Developer hardcodes required permissions into .jnlp descriptor (for example, developer may request "all permissions"), and user has to confirm permissions once at application start. It would be better if jnlp had no permission specifications at all, but on unsafe operation JNLP engine asked user questions like "Application My Demo requests to read file 'preferences.txt', allow?" with answers like "Allow once", "Always allow this file", "Always allow read anything". JVM SecurityManager is capable of performing such checks, but JNLP does not utilize such capabilities.{{Citation needed|date=November 2009}}
* 64-bit Windows support added only in Java 6<ref name="win64">[http://bugs.sun.com/view_bug.do?bug_id=4802695 Bug ID 4802695, Support 64-bit Java Plug-in and Java webstart on Windows/Linux on AMD64]</ref>.