Современные
информационные технологии/ 3. Программное обеспечение
к.п.н., Иванова И.В., магистрант Суюндуков Р.
Костанайский государственный университет им.А.Байтурсынова
Технология
развертывания Java-приложений в корпоративной среде, используя сервер JBoss.
Java — объектно-ориентированный язык
программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle).
Java позволяет эффективно разрабатывать, внедрять и использовать
превосходные приложения и услуги.
Java является не
только всеобщим стандартом для разработки и распространения мобильных
приложений, игр, веб-контента и корпоративного программного обеспечения, но и основой практически для всех типов сетевых
приложений.
Преимущества использования программы
Java:
- проще
писать, компилировать, отлаживать и изучать;
-позволяет создавать
модульные программы с многократным использованием исходного кода;
-язык программы Java не
зависит от платформы, поэтому можно запускать в различных системах, что
особенно важно для программ, предназначенных для World Wide Web;
- простота применения,
встроенные функции защиты делают этот язык программирования очень удобными созданию приложений для Internet;
- возможность переноса
программ из одной системы в другую.
Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной
архитектуры Windows, Linux, Mac OS, Solaris.
Java Web Start - это технология, которая позволит запускать интересующие
клиентам приложения прямо с веб-сайта.
При этом все необходимые части Java-приложения, и прочие ресурсы будут также
загружены агентом Java Web Start.
В основе своей
практической деятельности при
разработке корпоративных клиентских приложений использую технологию
развертывания Java-приложений и автоматическое
обновление клиента с помощью использования технологии Java Web Start.
Развертывание приложений выполняю, используя HTTP протокол при помощи любого
HTTP сервера. Чтобы воспользоваться всеми возможностями технологии Java Web Start, необходимо
использовать Web-сервер с поддержкой сервлетов (Servlets). Например, сервер
приложений JBoss и встроенным в него Web-контейнером - Apache TomCat. Для
настройки и поддержки JNPL протокола на сервере JBoss, использую в качестве
Web-контейнера Apache TomCat, поставляемый вместе с JBoss. Так как работа Java
Web Start основана на использовании JNLP-протокола, то выполняю настройки как на стороне сервера, так и на
стороне клиента.
Для установки
Java-приложений на локальном ПК использую
установленный Java Web Start (Application
Manager) и
веб-браузер. Браузером
пользуюсь только для первоначального запуска Java-приложения
и после запуска его закрываю, в то время как приложение продолжает работать. В качестве браузера лучше сначала
использовать IE, т.к. он сразу работает корректно. Также можно воспользоваться
и другими браузерами, но для этого необходимо выполнять в них небольшие
настройки.
Для частых запусков Java-приложений в среде Windows с помощью
Java Web Start, создаю стандартный "ярлык приложения" на рабочем
столе и запускаю Java-приложение, при
этом не использую браузер, пользуюсь
только ярлыком. Иногда запускаю Java-приложение из командной строки.
Как уже было сказано,
Java Web Start, всегда доступен как при установке JRE, так и при установке JDK,
поэтому полностью использую все его возможности. Но необходимо при этом
учитывать, что Java Web Start предъявляет определенные требования к написанному
клиентскому Java-приложению. Приложение должно поставляться как набор
JAR-файлов, все ресурсы приложения, такие как изображения, конфигурационные
файлы, библиотеки, необходимо включать в JAR-файлы. Ресурсы в коде должны
получаться с помощью ClassLoader.getResource или подобных методов.
Приложение запускается
на клиентском с правами доступа, со всеми вытекающими последствиями. Поэтому при неограниченном доступе к локальным файлам
–использую дополнительные настройки и
подписываю библиотеки кода с помощью сертификата, что позволяет мне безопасным
способом хранить локальные настройки.
Для создания приложения, Java Web Start создаю пустой
веб-проект JWS приложения, которое должно быть развернуто как веб-приложение, с именем "HelloJWS". JNLP файл содержит:
01.<?xml version="1.0" encoding="utf-8"?>
02.<jnlp spec="1.0+"
03.codebase="http://localhost:8080/ HelloJWS /"
04.href="/ helloJWS.jnlp">
05.<information>
06.<title>Sample JWS
application</title>
07.<vendor>JBoss tutorials</vendor>
08.<description>JWS on JBoss
Demo</description>
09.<homepage href="http://java.sun.com/docs/books/tutorial/deployment/webstart/running.html"/>
10.<description kind="short">Example
JWS application</description>
11.<offline-allowed/>
12.</information>
13.<resources>
14.<jar href="/myclasses.jar"/>
15.<j2se version="1.3+"
16.href="http://java.sun.com/products/autodl/j2se"/>
17.</resources>
18.<application-desc main-class="kz.hellojws.MainClass"/>
19.</jnlp>
Данный пример наглядно показывает:
- как создается
ссылка http://localhost:8080/HelloJWS .
- как классы упакованы в архив "myclasses.jar",
основного класса приложения " kz.hellojws.MainClass ".
Далее
копирую классы приложения
в корень веб-приложения, как в
файле конфигурации. Классы приложения
находятся в корневом каталоге
веб-приложения, т.е. в пакете. После этого копирую Java Web Start библиотеку "Lib"-
папку веб-приложения, которые
являются частью JSE, находящиеся в папке JAVA_HOME\sample\jnlp\servlet). Все файлы должны быть помещены в
"Lib"- папку веб-приложения:
jardif.jar
JNLP-servlets.jar
jnlpi.jar
Далее добавляю файл web.xml, чтобы запустить
веб-приложение.
Файл должен быть помещен в WEB-INF папку
веб-приложения.
01.<?xml version="1.0" encoding="ISO-8859-1"?>
02.
03.<!DOCTYPE web-app
04.PUBLIC "-//Sun Microsystems, Inc.//DTD
Web Application 2.3//EN"
05."http://java.sun.com/dtd/web-app_2_3.dtd">
06.
07.<web-app>
08.<mime-mapping>
09.<extension>jnlp</extension>
10.<mime-type>application/x-java-jnlp-file</mime-type>
11.</mime-mapping>
12.<mime-mapping>
13.<extension>jar</extension>
14.<mime-type>application/x-java-archive</mime-type>
15.</mime-mapping>
16.<mime-mapping>
17.<extension>jardif</extension>
18.<mime-type>application/x-java-archive-diff</mime-type>
19.</mime-mapping>
20.
21.</web-app>
Следующий этап
заключается в добавлении веб страницы index.html.
Этот файл отвечат за
запуск в Java Web Start
приложения, с помощью конфигурации:
1.<?xml version="1.0" encoding="ISO-8859-1"?>
2.<html>
3.<head><title>Demo Test of Java Web
Start</title></head>
4.<body>
5.<center><a href="/helloJWS.jnlp">Запустить
JWS</a></center>
6.</body>
Данная технология позволяет запускать интересующие
клиентам приложения прямо с веб-сайта.
Все необходимые части Java-приложения, и прочие ресурсы будут также загружены.
Литература:
Секреты программирования
для Internet на Java Томас
М., Пател П., Хадсон А., Болл Д.
Программирование для Web
Холл, Марти, Браун, Лэрри.
Java 2. Том 2. Тонкости
программирования Хорстманн К. С., Корнелл Г
http://ru.wikipedia.org/wiki/Java
http://ru.wikipedia.org/wiki/Java_Web_Start
http://ru.wikipedia.org/wiki/JBoss_Application_Server