+7 (812) 703-02-02 info@hse.spbstu.ru

DEV-J210. Java EE. Разработка web сервисов

Длительность дисциплины: 24 ак.ч.


Аннотация

Целью реализации программы является формирование знаний, умений и навыков в области разработки XML based web services на базе платформы Java SE 7.

Знания и умения, полученные в результате изучения

В результате освоения программы обучающийся должен уметь:
• разрабатывать относительно несложные веб-сервисы на основе JAX-WS;
• разрабатывать относительно несложные веб-сервисы на основе JAX-RS;
• разрабатывать клиентские приложения для веб-сервисов;
• разворачивать и запускать приложения, включающие в себя веб-сервисы.

В результате освоения программы обучающийся должен знать:
• основные принципы функционирования веб-сервисов;
• основные технологии платформы Java EE, используемое при разработке веб-сервисов;
• основы разработки веб-сервисов, их развёртывания и запуска;
• основы разработки клиентов веб-сервисов, а также способы их развёртывания и запуска;
• основные настройки веб-сервисов и их клиентов.

В результате освоения программы обучающийся должен приобрести практический опыт:
• разработки веб-сервисов на платформе Java EE;
• настройки, развёртывания и запуска веб-сервисов и их клиентов.


Содержание дисциплины

Тема 1. Введение
1.1 Определение веб-сервиса
Понятие веб-сервиса. 
Отличия веб-сервиса от других видов веб-приложения. 
Основные особенности разработки веб-сервисов на языке Java
1.2 Обзор ключевых технологий
Протокол HTTP. 
Роль и значение XML. 
Протокол SOAP, Язык определения  веб-сервисов WSDL
1.3 Использование XML
Технология Java и XML. 
Структура XML документа. 
Основные элементы XML документа. 
Определение схемы XML документа. 
Разбор XML документа с использованием SAX. 
Основные классы и интерфейсы пакета javax.xml. 
Основные классы и интерфейсы пакета org.xml.sax. 
Разбор XML документа с использованием DOM. 
Основные классы и интерфейсы пакета org.w3c.dom. 
Основные отличием между DOM и SAX. 
Разбор XML документа на основе JAXB. 
Сериализация (маршаллинг) и десериализация (анмаршаллинг) данных.
1.4 Основные сведения о протоколе SOAP
Назначение и основные свойства протокола SOAP. 
Структура сообщения. 
CRUD операции над объектами. 
SOAP. 
Коды ошибок. 
Проверка корректности SOAP-сообщений.
1.5 Общее понятие о WSDL
Назначение и роль WSDL. 
Основные компоненты. 
Модель WSDL. 
Организация данных дочерних элементов. 
Верификация модели. 
Создание схемы. Импорт WSDL и схемы.
Практические занятия
1. практическое создание проекта для разработки веб-сервиса в IDE NetBeans 
2. разбор XML документа на основе SAX
3. разбор XML документа на основе DOM
4. разбор XML документа на основе JAXB
5. передача и приём SOAP сообщения
6. разбор файла с описанием WSDL

Тема 2. Разработка сервиса JAX-WS
2.1 Введение в JAX-WS
Назначение и основные особенности веб-сервисов JAX-WS. 
Проектирование сервиса. 
Основные аннотации, классы и интерфейсы. 
Ограничения на реализации классов. 
Поддерживаемые типы данных
2.2 Разработка сервиса JAX-WS
Определение экспортируемого интерфейса. 
Основные аннотации пакета javax.jws. 
Требования к интерфейсу сервиса. 
Интерфейс Provider и Provider API. 
Разработка основных и вспомогательных классов сервиса. 
Синхронная и асинхронная обработка сообщений.  
Развёртывание и запуск сервиса
2.3 Разработка клиентской части сервиса JAX-WS
Особенности разработки клиентской части сервиса. 
Создание клиентов веб-сервиса из WSDL. 
Развертывание клиентской части сервиса. 
Выполнение клиента веб-сервиса
2.4 Обработка событий
Разработка классов-обработчиков событий. 
Практические занятия
1. Разработка веб-сервиса JAX-WS, представляющего сервис управления данными пользователей.

Тема 3. Разработка сервиса JAX-RS
3.1 Введение в JAX-RS
Назначение и основные особенности веб-сервисов JAX-RS. 
Основные соглашения и ограничения REST. 
Проектирование сервиса. 
Обзор пакета javax.ws.rs. 
3.2 Разработка сервиса JAX-RS
Определение класса, представляющего основной ресурс.  
Аннотация @Path. Аннотации @Post, @Get, @Put и @Delete. 
Дочерние ресурсы. 
Локаторы ресурсов. 
Извлечение и обработка параметров запроса. 
Поддерживаемые типы данных. 
Аннотации @Consumes и @Produces. 
Формирование ответа на запрос. 
Интерфейс Response. 
3.3 Конфигурирование сервиса
Конфигурирование сервиса с помощью класса Application. Настройка сервиса с использованием файла web.xml. Развёртывание и запуск сервиса
3.4 Разработка клиентской части сервиса JAX-RS
Особенности разработки клиентской части сервиса. 
Создание запроса к сервису. 
Определение параметров запроса. 
Посылка запроса. 
Обработка результатов выполнения запроса. 
Синхронные и ассинхронные вызовы. 
Развертывание клиентской части сервиса. 
Выполнение клиента веб-сервиса
Практические занятия
1. Разработка веб-сервиса JAX-RS по проверке данных пользователя