Ich habe eine eigenständige Java-Anwendung geschrieben, die ich in eine JAR-Datei gepackt habe, die einige Befehlszeilenargumente übernimmt, einige hardcore Berechnungen durchführt und dann das Ergebnis in eine Datei schreibt Ausgabe an den Standard-Ausgabestream, der auf die Datei mit den Ergebnissen zeigt.Ausführen von Java auf einem Webserver
Ich möchte jetzt eine Website rund um diese Technologie erstellen. Die Idee ist, dass der Benutzer ein HTML-Formular ausfüllen und auf einer Webseite veröffentlichen kann, die dann die Java-Anwendung aufruft, die Ergebnisse aus der Java-App analysiert und sie dem Benutzer anzeigt.
Derzeit bin ich ein wenig von PHP unter Verwendung der Daten aus der Post-Anforderung zu sammeln, und dann nur ein exec-Aufruf:
java -jar -Xmx128m myapplication.jar command-line-arguments
dies schlecht ist?
Ich habe jeden Tag mehrere tausend Besuche auf meiner Website und jede Ausführung der Java-Anwendung kann mehr als 30 Sekunden bis zu einer Minute dauern, also möchte ich nicht übermäßig ineffizient sein. Es scheint, als gäbe es eine bessere Lösung, als Java für jede Anfrage direkt aufrufen zu müssen.
Ich höre Dinge wie Java-Servlets, Bohnen, Kater, Glassfish, etc., aber ich verstehe nicht, was sie sind und wie sie mir nützen würden. Was bringen mich diese? Schnellere Ergebnisse, weil die Java JVM nicht jedes Mal neu erstellt werden muss, wenn ich die Anwendung ausführe? Weniger Speicherverbrauch? Ich möchte natürlich, dass es so schnell wie möglich mit möglichst wenig Speicherbedarf läuft.
Also, was ist der beste Ansatz, den ich hier nehmen kann? Ich möchte meine Anwendung nicht ernsthaft umschreiben, da es viel Code gibt (daher ist es nicht möglich, sie in C oder C++ umzuwandeln).
Danke.