В курсе "EJB 3.2, JPA 2.2 – технология разработки бизнес компонентов в Java EE8"основное внимание уделяется рассмотрению новой модели программирования бизнес-компонентов с применением новой спецификации Java Enterprise Edition 8, изучаются компоненты EJB 3.2, CDI 2.0, JPA 2.2, REST и SOAP web сервисы, работа с JSON: JSON-P, JSON-B, WebSocket 1.1, JMS 2.0, поддержка транзакций, безопасность Java EE приложений.
Также дается обзор модели безопасности Java EE8 и введение в асинхронные системы JMS и Message-Driven Beans. Большое количество примеров ориентирует внимание на практическое использование EJB при разработке корпоративных систем.
Курс рассчитан как на аудиторию, знакомую с основными принципами и моделью программирования Java Enterprise Edition, так и на начинающих изучение со спецификации Java EE8.
Перед прослушиванием этого курса рекомендуется изучить курсы:
При изучении курса используются IDE IntelliJ IDEA и NetBeans.
Программа курса
1. Введение в EJB
- Использование EJB, компонентный подход к разработке программного обеспечения.
- Типы EJB.
- Преимущества применения EJB.
- Когда применять EJB?
2. Нововведения Java EE8, сервер GlassFish 5 и Payara, архитектура.
- История спецификации EJB, от EJB 2.0/2.1 к EJB 3.0 и EJB 3.2.
- Сервер приложений GlassFish 5.
- Новое в Java EE7: обновление спецификаций EJB и JPA, JSON, WebSocket, Concurrency Utilities, Batch processing, JMS 2.0.
- Новые спецификации Java EE8: Java EE Security API 1.0, JSON-B 1.0.
- Новое в Java EE8: обновление спецификаций: JSF 2.3, CDI 2.0, JPA 2.2, Bean Validation 2.0, JSON-P 1.1, JAX-RS 2.1, WebSocket 1.1, Servlet 4.0.
- Профили в спецификации Java EE8: Full profile и Web profile, EJB 3.2 Lite.
- Нововведения EJB 3.2.
- Бизнес-интерфейсы, Local и Remote.
- CDI - внедрение зависимостей и JNDI.
- Callback (обратные вызовы) методы и Interceptors (перехватчики) вызовов бизнес методов.
- Упаковка, конфигурирование и размещение Enterprise приложений.
3. EJB 3.2 Session Beans
- Модель Session Beans: бизнес интерфейс и класс Session Bean.
- Соглашения об именовании, глобальное именование (Global JNDI names).
- Асинхронный вызов, встроенные контейнеры.
- Применение аннотаций для создания Session Beans.
- Stateless Session Beans, создание, вызов, область применения.
- Singleton Session Beans, создание, вызов, область применения.
- Stateful Session Beans, их отличия, активация и пассивация, создание, вызов, область применения.
- Встраиваемый API контейнера.
- Лабораторная работа.
4. Цикл жизни EJB, Callback и Interceptors
- Цикл жизни Stateless Session Beans и Singletons.
- Цикл жизни Stateful Session Beans.
- Callback методы для Session Beans.
- Interceptors (перехватчики) вызовов бизнес методов.
- Лабораторная работа.
5. Клиенты для Session Beans
- Использование Enterprise Session Beans в клиентах.
- Синтаксис поиска ссылки на Bean в JNDI.
- Выбор между Local и Remote доступом.
- Local и Remote клиенты.
- Вызов EJB из другого EJB.
6. EJB 3.2 Timer service
- API для создания и управления EJB таймерами.
- Создание EJB Timer: программный и декларативный способ.
- Примеры приложений.
7. Работа с XML и JSON
- API для работы с JSON: JSON-P и JSON-B.
- Связывание данных и XML, спецификация JAXB 2.2.
8. Web-сервисы в Java EE8, новый API WebSocket 1.1
- RESTful web-сервисы по спецификации JAX-RS 2.1.
- Java API for WebSocket 1.1.
- Введение в Web-сервисы по спецификации JAX-WS 2.2.
9. Java Persistence API 2.2
- Модель POJO Persistence.
- Краткая история спецификации Java Persistence API, нововведения JPA 2.2.
- Базовые концепции Java Persistence API, Entities.
- Конфигурирование JPA, Persistence Unit, persistence.xml, генерация схемы БД.
- Требования к Entity (классам сущностей), первичные ключи в классах сущностей.
- Управление сущностями, Entity Manager API, Persistence Context.
- Поиск по первичному ключу, осуществление доступа к сущностям.
- Применение JPA-QL, именованные запросы, параметризованные запросы.
- Хранимые процедуры.
- Criteria Query API.
- Валидация сущностей, Bean Validation.
- Кэширование.
- Жизненный цикл Entity, методы обратного вызова жизненного цикла, Entity Listeners.
- Синхронизация с базой данных, прямое манипулирование данными сущностей.
- Транзакции и блокировки, оптимистическое блокирование, явная блокировка на чтение и запись.
- О механизме обнаружения конфликта транзакций.
- Особенности BLOB and CLOB типов.
10. Наследование и реляционные отношения в JPA
- Общие правила наследования Entities.
- Управление наследованием - аннотации.
- Стратегии наследования.
- Типы отношений между Entities.
- Однонаправленные и двунаправленные отношения.
- Отношение типа "Один-к-Одному".
- Отношение типа "Один-к-Многим" и "Многие-к-Одному".
- Отношение "Многие-к-Многим".
- Каскадирование операций.
11. Транзакции в Java EE
- Необходимость использования транзакций, принцип ACID, локальные и распределенные (XA) транзакции.
- Container-managed транзакции.
- Bean-managed транзакции.
- Client controlled транзакции.
- Изоляция транзакций.
12. Безопасность в Java EE
- Принципы обеспечения безопасности в Java EE.
- Принципалы и роли, Authentication и Authorization.
- Безопасность на уровне EJB - Declarative Security и Programmatic Security.
- Безопасность на уровне клиента EJB.
- Безопасность на уровне web сервисов.
- Java EE Security API 1.0.
13. Message Driven Beans и система передачи сообщений JMS 2.0
- Введение в JMS.
- Обеспечение надежности JMS приложений.
- Использование Message-Driven Beans (MDB) как клиента для JMS.
- Основные свойства MDB.
- Жизненный цикл MDB.
- Пример написания Message-Driven bean.
В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.
Программирование - это процесс создания инструкций для обработки информации центральным процессором.
Рынок IT – весь мир. Вы можете работать над иностранными проектами в аутсорсинговых российских компаниях, уехать работать в иностранную компанию или же трудиться на фрилансе из любой точки мира с заказчиками из разных стран. Профессия программиста открывает самые широкие возможности.
Учебный центр « Интерфейс» представляет авторские курсы для начинающих и опытных программистов, администраторов и разработчиков баз данных.
Практические занятия, преподаватели-эксперты и система посттренинговой поддержки — залог того, что Вы получите качественные и актуальные знания!
Наши курсы дают знания и навыки, необходимые для разработки программного обеспечения, драйверов устройств, современных web-приложений, информационных систем.
Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.
- Нужна помощь в поиске курса?
Наша цель заключается в обеспечении подготовки специалистов, когда и где им это необходимо. Возможна корректировка программ курсов по желанию заказчиков! Мы расскажем Вам о том, что интересует именно Вас, а не только о том, что жестко зафиксировано в программе курса. Если вам нужен курс, который вы не видите на графике или у нас на сайте, или если Вы хотите пройти курс в другое время и в другом месте, пожалуйста, сообщите нам, по адресу mail@interface.ru или shopadmin@itshop.ru
- Поговорите со своим личным тренинг-менеджером!
Мы предоставляет Вам индивидуальное обслуживание. Если у вас есть потребность обсудить, все вопросы касательно обучения, свяжитесь, пожалуйста c нами по телефонам: +7 (495) 925-0049, + 7 (495) 229-0436. Или любым другим удобным для Вас средствами связи, которые Вы можете найти на сайтах www.interface.ru или www.itshop.ru
|