Я написал отдельное Java-приложение, которое я упаковал в jar-файл, который принимает некоторые аргументы командной строки, выполняет некоторые жесткие вычисления, а затем записывает результат в файл вместе с некоторым выводом в поток вывода по умолчанию. указывая, где находится файл с результатами.
Теперь я хочу создать сайт на основе этой технологии. Идея состоит в том, что пользователь может заполнить HTML-форму, опубликовать ее на веб-странице, которая затем вызовет приложение Java, проанализировать результаты из приложения Java и отобразить ее пользователю.
В настоящее время я использую немного PHP для сбора данных из почтового запроса, а затем просто использую вызов exec:
java -jar -Xmx128m myapplication.jar command-line-arguments
Это плохо?
У меня есть несколько тысяч посещений моего сайта каждый день, и каждое выполнение Java-приложения может занимать от 30 секунд до минуты, поэтому я не хочу быть чрезмерно неэффективным. Похоже, что было бы лучшее решение, чем прямой вызов Java для каждого запроса.
Я продолжаю слышать такие вещи, как ява-сервлеты, бобы, кот, стеклянная рыба и т. Д., Но я не понимаю, что это такое и как они могут мне помочь. Что это мне дает? Более быстрые результаты, потому что Java JVM не нужно создавать каждый раз, когда я запускаю приложение? Меньше использования памяти? Я, очевидно, хочу, чтобы он работал максимально быстро и занимал как можно меньше памяти.
Итак, какой лучший подход я могу использовать здесь? Я не хочу делать каких-либо серьезных переписываний для моего приложения, так как кода много (поэтому переписать его на C или C ++ не может быть и речи).
Спасибо.