Данный курс охватывает проектирование и создание SOAP и RESTful web сервисов и клиентов. Слушатели используют интегрированную среду разработки (IDE) NetBeans для создания JAX-WS и JAX-RS web сервисов и их развертывания на Oracle WebLogic Server 12c. Большинство рассмотренных тем переносимы на случай любых серверов приложений, поддерживающих стандарты Java EE 6 web сервисов.
Слушатели изучают:
-
Создание XML документов и XML схем с использованием пространств имен XML
-
Производство и потребление XML и JSON контента с помощью JAXB
-
WSDL файлы и их значение для Web сервисов, основанных на SOAP, а также выбор между top-down (WSDL first) или bottom-up (code first) подходами к разработке SOAP web сервисов
-
Осуществление запросов к web сервисам, основанным на стандартах SOAP, и их реализация с помощью JAX-WS (Metro Stack)
-
Реализация REST практик при создании web сервисов с использованием JAX-RS спецификации (Jersey Stack)
-
Обеспечение безопасности Web сервисов с помощью Java EE стандартов безопасности, расширений WS-Security и OAuth 1.0a
Необходимая предварительная подготовка:
-
Java SE7 Fundamentals
-
Java SE 7 Programming
Рекомендуемая предварительная подготовка:
-
Java SE 7: Develop Rich Client Applications
-
Java Design Patterns
Цель курса:
-
Применение JAX-WS API при создании SOAP Web сервисов и клиентов
-
Применение the JAX-RS API при создании RESTful Web сервисов
-
Обеспечение безопасности Web сервисов с помощью WS-Security, Jersey и OAuth
-
Обработка ошибок и исключений в Web сервисах и клиентах
-
Создание XML документов с использованием деклараций пространств имен и XML Schema
-
Производство и потребление XML и JSON контента с помощью JAXB
-
Создание клиентов RESTful Web сервисов с помощью Jersey Client API
-
Понимание роли Web сервисов
Аудитория курса:
-
Разработчики J2EE
-
Разработчики Java
-
Разработчики Java EE
Введение в Web сервисы
-
Зачем нужны web сервисы.
-
Определение web сервисов.
-
Характеристики web сервиса.
-
Применение XML и JSON в web сервисах.
-
Два основных подхода к разработке web сервисов.
-
Преимущества разработки web сервисов в Java EE контейнере.
XML
-
Достоинства XML.
-
Создание XML декларации.
-
Сбор компонент XML документа.
-
Декларирование и использование пространств имен XML.
-
Валидация XML документов с помощью XML Schema.
-
Создание XML Schema.
JAXB
-
Обзор различных Java XML APIs.
-
Достоинства JAXB.
-
Демаршализация XML данных с помощью JAXB.
-
Маршализация XML данных с помощью JAXB.
-
Компилирование XML Schema для Java.
-
Генерирование XML Schema из Java классов.
-
Применение аннотаций JAXB связывания.
-
Создание External Binding Configuration Files.
SOAP Web сервисы
-
Структура SOAP сообщения.
-
Использование WSDL файлов для определения web сервисов.
-
WS-I базовый профиль и WS-Policy.
Создание JAX-WS клиентов
-
Средства генерирования артефактов JAX-WS клиента.
-
Вызов SOAP web сервисов с помощью JAX-WS в a Java SE окружении.
-
Вызов SOAP web сервисов с помощью JAX-WS в a Java EE окружении.
-
Использование настроек JAXB связывания SOAP web сервисом.
-
Создание JAX-WS Dispatch клиента.
-
Создание клиента, пользующегося услугами сервисов со включенным WS-Policy (WS-MakeConnection).
RESTful Web сервисы
-
RESTful архитектура и ее применение к web сервисам.
-
Проектирование RESTful web сервиса и определение ресурсов.
-
Управление a RESTful web сервисом с использованием hypermedia.
-
Выбор правильного HTTP метода в случае, когда нужно избегать дублирования запросов.
-
Определение статуса результата Web сервиса по коду HTTP отклика.
-
Версионирование RESTful web сервисов.
Создание RESTful клиентов в Java
-
Использование Java SE APIs для осуществления HTTP запросов.
-
Использование Jersey клиентских APIs для осуществления HTTP запросов.
-
Обработка XML и JSON на клиенте RESTful web сервиса.
Bottom-Up JAX-WS Web сервисы
-
Преимущества Code First Design.
-
Создание JAX-WS POJO конечных точек.
-
Создание JAX-WS EJB конечных точек.
Top-Down JAX-WS Web сервисы
-
Преимущества WSDL First Design.
-
Генерирование интерфейсов конечных точек сервиса (SEI) с помощью WSDL.
-
Реализация интерфейсов конечных точек сервиса.
-
Настройка генерирования SEI.
JAX-RS RESTful Web сервисы
-
Загрузка, установка и конфигурирование Jersey.
-
Создание подклассов приложения.
-
Создание классов ресурсов.
-
Создание методов ресурсов, методов субресурсов и методов локаторов субресурсов.
-
Производство и потребление XML и JSON контента с помощью JAX-RS.
Обработка ошибок в Web сервисах
-
Каким образом SOAP web сервисы сообщают об ошибках.
-
Каким образом REST web сервисы сообщают об ошибках.
-
Возвращение ошибок SOAP.
-
Возвращение HTTP кода состояния ошибки.
-
Соответствие выброшенных исключений HTTP кодам состояния.
-
Обработка ошибок с помощью SOAP кдиентов.
-
Обработка ошибок с помощью Jersey клиентов.
Концепции безопасности
-
Что такое аутентификация, авторизация и конфиденциальность.
-
Применение Basic Java EE Security с использованием дескрипторов развертывания (web.xml).
-
Создание пользователей и групп и сопоставление им ролей приложений.
-
Определение возможных направлений атак на web сервисы.
WS-Security
-
Предназначение WS-Policy, WS-SecurityPolicy, WS-Security.
-
Конфигурирование WebLogic сервера для WS-Security.
-
Применение WS-Policy к WebLogic JAX-WS Web сервисам.
-
Подпись и шифрование SOAP сообщений с помощью WS-Security.
Обеспечение безопасности Web сервисов с помощью Jersey
-
Применение аннотаций безопасности JSR-250, таких, как @RolesAllowed.
-
Включение набора фильтров с помощью RolesAllowedResourceFilterFactory.
-
Получение SecurityContext и обеспечение безопасности программным образом.
-
Аутентификация с помощью Jersey Client API.
OAuth 1.1a с использованием Jersey
-
Предназначение OAuth.
-
Жизненный цикл запроса при использовании OAuth.
-
Создание сервисов с включенным OAuth с помощью Jersey.
-
Создание клиентов с включенным OAuth с помощью Jersey.