Данный курс обеспечивает слушателей знаниями, необходимыми для разработки гибкой архитектуры корпоративных Java приложений с использованием технологии Java Platform, Enterprise Edition (Java EE). Корпоративные Java приложения, разработанные с использованием архитектуры в качестве руководства, допускают быстрые изменения и расширения. Слушатели знакомятся с техническим контекстом Java EE и соответствующих технологий и стратегий, необходимых для создания шаблонов приложений, хорошо работающих при реализации Java EE технологий. Эти стратегии включают эффективное принятие решений путем использования не-функциональных качеств (таких как масштабируемость и гибкость), шаблоны Java EE технологии и шаблоны проектирования. Курс может оказаться полезным для: разработчиков, ответственных за общую архитектуру программного обеспечения и проектирование систем корпоративного программного обеспечения, основанное на Java EE технологии, для разработчиков, желающих понять роль корпоративного архитектора и применять Java EE технологии в n-уровневых корпоративных системах, для архитекторов, желающих научиться применять Java EE технологии для улучшения качества сервисов в их корпоративных системах, а также для разработчиков архитектуры, желающих подготовиться к экзамену Oracle Certified Enterprise Architect.

Слушатели обучаются:

Необходимая предварительная подготовка:

Предполагаемая предварительная подготовка:

Аудитория курса:

Программа

Введение в 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.