We run a cloud-based medical software, and a very important part of the program is bridging to an imaging software straight from our website, passing information through command line arguments. We pass a patient’s name and ID through a Java applet, and it will open the imaging program that is installed locally on the user’s computer. There are many different imaging software vendors that we bridge to, so it isn’t possible to make our own imaging software in the browser.
I was wondering what the best way is to pass in these arguments and open the program, without using the Java applet that we have. As you all may know, Google is dropping NPAPI support in Chrome, and has just recently pushed update 42 which disables Java applets by default. It is still possible to use them for now, but support will be dropped completely by September. So, what would be the best thing to replace our Java applet with?
3
Running local programs through the web browser is frowned up for most scenarios, so browsers don’t really want to implement that support.
One idea I had that you could do, is create some obscure file extension, and register your client-side app to open them. Then, your web page serves up some file, in that file extension. The file would get opened by your client-side app and the file contents would tell your app what to do. Then, configure the browser to download and open those files without confirmation.
5
“Java Web Start (also known as JavaWS, javaws or JAWS) is a framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web browser.”
source : “http://en.wikipedia.org/wiki/Java_Web_Start”
With Java WS you can start desktop java applications (not applets).
You can use a JNLP link from Chrome :
How to Configure Chrome to Open JNLP Files
And finally, this is how to pass parameters to your local desktop java application from the internet :
Passing dynamically parameters to a Java Web Start App (JNLP)
P.S. : If your desktop application is not in Java, your can still use a Java desktop application as a relay to launch it.
5
Things that come to mind, but none as cross platform and browser neutral as Java is supposed to be:
- Create a Chrome extension.
- Convince Oracle to support Java in Chrome.
- Require users to use IE or Firefox.
- Have your “cloud-based medical software” people also support your imaging needs.
I’m trying to think of a clever, simple solution, but you’re in a tough spot. I don’t envy you trying to connect a browser-based app to a locally installed component. You’re working against the grain big time.
1