Java Web Start

редактировать

В вычислениях, Java Web Start (также известный как JavaWS, javaws или JAWS ) - это структура, разработанная Sun Microsystems (теперь Oracle ), которая позволяет пользователям запустите прикладное программное обеспечение для платформы Java непосредственно из Интернета с помощью веб-браузера. Некоторые ключевые преимущества этой технологии включают бесшовное обновление версий для глобально распределенных приложений и больший контроль выделения памяти для виртуальной машины Java..

Java Web Start распространялся как часть платформы Java и включался в загружаемые файлы JRE. и JDK. Oracle объявил его устаревшим в Java SE 9 и удалил его в Java SE 11. Код для Java Web Start не был выпущен Oracle как часть OpenJDK, и поэтому OpenJDK изначально не поддерживал его. IcedTea-Web предоставляет независимую реализацию Java Web Start с открытым исходным кодом, которая в настоящее время разрабатывается сообществом AdoptOpenJDK, RedHat и, и которая включена в официальный Установщик OpenJDK. Рядом с этим OpenWebStart предоставляет реализацию на основе с открытым исходным кодом, которая основана на IcedTea-Web, но предлагает больше функций и варианты коммерческой поддержки.

Содержание
  • 1 Функциональные возможности
  • 2 Устарело
  • 3 Реализация
  • 4 Протокол запуска сети Java (JNLP)
  • 5 Пример
  • 6 Сжатие Pack200
  • 7 Подписанные приложения Web Start
  • 8 Альтернативы
  • 9 Известные приложения
  • 10 См. Также
  • 11 Ссылки
  • 12 Внешние ссылки
Функциональность

В отличие от Java-апплетов, приложений Web Start не запускайте внутри браузера. По умолчанию они запускаются в той же изолированной программной среде, что и апплеты, с несколькими небольшими расширениями, например, позволяющими загружать и сохранять файл, который явно выбран пользователем в диалоговом окне выбора файла. Только подписанные приложения можно настроить для получения дополнительных разрешений.

Web Start имеет преимущество перед апплетами в том, что он преодолевает многие проблемы совместимости с плагинами Java браузеров и различными версиями JVM. Программы Web Start больше не являются неотъемлемой частью веб-страницы, они являются независимыми приложениями, которые запускаются в отдельном фрейме.

Web Start также может запускать немодифицированные апплеты, упакованные в файлы.jar, путем записи соответствующего файла JNLP. Этот файл также может передавать параметры апплета. Такие апплеты также запускаются в отдельном фрейме. Средство запуска апплета может не поддерживать некоторые конкретные случаи, такие как загрузка класса как ресурса.

Как и апплеты, Java Web Start кроссплатформенный.

Устарело

Начиная с JDK9, Java-апплеты не рекомендуются Oracle, и Java Web Start является предполагаемой заменой.

В марте 2018 года Oracle объявила, что не будет включать Java Web Start в Java SE 11 (18.9 LTS) и более поздних версиях. Разработчикам потребуется перейти на другие технологии развертывания.

Реализация
Ранние версии Java Web Start поставлялись с менеджером приложений, с помощью которого, например, можно было запускать демонстрационные приложения Sun

Разработчик подготавливает специальный XML файл с расширением JNLP. В этом файле описаны требования приложения, расположение кода, параметры и дополнительные разрешения (если есть). Браузер загружает этот файл, как и любой другой, и (следуя его типу MIME, application / x-java-jnlp-file) открывает его с помощью инструмента Web Start. Инструмент Web Start загружает все необходимые ресурсы и запускает приложение.

Java Web Start предоставляет серию классов в пакете javax.jnlp , которые предоставляют различные сервисы для приложения. Sun разработала большинство этих сервисов с целью предоставления тщательно контролируемого доступа к ресурсам (таким как файлы и системный буфер обмена), ограничивая приложение разрешенными операциями.

Sun представила версию 1.0 Web Start в марте 2001 года, тогда как поддержка 64-битной Windows была добавлена ​​только в Java 6 (позже, чем 64-битная Java была впервые доступна). Поскольку J2SE 1.4 Web Start входит в состав Java Runtime Environment (JRE) по умолчанию и называется javaws, администраторам компьютеров больше не нужно устанавливать его отдельно.

Java Network Launching Protocol (JNLP)

Программисты часто называют Java Network Launching Protocol (JNLP ) взаимозаменяемо с термином «Web Start» ". Протокол JNLP, определенный с помощью схемы XML, определяет, как запускать приложения Java Web Start. JNLP состоит из набора правил, определяющих, как именно реализовать механизм запуска. Файлы JNLP включают такую ​​информацию, как расположение файла пакета jar и имя основного класса для приложения, в дополнение к любым другим параметрам для программы. Правильно настроенный браузер передает файлы JNLP в среду выполнения Java (JRE), которая, в свою очередь, загружает приложение на компьютер пользователя и начинает его выполнение. Разработка JNLP проходила в рамках Java Community Process как JSR 56. Он включает в себя исходный выпуск 1.0, последующий отладочный выпуск 1.5 и, по состоянию на 2006 г., ожидающий отладочный выпуск 6.0.

Важные функции Web Start включают возможность автоматической загрузки и установки JRE в случае, если у пользователя не установлена ​​Java, а также возможность указать программистам, какая версия JRE требуется данной программе для выполнения. Пользователь не должен оставаться подключенным к Интернету для выполнения загруженных программ, потому что они выполняются из локально поддерживаемого кэша . Обновления программного обеспечения загружаются из Интернета и становятся доступными, когда пользователь подключается к Интернету, облегчая тем самым бремя развертывания.

Любой пользователь компьютера может использовать JNLP, просто установив клиент JNLP (чаще всего Java Web Start). Установка может происходить автоматически, так что конечный пользователь видит, как программа запуска клиента загружает и устанавливает приложение Java при первом запуске.

JNLP работает аналогично тому, как HTTP / HTML работает в Интернете. Для рендеринга веб-страницы HTML после того, как пользователь нажимает на веб-ссылку, браузер отправляет URL-адрес на веб-сервер, который отвечает файлом HTML. Затем браузер запрашивает ресурсы, на которые ссылается этот файл (изображения, css ), и, наконец, отображает страницу, как только она получила достаточно информации. Отрисовка страницы обычно начинается до того, как все ресурсы будут загружены; некоторые ресурсы, не критичные для макета страницы (например, изображения), могут быть добавлены впоследствии.

JNLP отражает этот процесс; точно так же, как веб-браузер отображает веб-страницу, клиент JNLP «отображает» приложение Java. После того, как пользователь щелкает веб-ссылку, браузер отправляет URL-адрес веб-серверу, который отвечает файлом JNLP (вместо файла HTML) для приложения. Клиент JNLP анализирует этот файл, запрашивает указанные ресурсы (файлы jar), ожидает извлечения всех требуемых ресурсов, а затем запускает приложение. В файле JNLP ресурсы могут быть указаны как «ленивые», что информирует клиента JNLP о том, что приложению не нужны эти ресурсы для запуска, но может получить их позже, когда / если приложение их запросит.

Пример

В приведенном ниже примере показан простой файл JNLP для запуска апплета с указанием базы кода, источника, основного класса и размера окна. Такой файл содержит все необходимые ссылки и самодостаточен для запуска приложения. Поскольку разрешения не запрашиваются, код будет работать в песочнице. JNLP также заявляет, что это приложение может работать в автономном режиме (если оно уже кэшировано) и должно обновляться как фоновый процесс.

Запуск апплета с помощью Web StartFoo Bar Inc.
сжатие Pack200

Чтобы уменьшить размер приложения Java Web Start, Sun Microsystems представила систему сжатия под названием Pack200 в Java 1.5.0. Он может сжимать большой файл jar до одной девятой его исходного размера, если он содержит только классы Java.

Java Web Start поддерживает Pack200 с момента его первого появления, но изначально эта функция требовала взаимодействия на стороне сервера и определенное количество опыта для настройки. Когда Sun представила Java SE 6u10, поддержка Pack200 стала доступна без необходимости специальной поддержки серверов. Разработчики приложений могут включать или отключать эту функцию в файлах JNLP.

При медленных соединениях Pack200 увеличивает производительность во времени запуска приложения и времени загрузки.

Подписанные приложения Web Start

По умолчанию приложения Java Web Start запускаются «с ограничениями», что означает, что они не имеют доступа к некоторым системным ресурсам, таким как локальные файлы. Но издатели могут снять эти ограничения, подписав свои приложения Web Start с помощью инструмента jarsigner, который поставляется с JDK.

Alternatives

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

Для запуска приложения на основе Java Web Start после выпуска Java 11 компания выпустила инструмент с открытым исходным кодом, основанный на IcedTea-Web. Инструмент включает в себя все функции IcedTea-Web и добавляет расширенные функции, такие как встроенные установщики для Mac OS, Windows и Linux. IcedTea-Web был создан при поддержке RedHat и AdoptOpenJDK.

Webswing - это специализированный веб-сервер для запуска приложений Java на основе Swing в браузере.

.

Известные приложения
См. Также
  • значок Портал компьютерного программирования
  • Zero Install, аналогичная система, которая работает для приложений, отличных от Java.
  • ClickOnce, Microsoft .NET аналогичная framework.
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-24 03:57:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте