Модуль 1. Java Platform, Enterprise Edition
Платформа Java EE. Потребности разработчиков корпоративных приложений. Спецификации Java EE. Сравнение сервисов и библиотек. Уровни и архитектура приложений Java EE.
Модуль 2. Инструменты и приложения для разработки предприятий
Назначение сервера приложений. Свойства компонентов Java EE. Процесс разработки приложений Java EE. Настройка и развертывание приложений Java EE.
Модуль 3. Java-компоненты, аннотации и ведение журнала
Функции Java SE в приложениях Java EE. Создание компонентов JavaBeans-объектов. POJO-объекты. Использование ведения журнала. Использование общих аннотаций Java. Разработка пользовательских аннотаций. Роль аннотаций в приложениях Java EE.
Модуль 4. Программирование XML с JAXB
Преимущества XML. Пространства имен и схемы XML. Java XML API. JAVA XML Binding API (JAXB). Чтение и запись XML-документов с помощью JAXB. xjc: компилятор привязки JAXB. Аннотации JAXB.
Модуль 5. Веб-службы SOAP с JAX-WS
Обзор SOAP. Обзор файлов WSDL. Сравнение подходов проектирования WSDL-first и code-first. Написание веб-службы JAX-WS. Создание WSDL из класса Java. Создание клиентов веб-службы JAX-WS.
Модуль 6. Службы именования и каталогов Java (JNDI)
Что такое JNDI? Концепции службы именования. Понятия службы каталогов. Пакеты JNDI. Использование JNDI для поиска компонентов JDBC и EJB в Java EE.
Модуль 7. Компонентная модель EJB
Роль компонентов EJB в приложениях Java EE. Роль контейнера EJB. Изменения EJB в Java EE 7. Локальные, распределенные и неклиентские представления клиентского доступа EJB. Типы сеансов EJB. Безгосударственный, статусный и одноэлементный EJBs. Упаковка и развертывание сеансовых компонентов.
Модуль 8. Контексты и внедрение зависимостей
Что такое инъекция зависимости? Использование квалификаторов. Bean. XML-файл и альтернативы. Использование производителей и утилизаторов. Использование перехватчиков. Использование событий и стереотипов.
Модуль 9. Служба Сообщений Java
Что такое служба сообщений Java? Зачем нам OMS? Обзор JMS. Архитектура обмена сообщениями точка-точка. Публикация/подписка - архитектура обмена сообщениями. Сообщение производителей и потребителей. Очереди и темы. Постоянные и временные подписки.
Модуль 10. Управляемые сообщениями компоненты
Жизненный цикл компонента, управляемого сообщениями. Создание управляемого сообщениями компонента. Создание обработчиков жизненного цикла для компонентов, управляемых сообщениями. Настройка компонента, управляемого сообщениями.
Модуль 11. Параллелизм Java EE
Параллелизм в Java EE. Асинхронные Объекты EJB. Управляемые исполнители.
Модуль 12. JDBC в средах Java EE
Обзор API JDBC. Использование CDI для внедрения ресурса JDBC в компонент Java EE. Шаблон объекта доступа к данным.
Модуль 13. Транзакции в средах Java EE
Что такое семантика транзакций? Сравнение области действия программных и декларативных транзакций. Использование JTA для программной области транзакций. Реализация политики транзакций, управляемой контейнером с помощью объявлений. Управление распространением транзакций, управляемых контейнером.
Модуль 14. Интерфейс API сохранения состояния Java
Объектно-реляционное сопоставление. Сущности и менеджер сущностей. Настойчивость контекстах и сохраняемость узлов. Создание, чтение, обновление и удаление операций с JPA. Создание типизированных запросов в JPA с JPQL.
Модуль 15. Проверки компонентов с помощью JPA
Что такое проверка bean? Этапы жизненного цикла JPA, на которых выполняется проверка. Использование встроенных ограничений проверки. Создание пользовательского ограничения проверки компонента. Программная проверка путем введения валидатора. Использование групп проверки.
Модуль 16. Таймер и пакетные службы
Что такое службы таймера? Программные и автоматические таймеры. Что такое пакетная обработка? Задания, шаги и куски. Пакетные примеры.
Модуль 17. Безопасность
Аутентификация, авторизация и конфиденциальность. Примените безопасность Java EE с помощью дескрипторов развертывания. Создание пользователей и групп и сопоставление их ролям. Определение возможных векторов атаки веб-сервиса.