I have been developing a static program analyzer (a kind of tool that attempts to detect program errors at compile-time), and it is almost finished. I would like to put a demo version to the web so that the few people who may be interested into the tool can test out its functionalities.
Context: 1. I have a personal computer to be used as a server if necessary. Otherwise, I am not sure if it is technically possible to put the demo to the computers of my institute because their computers do not have the required library used to launch the demo.
I am using Eclipse and Maven to develop this analyzer. The analyzer is written in Java.
The analyzer is somewhat time-consuming. It takes, for example, 5 seconds and 500 Mo JVM virtual memory to do an interesting work. So I need to limit the number of accessors.
I do not plan to send the .jar files to the clients, because I don't know who they will be.
I know nothing about the web application.
Under this context, what is, in your opinion, the easiest way to demonstrate my analyzer on the web?
This may be a different question from most questions about how to convert a desktop program to a Java web application, such as this
Thank you.
[EDITED] What would be the best solution if the constraint 3 above is to be taken into account?
You may be looking for Java Web Start, a deployment option used by the popular analyzer,
FindBugs
. This example illustrates few key concepts and leverages minimal-cost hosting.Addendum: @Capn Sparrow helpfully comments that Java Web Start downloads copies of the program's JARs from the server to the client, violating requirement three in the question. This entails several risk/benefit tradeoffs:
Pro: The server can be easily updated to ensure that the client always has the latest version. JARs are cached on the client, minimizing latency on update.
Con: The cached JARs may be decompiled or tampered with. The user must accept whatever
<security>
setting is chosen or reject the application. Usingjarsigner
can mitigate some risks.