Поддержка аппаратного обеспечения в веб-приложении

У меня есть веб-приложение, работающее с поддержкой некоторых специфических частей оборудования. Это достигается следующими шагами:

  1. Пользователь запускает небольшую программу установки, которая помещает java-файлы (и несколько других) на клиентскую машину. другие) на клиентскую машину. Основной частью является jar под названием "hardwareManager"
  2. Пользователь посещает веб-приложение. Веб-приложение запускает java-апплет, который, благодаря файла .java.policy, размещенного во время установки, имеет разрешение взаимодействовать с клиентской машиной вне песочницы браузера.
  3. Апплет проверяет, запущен ли hardwareManager, и, если нет, выполняет команду для его запуска.
  4. Пользователь взаимодействует с веб-приложением, которое посылает команды апплету через javascript. Затем апплет записывает команды в текстовый файл на клиентской машине. Текстовый файл постоянно отслеживается программой hardwareManager, который выполняет все команды, которые он считывает.

Это работает, но кажется неуклюжим. У меня есть пара идей, как это улучшить, но я не знаю, какие из них стоит попробовать.

Было бы лучше настроить hardwareManager как socketServer и заставить апплет подключаться непосредственно к нему, а не через текстовые файлы? Возможно ли это вообще?

Есть ли способ вообще отказаться от апплета и сделать так, чтобы javascript обращался непосредственно к hardwareManager? Может быть, написать hardwareManager как локальный http-сервер? На каком порту он должен работать? Подходят ли сюда ограничения javascript xss?

6
задан Lee Quarella 17 January 2012 в 11:07
поделиться