Java EE 6: Develop Web Services with JAX-WS & JAX-RS

Продолжительность курса — 5 дней

Описание Услуги

Данный курс охватывает проектирование и создание SOAP и RESTful web сервисов и клиентов. Слушатели используют интегрированную среду разработки (IDE) NetBeans для создания JAX-WS и JAX-RS web сервисов и их развертывания на Oracle WebLogic Server 12c. Большинство рассмотренных тем переносимы на случай любых серверов приложений, поддерживающих стандарты Java EE 6 web сервисов.

01. Цель курса

  • Применение 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

02. Слушатели изучают

  • Создание 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

03. Аудитория

  • Разработчики J2EE
  • Разработчики Java
  • Разработчики Java EE

Содержание курса

01. Введение в Web сервисы

Зачем нужны web сервисы. Определение web сервисов. Характеристики web сервиса. Применение XML и JSON в web сервисах. Два основных подхода к разработке web сервисов. Преимущества разработки web сервисов в Java EE контейнере.

02. XML

Достоинства XML. Создание XML декларации. Сбор компонент XML документа. Декларирование и использование пространств имен XML. Валидация XML документов с помощью XML Schema. Создание XML Schema.

03. JAXB

Обзор различных Java XML APIs. Достоинства JAXB. Демаршализация XML данных с помощью JAXB. Маршализация XML данных с помощью JAXB. Компилирование XML Schema для Java. Генерирование XML Schema из Java классов. Применение аннотаций JAXB связывания. Создание External Binding Configuration Files.

04. SOAP Web сервисы

Структура SOAP сообщения. Использование WSDL файлов для определения web сервисов. WS-I базовый профиль и WS-Policy.

05. Создание 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).

06. RESTful Web сервисы

RESTful архитектура и ее применение к web сервисам. Проектирование RESTful web сервиса и определение ресурсов. Управление a RESTful web сервисом с использованием hypermedia. Выбор правильного HTTP метода в случае, когда нужно избегать дублирования запросов. Определение статуса результата Web сервиса по коду HTTP отклика. Версионирование RESTful web сервисов.

07. Создание RESTful клиентов в Java

Использование Java SE APIs для осуществления HTTP запросов. Использование Jersey клиентских APIs для осуществления HTTP запросов. Обработка XML и JSON на клиенте RESTful web сервиса.

08. Bottom-Up JAX-WS Web сервисы

Преимущества Code First Design. Создание JAX-WS POJO конечных точек. Создание JAX-WS EJB конечных точек.

09. Top-Down JAX-WS Web сервисы

Преимущества WSDL First Design. Генерирование интерфейсов конечных точек сервиса (SEI) с помощью WSDL. Реализация интерфейсов конечных точек сервиса. Настройка генерирования SEI.

10. JAX-RS RESTful Web сервисы

Загрузка, установка и конфигурирование Jersey. Создание подклассов приложения. Создание классов ресурсов. Создание методов ресурсов, методов субресурсов и методов локаторов субресурсов. Производство и потребление XML и JSON контента с помощью JAX-RS.

11. Обработка ошибок в Web сервисах

Каким образом SOAP web сервисы сообщают об ошибках. Каким образом REST web сервисы сообщают об ошибках. Возвращение ошибок SOAP. Возвращение HTTP кода состояния ошибки. Соответствие выброшенных исключений HTTP кодам состояния. Обработка ошибок с помощью SOAP кдиентов. Обработка ошибок с помощью Jersey клиентов.

12. Концепции безопасности

Что такое аутентификация, авторизация и конфиденциальность. Применение Basic Java EE Security с использованием дескрипторов развертывания (web.xml). Создание пользователей и групп и сопоставление им ролей приложений. Определение возможных направлений атак на web сервисы.

13. WS-Security

Предназначение WS-Policy, WS-SecurityPolicy, WS-Security. Конфигурирование WebLogic сервера для WS-Security. Применение WS-Policy к WebLogic JAX-WS Web сервисам. Подпись и шифрование SOAP сообщений с помощью WS-Security.

14. Обеспечение безопасности Web сервисов с помощью Jersey

Применение аннотаций безопасности JSR-250, таких, как @RolesAllowed. Включение набора фильтров с помощью RolesAllowedResourceFilterFactory. Получение SecurityContext и обеспечение безопасности программным образом. Аутентификация с помощью Jersey Client API.

15. OAuth 1.1a с использованием Jersey

Предназначение OAuth. Жизненный цикл запроса при использовании OAuth. Создание сервисов с включенным OAuth с помощью Jersey. Создание клиентов с включенным OAuth с помощью Jersey.