Chapter IX - Putting It All Together

What are JNLP and Java Web Start?

OK, follow me on this because it's kind of confusing and Sun is to blame. Sun created a thing called the Java Network Launching Protocol (JNLP), it basically is just an XML file with a certain format that specifies everything a client computer needs to know to download, install, run, and then later automatically update a Java application. This file is intended to be downloaded and then handed to a program on the clients machine which can make use of the instructions to handle automatic installation, running, and uninstallation of programs. It literally can make clicking on a single link in a web browser run your Java application and there really isn't anything like it available for other languages or operating systems.

To go with the JNLP file format Sun created a reference implementation of the program that uses the JNLP files called Java Web Start (JWS). Then, unfortunately, they started referring to everything associated with this using the name Java Web Start and they kind of forgot to promote JNLP. JWS is only available from Sun for Windows, Solaris and Linux. But, fortunately for us, Apple now includes Java Web Start in OS X 10.1 so all of the major consumer operating systems (Mac, Windows, and Linux) can run software via JNLP quite easily.

That doesn't mean that only those operating systems can run a program that starts via a JNLP file though so if you need to support platforms like AIX or BSD you can use OpenJNLP as a substitute for JWS and your program will still install, run, etc.