Реферат: Технология развертывания приложений Java Web Start
.................
at com.sun.javaws.servlet.JnlpDownloadServlet.doGet(JnlpDownloadServlet.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
...................................
JNLP файл имеет также дополнительные параметры и позволяет указывать разные ресурсы приложения в зависимости от: версии самого приложения, версии операционной системы, платформы, "локали" - т.е. поддерживает "версионность" приложений по разным критериям. В качестве ресурсов можно также указывать "native" библиотеки (например, DLL, SO), используемые вашим приложением. Если вашему приложению требуется доступ к локальным файлам или другие права на локальном ПК, то для этого существует раздел <security>, который необходимо также описать. При необходимости доступа к локальным ресурсам на ПК, например файлов, все библиотеки вашего приложения должны быть подписаны сертификатом, который можно сгенерировать самостоятельно. Все подробности и правила описания можно найти в документации.
Для создания JNLP деплоймент файлов можно использовать свободно распространяемый "DeployDirector" от Sitraka Software, подробности можно узнать на сайте производителя.
Настройка поддержки JNLP (Java Network Launching Protocol) на сервере JBoss 3.x.x с установленным Web-контейнером Apache TomCat
Настроить JNLP на сервере JBoss, который использует в качестве Web-контейнера Mortbay Jetty вполне возможно аналогичным способом. Нужно только внимательно посмотреть и найти файлы настроек в JAR архивах данного Web-контейнера, в которые понадобиться внести аналогичные добавления.
Итак, какие изменения вносят на сервере...
1 Добавление поддержки новых MIME типов в Apache TomCat
Мы выполним данную настройку "глобально" для всего TomCat, чтобы этот MIME тип был описан для всех Web-приложений контейнера, но такого же эффекта можно добиться, если добавить дополнительные MIME типы только в web.xml отдельного web-приложения, которое будет вами сделано на сервере для деплоймента клиенского ПО. Для добавления новых MIME типов, мы находим в каталоге JBoss, подкаталог в котором установлен TomCat. В случае JBoss 3.x - это скорее всего каталог: ...\jboss\catalina\
Находим конфигурационный файл - ...\jboss\catalina\conf\web.xml.
В последних версиях JBoss 3.2.x данный файл необходимо искать в каталоге: ...\jboss-3.2.3\server\default\deploy\jbossweb-tomcat41.sar\web.xml
В данном файле находим раздел, где описаны MIME типы, проверяем есть ли они уже в списке описанных. jnlp, jar - обычно уже есть, а вот jardiff - скорее всего необходимо добавить. При их полном отсутствии добавляем, например в начало списка, еще три дополнительных типа:
web.xml
.......
<!-- ===================== Default MIME Type Mappings =================== -->
<mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping> <mime-mapping> <extension>jar</extension> <mime-type>application/x-java-archive</mime-type> </mime-mapping>
<mime-mapping> <extension>jardiff</extension>
<mime-type>application/x-java-archive-diff</mime-type>
</mime-mapping>.............................
Если дать "грубое пояснение", то этими действиями мы указали Web-контейнеру выполнять "специальную интерпретацию" файлов с расширениями - jnlp, jar, jardiff. После HTTP запроса (request) клиентом у контейнера файла-ресурса с одним из указанных расширений, контейнер должен поставить в заголовке HTTP ответа (response) соответствующий "Content-Type", равный - application/x-java-jnlp-file, application/x-java-archive, application/x-java-archive-diff. При этом указанное "Content-Type" значение в HTTP ответе, позволит Java Web Start на стороне клиента, обработать данный поток данных "специальным образом".
Замечание: Будьте внимательны с тем, что можно легко перепутать расширение файлов *.jnlp, ошибочно назвав *.jnpl, как в настройках Web-контейнера, так и в названиях файлов.
2 Создание архива Web-приложения (WAR), предназначенного для деплоймента Java-приложения на локальные ПК
В каталоге JBoss, предназначенного для деплоймоента J2EE приложений, создадим новое Web-приложение. Его можно создать любым удобным способом, например: пусть это будет "default" конфигурация. Внутри деплоймент-каталога, создаем каталог web-приложения с названием, указанным в JNLP файле, это будет - ..\application.war
...\jboss-3.2.1\server\default\deploy\application.war\
В данном случае содержимое WAR приложения выглядит так:
\application.war\