Здравствуйте! Есть у меня флешка (swf) с хитрой и объемной логикой. Она содержит в себе поле ввода текста. Мы вводим туда что-то, эта строка проходит кучу фильтров и выдается результат.
А теперь необходимо реализовать все тоже самое, но только теперь текст будет поступать не с клиента, а с сервера. Как нужно преобразовать эту флешку, чтобы она смогла получать параметры + смогла что-то возвращать?
В итоге мы должны получить туже флешку, но без показа ее человеку. Т.е. он заполняет форму, она шлется на сервер. Текст из формы проходит через флеш. Редиректим на новую страницу, где и выводим результат.
Ну, как вариант в лоб.
Запускаете сервер с флешкой, тот что был всегда, у себя, не показывая никому.
На новом сайте, где только форма, когда человек вводит данные, получаете их и с помощью какого-нибудь phantomjs вводите на первом сайте, получаете результат, отдаете человеку.
хм, флешка сохраняет у себя некое состояние. И если у меня будет 1000+ человек, то на сервере будет 1000+ вкладок. Думаю, это очень сильно ударит по производительности :(
Пока одни думают, другие делают :)
Вы не предоставили реальной спецификации и требований. Откуда вам знать, может и не ударит ? А может, то насколько оно ударит, легче докупить железом?
Решать сферические задачи в вакууме не особо резонно сегодня.
Формально, задача такая:
Есть функция, которая выполняет некие исчисления. Функция - во флеше. Что бы функция вернула результат, ее нужно выполнить.
Выполнить флеш может клиентский браузер или браузер фантома. Фантом - это вариант в лоб, самый легкореализуемый. Думаю, если упретесь в производительность, то можно будет найти более оптимальные интерпретаторы флеша. Дело в том, что интерпретировать флеш полюбому придется, а это умеют делать только, назовем их "клиентские движки".
Если такие варианты с интерпретацией флеша не устраивают, то можно переписать флеш во что-то другое. Путей так же много: можно взять и переписать алгоритм, можно извращаться с декомпиляциями и запусками бинарников.
Короче, решения, как по мне, очевидны и просты. В чем проблема? Видите же, что вариантов масса. Прикиньте плюсы и минусы каждого из них попробуйте, а если упретесь в реальные цифры, там уже надо думать: можно оптимизировать, есть другой способ или нужно в корне менять решение.
Кстати, сначала вы говорите, что есть флешка, которая получает данные и отдает результат. Теперь говорите, что она еще и состояние сохраняет. Говорите, что нужно преобразовать флешку, но потом отвечаете, что там десятки тысяч строк кода. Возможно и есть способ запускать action sctipt (насколько я помню, так называется, хотя, кстати, вы даже версию не указали, если хотите реального ответа по флешу) из командной строки, но кажется мне, что вы ждете какой-то магии в ответе :)