I am trying to understand what are the use cases for using Java Web start. What are the advantages of it over a web application. Is Java web start still relevant today?
What are the advantages of Java WebStart over a web application
These two are very different approaches to implement an application:
A Web Application typically refers to an application which runs completely on the server side (keeping aside JavaScript, which executes inside the browser) and uses a web browser to visualize its user interface and handle user inputs. The main advantage of such an application is that no software needs to be installed on the client side, besides the browser (which is usually available on any system today). Sometimes this is referred to as "zero-deployment".
Java WebStart on the other hand is a deployment technology which allows to download applications and run them locally on the client. The starting point is again the everywhere-available browser (or more specifically a URL), but once clicked, the URL downloads binary components (.jar files, but also system dependent native binaries) to the local system and then they are run locally. This also requires a very low effort from deployment perspective, but at least a Java Runtime environment needs to be available locally. But still, it is much less effort to run an application than having to download a installer, launch the installer, choose an installation directory etc. Java WebStart does that for you. Additionally, it also automatically handles updates - when the url is clicked subsequently, WebStart checks if the files have changed since the last run and downloads them as necessary. Otherwise, it uses the files from a local cache.
Is Java web start still relevant today?
Yes, definitely. If you have a rich (Java) application which needs to run locally on the client, you can use WebStart to deploy it with very low effort - all you need to send to the users is a URL.
See also