У меня есть класс Java, который можно вызывать из оболочки. (через "java [command] [options]") Класс принимает набор параметров и выводит MIDI-файл.
Что я хочу сделать, так это настроить простое веб-приложение, которое читает из заранее определенного каталога, который всегда будет содержать 3 MIDI-файла (только!). Посетителю веб-приложения предоставляется эти три файла, и он должен выбрать тот, который он / она считает лучшим (отправьте форму). Веб-приложение будет использовать эту информацию для генерации набора из 3 новых MIDI-файлов с использованием класса Java при записи информации в файл журнала и перемещении старых файлов в каталог архива.
3 вещи, в которых я не уверен:
1) Какой веб-язык подойдет для этого? Я планирую превратить это в полноценное приложение в какой-то момент, но зависимость от Java заставляет меня думать, что использование сервлетов - это путь. Однако будет ли PHP или Rails (например) проще? Можно ли / можно вызывать Java с помощью команды оболочки из PHP или других языков?
2) Генерация MIDI занимает некоторое время, поэтому я хочу, чтобы какая-то полоса загрузки или уведомление "Ожидание ..." появлялись на экране после того, как пользователь отправил форму. По сути, я хочу, чтобы приложение блокировало и показывало это уведомление во время выполнения команды оболочки, а также отображало новую страницу после ее завершения и создания новых MIDI. Есть ли какой-нибудь пример, которому я могу следовать для достижения этого (было бы неплохо использовать AJAX с PHP или сервлетами)?
3) Когда на веб-сайте присутствует более одного человека, и один человек отправляет форму (и запускает генерацию MIDI), тогда я хочу, чтобы все получили уведомление о загрузке или хотя бы инициировали какое-либо действие. Есть ли чистый способ сделать это?
Спасибо за любые ответы!