Было бы менее неудобно запускать приложение Java с помощью Java Web Start. Это избавит от необходимости демонизировать или устанавливать аппаратный менеджер Java.
Другая альтернатива - использовать встроенный браузер в Java. Я полагаю, что это не вариант, так как вы сильно зависите от Javascript (я предполагаю, чтобы обеспечить богатый опыт клиента).
Если вам уже нужно что-то установить на клиентском компьютере, почему вы решили использовать веб-приложение?
Из опыта: У нас было приложение Java EE, которое нужно было печатать на принтерах PoS на сайте клиента. Мы установили небольшое приложение «синхронизатор», которое подключается через SSH и синхронизирует все файлы клиентов. После этого он загружает JAR и выполняет программу. Эта программа соединяется через RMI с сервером и подписывается на очередь JMS для получения заданий на печать.
Применительно к вашему делу: Почему бы не позволить вашему приложению Java напрямую подключиться к серверу? Вы можете использовать HTTP, SOAP или даже JMS через RMI. Затем вы можете запустить аппаратную команду с сервера (а не из ограниченной среды веб-браузера JavaScript). Таким образом, вы получаете множество функций: аутентификацию, буферизацию команд и даже можете совместно использовать оборудование для нескольких клиентов.
Схема:
<----AJAX------> Web browser
ApplicationServer
<---HTTP/SOAP--> Java hardware manager application
Вы можете запустить приложение Java с помощью Java Web Start, что позволяет автоматически обновлять приложение (вместо того, чтобы передавать каждому клиенту новый установщик).