Я бы создал сервлет Java и некоторый класс с кварцевым планировщиком, который будет обрабатывать фоновые задания.
Если пользователь отправляет форму, в которой вы можете создавать фоновые задания, то кварц будет обрабатывать их обработку в очереди.
После этого клиент JavaScript мог бы время от времени спрашивать (каждые 10 секунд или около того), завершены ли задания и, если да, возвращать URL-адреса к изображениям.