Модуль 1. Обзор платформы Enterprise Edition. Типы корпоративных приложений
Обзор и возможности платформы Enterprise Edition. Сравнение Java SE и EE платформ.
Введение в основные технологии платформы EE: Servlet API/JSP, EJB, JMS, JPA, JAX-WS, JAX-RS.
Обзор JavaEE-серверов приложений. Выбор сервера приложений для разработки и развертывания приложений.
N-уровневая архитектура.
Структура enterprise-приложения.
Использование среды разработки для создания приложения и развертывания на сервере приложений.
Возможности по конфигурированию сервера приложений.
Создание Web-приложений. Работа с Web-компонентами различных типов. Обработка HTTP запросов, перенаправление запросов, формирование ответов от сервера, работа с сессией. Создание и применение фильтров (Servlet Filter).
Работа с ресурсами различных типов, конфигурирование ресурсов на сервере приложений. Использование аннотаций для внедрения ресурсов.
Лабораторная работа: Установка/конфигурирование сервера приложений и среды разработки. Создание веб-приложения и развертывание приложения на сервере. Использование ресурсов в веб-приложении.
Модуль 2. Технология Enterprise JavaBeans (EJB). Создание Web-приложений с использованием EJB-компонентов.
Обзор технологии EJB.
Типы EJB-компонентов. Использование различных типов EJB-компонент в enterprise-приложениях.
Компоненты типа Session. Виды Session компонент: Stateless, Singleton, Stateful. Выбор вида Session-компонента в enterprise-приложении.
Использование аннотаций для создания компонент типа Session. Методы компонента. Использование бизнес-интерфейсов: локальный, удаленный, представление без интерфейса.
Жизненный цикл Session-компонент различных видов. Методы обратного вызова.
Доступ к EJB компонентам: внедрение зависимостей через аннотации, использование JNDI lookup.
Использование ресурсов в EJB-компонентах.
Взаимодействие Web-компонент и EJB-компонент.
Лабораторная работа: Создания web-приложения c использованием EJB-компонент и взаимодействием с БД.
Модуль 3. Технология JMS и Message-Driven Bean компоненты
Архитектура JMS. Типы и структура JMS сообщений.
API JMS для отправки/получения сообщений: использование queue и topic.
Создание и работа с JMS-ресурсами на сервере приложений.
Использование Message-Driven Bean (MDB) компонентов для обработки сообщений.
Лабораторная работа: Реализация клиента для отправки сообщений, использование MDB-компонентов для обработки сообщений.
Модуль 4. Технология JPA (Java Persistence API). Управление транзакциями. JTA API для поддержки транзакций
Основные понятия Java Persistence API.
API JPA: Entity, EntityManager - интерфейс основных операций. Использование EntityManager для выполнения операций с Entity-объектом. Жизненный цикл Entity объекта.
Использование JPQL (Java Persistence query language)
Управление транзакциями. Понятие транзакции. Java Transaction API (JTA API) для поддержки транзакций.
Использование CMT и BMT в EJB-компонентах. Локальные и глобальные транзакции. Использование java.sql.DataSource и java.sql.XADataSource при работе с транзакциями.
Лабораторная работа: Создание приложения с использованием транзакций и EJB-компонент.
Модуль 5. Использование многопоточности в корпоративных приложениях. Асинхронные вызовы методов EJB-компонент
Использование EE Concurrency API для выполнения асинхронных задач и получения результатов задач. Основные интерфейсы API и варианты использования.
Использование асинхронных методов EJB-компонентов для выполнения задач в отдельном потоке. Аннотации для методов и классов компонент.
Использование службы таймеров (EJB Timer Service) для выполнения задач по расписанию.
Лабораторная работа: Создание приложения для реализации периодической задачи с использованием Concurrency API и EJB-компонентов.
Модуль 6. Создание SOAP и REST веб-служб(JAX-WS,JAX-RS API)
SOAP веб-сервисы. Основные понятия SOAP и структура SOAP-сообщения.
Использование JAX-WS API для создания SOAP веб-сервисов. Создание клиента для взаимодействия с SOAP веб-сервисом.
Создание SOAP веб-сервиса на основе EJB-компонента.
REST веб-сервисы. Основы REST-архитектуры программного обеспечения для распределенных систем.
Использование JAX-RS API для создания REST веб-сервисов. Создание клиента для взаимодействия с REST веб-сервисом.
Подходы к тестированию веб-сервисов - использование различных инструментов для проверки работы сервиса.
Лабораторная работа: Создание клиента и веб-сервиса. Создание веб-сервиса на основе EJB-компонента.
Модуль 7. API для работы c документами в формате JSON (JSON Processing, JSON Binding API)
JSON формат. Основные API для работы с JSON-документами в enterprise-приложении.
JSON Binding API.
JSON Processing API. Использование Streaming API для разбора JSON-документов.
Лабораторная работа: Создание интеграционного приложения для обработки документа в формате JSON c последующим сохранением данных.
Модуль 8. Безопасность корпоративных приложений
Основные понятия. Безопасность web-приложений. Аутентификация и авторизация в enterprise-приложениях. Использование конфигурации для настройки безопасности приложений.
Использование EE Security API. Разграничение прав доступа в enterprise-приложении.