
- •JAVA-ТЕХНОЛОГИЯ
- •Средства Web-программирования в Java
- •Java Servlet API
- •Альтернативы сервлетам
- •Преимущества сервлетов
- •Контейнеры сервлетов
- •Жизненный цикл сервлета
- •Java Servlet API(1/2)
- •Java Servlet API(1/2)
- •Пример(1/4)
- •Пример(2/4)
- •Пример(3/4)
- •Пример(4/4)
- •Неудобство при использовании сервлетов
- •Java Server Pages (JSP)
- •Преимущества перед ASP
- •JSP-страница
- •Пример JSP-страницы
- •Запуск примера
- •Java Web Start
- •Структура файла .jnlp
- •Разработка Jаva Web Start- приложения
- •Java Web-сервисы
- •Распределенные приложения в Java Enterprise Edition
- •Распределенные приложения в JEE
- •Клиентские приложения в JEE
- •Взаимодействие JEE-клиентов
- •Поддержка Web-сервисов в JEE
- •JAX-RPC – механизм построения и использования Web-сервисов
- •Взаимодействие между JAX-RPC клиентом и Web-сервисом
- •Интерфейс HelloService
- •Его реализация HelloImpl
- •Конфигурационный файл для генерации Web-сервиса (config-interface.xml)
- •Генерация и использование Web- сервиса
- •Взаимодействие клиента и сервера в JAX-RPC
- •Web-сервисы в Java EE 6 (GlassFish 3.0)
- •Виды Web-сервисов в JEE 6
- •JAX-WS Web-сервисы
- •JAX-WS Web-сервисы
- •JAX-WS Web-сервисы
- •Пример JAX-WS клиента
- •Пример JAX-WS клиента
- •Использование JAX-RS аннотаций
- •Использование JAX-RS аннотаций
- •Использование аннотаций для методов запроса
- •Использование аннотаций для

Структура файла .jnlp
(C) В.О. Сафонов. 2013

Разработка Jаva Web Start- приложения
Test.java – любое Java-приложение, например, использующее Swing или AWT
Формирование архива:
jar cvf test.jar Test.class
Создание хранилища ключей:
keytool -genkey -keystore myKeys -alias jdc
Генерация цифровой подписи для jar-архива
jarsigner -keystore myKeys *.jar jdc
Создание .jnlp-файла (см. предыдущий слайд)
Сохранение .jnlp-файла под именем test.jnlp на локальном Web-сервере (в document root)
Создание .html-файла (test.html) со ссылкой на .jnlp-файл
Просмотр test.html в браузере (никаких специальных настроек не требуется)
Клик по ссылке на test.jnlp -> Запуск Java-приложения через
(C)В.О. Сафонов. 2013
Java Web Start

Java Web-сервисы
Концепция Java Web Service сложилась в 2002-2003 г. (под влиянием .NET)
Более ранние технологии: Java Server Pages, Java Servlet API
Особенности Web-сервисов: соответствие стандартам WSDL (Web Service Definition Language); SOAP (Simple Object Access Protocol) и совместимость друг с другом, независимо от платформы, использованной для реализации (Java, .NET и др.)
Java Web Services Developer Pack – инструмент построения Java Web Services в JDK 1.5, 1.6
В настоящее время происходит переход на разработку Java Web Services на платформе GlassFish (проект по разработке сервера приложений для Java Enterprise Edition)
(C)В.О. Сафонов. 2013

Распределенные приложения в Java Enterprise Edition
Многоуровневая архитектура (multi-tiered architecture) и компонентно-ориентированная архитектура современных приложений
Уровни приложений в JEE:
клиентский уровень (client tier) – компоненты исполняются на клиентской машине
Web-уровень (Web tier) – компоненты исполняются на JEE- сервере; сервлеты, Java Server Pages
бизнес-уровень (business tier) - компоненты исполняются на JEE-сервере; Enterprise Java Beans (EJB)
уровень информационной системы предприятия (enterprise information system (EIS) tier) – компоненты исполняются на EIS-сервере (сервере баз данных)
JEE-сервер обеспечивает JEE-контейнеры для каждого
клиентского приложения(C) В.О. Сафонов. 2013

Распределенные приложения в JEE
(C) В.О. Сафонов. 2013

Клиентские приложения в JEE
Web-клиент (или: тонкий клиент, thin client):
динамические Web-страницы, генерируемые компонентами Web-уровня, и Web-браузер, интерпретирующий и изображающий переданные клиенту страницы
Апплет
Клиентское приложение (application client) –
исполняется на клиентской машине и обеспечивает более полнофункциональный (rich) GUI, чем интерфейс тонких клиентов, обеспечиваемый HTML/XML. Обычно используют Swing или AWT
(C)В.О. Сафонов. 2013

Взаимодействие JEE-клиентов
с
JEE-сервером
(C) В.О. Сафонов. 2013

Поддержка Web-сервисов в JEE
XML – основа для взаимодействия Web-клиента с Web-сервисом
SOAP – стандарт для передачи сообщений в форме XML envelopes (конвертов) через HTTP
WSDL – стандарт для представления информации об интерфейсе Web- сервиса
UDDI (Universal Discovery, Description and Integration) – стандарт для публикации Web(C) В.-Осервисов. Сафонов. 2013 и доступа к

JAX-RPC – механизм построения и использования Web-сервисов
Java API for XML-based RPC
RPC – Remote Procedure Call; удаленный вызов процедуры – механизм, предложенный и реализованный Sun; основан на использовании proxy-классов и proxy-объектов
JAX-RPC: Удаленный вызов процедуры представляется в XML-формате по стандарту SOAP (как SOAP-конверт). Аналогично представляется и ответ (результат) процедуры
Преимущество: независимость передаваемых сообщений от Java
(C)В.О. Сафонов. 2013

Взаимодействие между JAX-RPC клиентом и Web-сервисом
(C) В.О. Сафонов. 2013