Тема 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 по проверке данных пользователя