Можно ли перенести апплет, который использует JavaScript для связи с веб-сервером, на JWS?

Просто делюсь информацией, надеясь, что она будет полезна для сообщества.

Юзабилити апплетов снизилась, так как различные браузеры перестали поддерживать плагины. Google решил прекратить поддержку плагина NPAPI, EDGE не поддерживает плагины, Firefox также препятствует использованию плагинов, и Mozilla может следовать за пакетом.

Одно из разработанных нами приложений требовало использования Applets по следующим причинам.

  1. Возможность доступа к портам и периферийным устройствам, подключенным к вычислительным устройствам
  2. Возможность обмена информацией с веб-приложением (через JavaScript)
  3. Невовлечение системных администраторов для установки и обслуживания
  4. Приложение должно быть запущено из браузера

Описанная выше ситуация заставила нас рассматривать технологию Java Web Start (JWS) как потенциальную альтернативу апплету. Однако JWS столкнулась с собственным набором проблем из-за невозможности связи с веб-приложением.

Решение (Апплет), которое у нас было, получило бы уникальный идентификатор из веб-приложения; читать данные через последовательные порты; и отправить данные на веб-сервер вместе с ранее полученным уникальным идентификатором. Переписать отдельное приложение было невозможно, поскольку сообщество пользователей было таким же большим, как и обычное сообщество пользователей B2C. Обучение такого большого сообщества использованию приложения по-разному потребовало много усилий и вспомогательного персонала. Разработка нового приложения также потребовала бы значительных усилий с точки зрения жизненного цикла продукта.

Адаптация JWS имела преимущество повторного использования кода, разработанного для Applet. Однако возможность обмена информацией между апплетом и веб-приложением с помощью моста Applet-JavaScript была недоступна в JWS.

Вот как мы адаптировали JWS

  1. Пользователь получит доступ к веб-странице, которая ссылается на файл JNLP, содержащий сведения, необходимые для запуска приложения JWS

  2. Веб-приложение предоставит уникальный идентификатор приложению JWS через файл JNLP

  3. В это время веб-приложение начало бы длинный опрос / реверс AJAX. Это было необходимо, так как мы должны были уведомлять конечных пользователей об успехах / неудачах через веб-приложение.

  4. После считывания информации с последовательного порта приложение JWS выполнит HTTP-запрос POST и отправит показания вместе с UID в качестве параметра.

  5. Сервер сохранит результаты и завершит длинный AJAX-вызов с опросом / обратным вызовом; уведомление веб-приложения о статусе операции

Шридхар

0 ответов

Другие вопросы по тегам