Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Астана, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

кол-во дней: 5
кол-во часов: 40
код курса: JEE6DWS

Данный курс охватывает проектирование и создание 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.