Howdy -
Java Web Start (JWS) is kind of a cross between
applets and regular stand-alone Java GUI clients. It's a way to have an application *delivered* over the Web, but unlike an applet, the Web Start-deployed application does not run under the control of a browser.
The end-user must have Java Web Start installed (all versions of Mac OSX come with it pre-installed, with other OS's the user has to install it much in the way you install a browser plug-in).
JWS is a small Java program that lives on the client machine, and it's role in life is to manage downloading, updating, and executing your application.
Here's an overview of the main steps to JWS:
1) Make an executable JAR (which means you have a class in the JAR with a main() method, and you write a manifest that specifies which class in the JAR should have its main() invoked to start the app).
2) You must also make a .jnlp file (a really simple XML
doc that tells JWS how to deal with your application).
3) Place your JAR and your .jnlp file on your web server, just like any other web application files (like plain old html files, etc.)
4) Add a new mime-type to your web server:
application/x-java-jnlp-file
5) Create a web page with a link to your .jnlp file:
That's pretty much it. The client clicks to the link, the browser downloads the .jnlp file, and assuming that JWS is configured, the browser launches JWS as a "helper app" (similar to the way it runs, say, Acrobat Reader), and then JWS presents a little interface to the end user.
A couple of cool things about JWS are that the application, once downloaded, now LIVES on the client machine, which means the client can now run the app again without having to download it. In fact, the client doesn't even need to be online next time.
But better than that... JWS can manage incremental updating, so if you change just one class in your app, JWS can download and update just that one class, rather than having to download the whole JAR again.
I don't know how JWS is being used in the real world right now, but it sure is cool.
cheers,
Kathy