Программирование на платформе Java EE. Разработка компонентов на основе технологии Enterprise JavaBeans (часть I)
Содержание
- 2. Цель курса Основная задача: формирование компетенций, необходимых для разработки бизнес компонентов с использованием технологии Enterprise JavaBeans
- 3. Необходимые знания знание синтаксиса языка Java в версии не ниже JDK 1.5 знание процесса разработки программ
- 4. Используемый инструментарий Java EE 7 Software Development Kit http://www.oracle.com/technetwork/java/javaee/downloads/ NetBeans IDE и необходимые plugin-ы http://www.netbeans.org/downloads/ Настройка
- 5. Общий тематический план курса Основные принципы и понятия Платформа Java EE Сеансовые компонент Компоненты, управляемые сообщениями
- 6. Основные принципы и понятия Распределённое приложение Корпоративное приложение Основные требования к корпоративным приложениям Принципы разработки корпоративных
- 7. Тема 1. Введение в Java EE Платформа Java Платформа Java Enterprise Edition (Java EE) Архитектура Java
- 8. Платформа Java Платформа JavaTM включает: спецификацю языка Java стандартные утилиты стандартные пакеты (Java API) виртуальную Java-машину
- 9. Структура платформы Java SE / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 10. Редакции платформы Java Java Platform, Standard Edition ( Java SE) Java Platform, Enterprise Edition ( Java
- 11. Платформа Java Enterprise Edition Является “надстройкой“ над платформой Java SE Облегчает разработку приложений, которые являются: распределёнными
- 12. Архитектура Java EE приложения Типичное Java EE приложение содержит: клиентский уровень промежуточный уровень, который обычно реализует
- 13. Архитектура Java EE приложения / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 14. Технология Enterprise JavaBeans (EJB) Enterprise JavaBeansTM (EJB) - стандартная архитектура для разработки на основе платформы Java™
- 15. Основные термины EJB-сервер определяется как логическое устройство, которое обеспечивает инфраструктуру (среду выполнения), необходимых для функционирования EJB-компонентов
- 16. Основные термины EJB-компонент - многократно используемый программный компонент, обладающий возможностью взаимодействия с аналогичными компонентами EJB-компоненты обеспечивают
- 17. Структура Java EE сервера / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB) EJB EJB-компонент EJB-компонент EJB-компонент EJB-компонент Java
- 18. Службы контейнера Java EE Lifecycle Management: обеспечивает управление жизненным циклом объекта State Management: управляет состоянием объекта
- 19. Типы EJB-компонентов Сеансовые (Session Beans) компоненты реализуют логику клиентского приложения, обычно не имеют устойчивого состояния Управляемые
- 20. API для Java EE приложений Разработка EJB-компонентов основывается на специализированных пакетах: javax.ejb javax.annotation Также используются: javax.naming
- 21. Общая схема разработки Java EE приложений Определение интерфейсов Разработка собственно компонента, реализующего необходимые интерфейсы Разработка дополнительных
- 22. Основные роли жизненного цикла EJB-приложения Роли обеспечения инфраструктуры: EJB Server Provider; EJB Container Provider. Роли разработки
- 23. Когда можно использовать EJB При необходимости обеспечить: многопользовательский удалённый доступ масштабируемость безопасность и ограничение доступа к
- 24. Преимущества разработки на основе EJB Enterprise JavaBeansTM (EJB) следует общему принципу Java: “написанное однажды – работает
- 25. Преимущества разработки на основе EJB Для корпоративных приложений: повышается производительность повышается надёжность функционирования повышается возможность масштабирования
- 26. 2. Реализация сеансовых компонентов Сеансовые компоненты Три типа сеансовых компонент Выбор правильной сеансовой компоненты при заданном
- 27. Сеансовый компонент Типичный сеансовый компонент: в каждый конкретный момент времени представляет на стороне сервера одного и
- 28. Клиенты сеансового компонента Локальный клиент должен работать в том же адресном пространстве (на той же JVM),
- 29. Разработка сеансового компонента Сеансовый компонент может реализовывать: локальный интерфейс удалённый интерфейс Сеансовый компонент может использовать: вспомогательные
- 30. Разновидности сеансовых компонентов Сеансовые (Session Beans) компоненты подразделяются на: stateless (без сохранения состояния) stateful (с поддержкой
- 31. Выбор вида сеансового компонента Необходимо учитывать различия сеансовых компонентов, т.к. они: имеют разный жизненный цикл имеют
- 32. Основные критерии выбора вида сеансового компонента / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 33. Определение сеансового компонента Определение интерфейса для последующей имплементации EJB-компонентами / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB) @Remote
- 34. Определение сеансового компонента Определение класса сессионного компонента без наследования интерфейса Методы такого класса могут вызываться локальными
- 35. Определение сеансового компонента Класс сессионного компонента может наследовать любой интерфейс и аннотировать его как EJB-интерфейсы Для
- 36. Соглашения по архивации компонентов: Java EE приложения хранятся в архивах с расширением .ear EJB-модули хранятся в
- 37. Пакетирование сеансовых компонентов Откомпилированные файлы компонентов заносятся в специально структурированный архив с расширением jar Данный архив
- 38. Пакетирование сеансовых компонентов / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 39. Дескриптор поставки Дескриптор поставки представляет собой файл в формате XML, содержащий определение атрибутов EJB-компонентов Дескриптор поставки
- 40. Пример дескриптора поставки MessageBean jms/JupiterConnectionFactory / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 41. Развёртывание сеансовых компонентов Архив с компонентами должен развёртываться на Java EE-сервере Развёртывание может осуществляться: штатными средствами
- 42. EJB: использование аннотаций @Resource(name="myDB", type=javax.sql.DataSource) @Stateful public class ShoppingCartBean implements ShoppingCart { @Resource SessionContext ctx; public
- 43. 3. Доступ к сеансовым компонентам Роль JNDI в установлении связи с EJB компонентами Конфигурирование свойств JNDI
- 44. JNDI пространства имён Роль JNDI Пакет javax.naming Глобальное пространство имён: java:global[/app-name]/module-name/bean-name[!fqn] Пространство имён приложения: java:app/module-name/bean-name[!fqn] Модульное
- 45. Пример определения JNDI Для модуля demo.jar определены следующие имена: java:global/demo/Demo!demo.DemoBean java:global/demo/Demo!demo.DemoRemote java:app/demo/Demo!demo.DemoBean java:module/demo!demo.DemoRemote / Ю.Д.Заковряшин. Технология
- 46. Настройка JNDI Настройка может осуществляться с помощью конструктора класса InitialContext(Hashtable environment) / Ю.Д.Заковряшин. Технология Enterprise JavaBeans
- 47. Поиск ресурса Интерфейс Context и класс InitialContext Поиск осуществляется с помощью методов класса InitialContext: lookup (...)
- 48. Ссылки на ресурсы и зависимости Интерфейс SessionContext Определение ресурсов аннотация @Resource / Ю.Д.Заковряшин. Технология Enterprise JavaBeans
- 49. Ссылки на ресурсы и зависимости Определение зависимостей / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB) @javax.enterprise.context.RequestScoped public class
- 50. Разработка клиента компонента Разработка локального клиента Разработка удалённого клиента Создание фасада сессии / Ю.Д.Заковряшин. Технология Enterprise
- 51. 4. Дополнительные сведения о сеансовых компонентах Связь между EJB контейнером и EJB компонентой Жизненный цикл сеансовых
- 52. Особенности методов жизненного цикла Методы жизненного цикла должны возвращать тип void и не должны иметь параметров.
- 53. Жизненный цикл сеансового компонента Создание компонента Установление зависимостей Методы жизненного цикла: @PostConstruct, init() и ejbCreate @PrePassivate()
- 54. Жизненный цикл сеансового компонента Создание Установление зависимостей @PostConstruct() @PreDestroy() / Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
- 55. EJB: жизненный цикл Stateless компонента Создание Установление зависимостей @PostConstruct() @PreDestroy()
- 56. Асинхронные вызовы Особенности асинхронных вызовов Область применения Реализация асинхронных методов Обработка исключений / Ю.Д.Заковряшин. Технология Enterprise
- 57. Асинхронные вызовы @Asynchronous public Future foo (...) { // do something Integer result = ...; return
- 58. 5. Сеансовая компонента синглтон Преимущества и недостатки использования синглетонных сеансовых компонент Создание синглетонной сеансовой компоненты Жизненный
- 60. Скачать презентацию