Описание курса
Данный курс охватывает проектирование и создание 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.
Аудитория:
- Разработчики J2EE
- Разработчики Java
- Разработчики Java EE
Цель курса:
- Применение 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 сервисов
Предварительная подготовка:
- Java SE7 Fundamentals
- Java SE 7 Programming
- Рекомендуемая предварительная подготовка:
- Java SE 7: Develop Rich Client Applications
- Java Design Patterns
Содержание курса:
• Введение в 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