He escrito una aplicación Java independiente que he empaquetado en un archivo jar que toma algunos argumentos de línea de comandos, realiza algunos cálculos difíciles y luego escribe el resultado en un archivo junto con algunos salida a la secuencia de salida predeterminada que apunta hacia donde está el archivo con los resultados.Ejecutar Java en un servidor web
Ahora quiero crear un sitio web en torno a esta tecnología. La idea es que el usuario pueda completar un formulario html, publicarlo en una página web, que luego llame a la aplicación Java, analizar los resultados de la aplicación Java y mostrarla al usuario.
Actualmente, estoy usando un poco de PHP para recoger los datos de la solicitud posterior, y luego simplemente usando una llamada exec:
java -jar -Xmx128m myapplication.jar command-line-arguments
Es esto malo?
Tengo varias miles de visitas a mi sitio web cada día y cada ejecución de la aplicación Java puede tomar más de 30 segundos o un minuto, por lo que no quiero ser demasiado ineficiente. Parece que habría una mejor solución que tener que llamar directamente a Java para cada solicitud.
Sigo escuchando cosas como servlets java, frijoles, tomcat, glassfish, etc., pero no entiendo cuáles son y cómo me beneficiarían. ¿Qué me consiguen? ¿Resultados más rápidos porque Java JVM no tiene que crearse cada vez que ejecuto la aplicación? ¿Menos uso de memoria? Obviamente quiero que funcione lo más rápido posible con la menor huella de memoria posible.
Entonces, ¿cuál es el mejor enfoque que puedo tomar aquí? No quiero hacer una reescritura seria de mi aplicación, ya que hay una gran cantidad de código (por lo que volver a escribir en C o C++ está fuera de discusión).
Gracias.