Have them download and run a desktop program. You could even write it in Java and also bundle a jre within an exe for actually better overall experience for windows users.
> Have them download and run a desktop program. You could even write it in Java and also bundle a jre within an exe for actually better overall experience for windows users.
Yeah, it would work. Could even have used Java Web Start.
The webapp would have to be developed as a web service with a desktop client (and maybe a web client as well), as the data created by different users, with different roles, and in different office buildings, had to be shared.
Is it OK to bundle the JRE in a closed-source program, though?
Yeap. It's preferred to vendor a JRE (non-system JRE) inside your app (which is basically just extracting it to some dir you always control), which doesn't conflict with whatever else is on the box (no registry settings, /etc/profile or common locations like /usr/some/unix/path/to/system/jre ), and auto-update your app which includes updating the JRE. This is how to deploy a supportable app, which reduce support tickets about "you broke our apps, our IT department is going to call our VPs and is going to call your VPs" and pre-sales issues like "we can't buy this because we can't change JRE versions."
The Web only goes so far.