Разделы презентаций


Программирование на платформе Java EE. Разработка компонентов на основе

Содержание

Цель курса Основная задача: формирование компетенций, необходимых для разработки бизнес компонентов с использованием технологии Enterprise JavaBeans Ограничения курса/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайды и текст этой презентации

Слайд 1Программирование на платформе Java EE. Разработка компонентов на основе технологии

Enterprise JavaBeans Часть I
Санкт-Петербургский государственный политехнический университет
2016
Ю.Д.Заковряшин
Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ИНЖЕНЕРНАЯ ШКОЛА

Программирование на платформе Java EE.  Разработка компонентов на основе технологии Enterprise JavaBeans  Часть IСанкт-Петербургский государственный

Слайд 2Цель курса
Основная задача: формирование компетенций, необходимых для разработки бизнес

компонентов с использованием технологии Enterprise JavaBeans
Ограничения курса
/
Ю.Д.Заковряшин. Технология Enterprise

JavaBeans (EJB)
Цель курса Основная задача: формирование компетенций, необходимых для разработки бизнес компонентов с использованием технологии Enterprise JavaBeans Ограничения

Слайд 3Необходимые знания
знание синтаксиса языка Java в версии не

ниже JDK 1.5
знание процесса разработки программ на платформе

Java
знание Java API, используемого для разработки сетевых приложений и приложений с доступом к базам данных
общее понимание архитектуры распределённых приложений
представление о требованиях, предъявляемых к распределённым приложениям масштаба предприятия

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

Необходимые знания  знание синтаксиса языка 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/

Настройка среды

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

Используемый инструментарий Java EE 7 Software Development Kit    http://www.oracle.com/technetwork/java/javaee/downloads/ NetBeans IDE и необходимые plugin-ы

Слайд 5Общий тематический план курса
Основные принципы и понятия
Платформа Java

EE
Сеансовые компонент
Компоненты, управляемые сообщениями
Использование служб таймера
Реализация

классов и методов перехватчиков
Реализация транзакций
Реализация безопасности
Использование технологии EJB - рекомендации

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

Общий тематический план курса Основные принципы и понятия Платформа Java EE Сеансовые компонент Компоненты, управляемые сообщениями Использование

Слайд 6Основные принципы и понятия
Распределённое приложение
Корпоративное приложение
Основные требования

к корпоративным приложениям
Принципы разработки корпоративных приложений
Ю.Д.Заковряшин. Технология Enterprise JavaBeans

(EJB)

/

Основные принципы и понятия Распределённое приложение Корпоративное приложение Основные требования к корпоративным приложениям Принципы разработки корпоративных приложенийЮ.Д.Заковряшин.

Слайд 7Тема 1. Введение в Java EE
Платформа Java
Платформа Java

Enterprise Edition (Java EE)
Архитектура Java EE приложения
Службы контейнера

Java EE
Типы компонент EJB
Легковесный контейнер EJB
Преимущества разработки корпоративных приложений на основе Java EE

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

Тема 1. Введение в Java EE Платформа Java Платформа Java Enterprise Edition (Java EE) Архитектура Java EE

Слайд 8Платформа Java
Платформа JavaTM включает:
спецификацю языка Java

стандартные утилиты
стандартные пакеты (Java API)

виртуальную Java-машину (JVM)

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Платформа Java Платформа JavaTM включает:   спецификацю языка Java   стандартные утилиты   стандартные

Слайд 9Структура платформы Java SE
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Структура платформы Java SE/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 10Редакции платформы Java
Java Platform, Standard Edition ( Java

SE)
Java Platform, Enterprise Edition ( Java EE)

Java Platform, Micro Edition (Java ME)

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Редакции платформы Java  Java Platform, Standard Edition ( Java SE)   Java Platform, Enterprise Edition

Слайд 11Платформа Java Enterprise Edition
Является “надстройкой“ над платформой Java SE

Облегчает разработку приложений, которые являются:
распределёнными
крупномасштабными
многоуровневыми
масштабируемыми
надёжными

безопасными

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Платформа Java Enterprise Edition Является “надстройкой“ над платформой Java SE Облегчает разработку приложений, которые являются:	 распределёнными	 крупномасштабными

Слайд 12Архитектура Java EE приложения
Типичное Java EE приложение содержит:
клиентский уровень
промежуточный

уровень, который обычно реализует бизнес-логику приложения и обеспечивает интернет-доступ к

службам приложения
уровень данных (Enterprise Information System - EIS)

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Архитектура Java EE приложения Типичное Java EE приложение содержит:		клиентский уровень		промежуточный уровень, который обычно реализует бизнес-логику приложения и

Слайд 13Архитектура Java EE приложения
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Архитектура Java EE приложения/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 14Технология Enterprise JavaBeans (EJB)
Enterprise JavaBeansTM (EJB) - стандартная архитектура

для разработки на основе платформы Java™ объектно-ориентированных приложений масштаба предприятия

(корпоративных приложений)
EJB поддерживает полный жизненный цикл корпоративных приложений, написанных на языке Java
EJB поддерживает полный жизненный цикл web-сервисов

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Технология Enterprise JavaBeans (EJB) Enterprise JavaBeansTM (EJB) - стандартная архитектура для разработки на основе платформы Java™ объектно-ориентированных

Слайд 15Основные термины
EJB-сервер определяется как логическое устройство, которое обеспечивает инфраструктуру

(среду выполнения), необходимых для функционирования EJB-компонентов
EJB-контейнер является специализированным сервисом,

который непосредственно обслуживает работу EJB-компонента
EJB-модуль представляет собой набор EJB-компонент и дескриптор развёртывания

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Основные термины EJB-сервер определяется как логическое устройство, которое обеспечивает инфраструктуру (среду выполнения), необходимых для функционирования EJB-компонентов EJB-контейнер

Слайд 16Основные термины
EJB-компонент - многократно используемый программный компонент, обладающий возможностью

взаимодействия с аналогичными компонентами
EJB-компоненты обеспечивают функциональность на стороне

сервера
EJB-компонент может экспортировать свойства, методы и события
EJB-компоненты можно относительно легко добавлять и удалять из системы

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Основные термины EJB-компонент - многократно используемый программный компонент, обладающий возможностью взаимодействия с аналогичными компонентами  EJB-компоненты обеспечивают

Слайд 17Структура Java EE сервера
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
EJB
EJB-компонент
EJB-компонент
EJB-компонент
EJB-компонент
Java EE сервер
EJB-контейнер
Системные

службы
Web-контейнер

Структура Java EE сервера/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)EJBEJB-компонентEJB-компонентEJB-компонентEJB-компонентJava EE серверEJB-контейнерСистемные службыWeb-контейнер

Слайд 18Службы контейнера Java EE
Lifecycle Management: обеспечивает управление жизненным циклом

объекта
State Management: управляет состоянием объекта
Security: обеспечивает выполнение проверок

безопасности
Transactions: позволяет управлять транзакциями по требованию EJB-компонента
Persistence: обеспечивает управление сохранением данных.

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Службы контейнера Java EE Lifecycle Management: обеспечивает управление жизненным циклом объекта State Management: управляет состоянием объекта Security:

Слайд 19Типы EJB-компонентов
Сеансовые (Session Beans) компоненты реализуют логику клиентского

приложения, обычно не имеют устойчивого состояния
Управляемые сообщениями (Message

Driven Beans) — определяют асинхронную реакцию приложения на определённые события в системе
Объектные компоненты (Entity Beans) (опционально) представляют собой данные и имеют устойчивое состояние

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Типы EJB-компонентов  Сеансовые (Session Beans) компоненты реализуют логику клиентского приложения, обычно не имеют устойчивого состояния

Слайд 20API для Java EE приложений
Разработка EJB-компонентов основывается на специализированных

пакетах:
javax.ejb
javax.annotation
Также используются:
javax.naming (JNDI API)
javax.jms (Java Message Service API)
...
/
Ю.Д.Заковряшин. Технология

Enterprise JavaBeans (EJB)
API для Java EE приложений Разработка EJB-компонентов основывается на специализированных пакетах:		javax.ejb		javax.annotation Также используются:		javax.naming (JNDI API)		javax.jms (Java Message

Слайд 21Общая схема разработки Java EE приложений
Определение интерфейсов
Разработка собственно

компонента, реализующего необходимые интерфейсы
Разработка дополнительных классов
Подготовка EJB JAR

файла
Развертывание приложения

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Общая схема разработки Java EE приложений Определение интерфейсов Разработка собственно компонента, реализующего необходимые интерфейсы Разработка дополнительных классов

Слайд 22Основные роли жизненного цикла EJB-приложения
Роли

обеспечения инфраструктуры:
EJB Server Provider;
EJB Container Provider.
Роли разработки приложений:
Enterprise Bean Provider;
Application

Assembler.
Роли поставки и настройки:
Deployer;
System administrator.

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Основные роли жизненного цикла EJB-приложения     Роли обеспечения инфраструктуры:		EJB Server Provider;		EJB Container Provider.	Роли разработки

Слайд 23Когда можно использовать EJB
При необходимости обеспечить:
многопользовательский удалённый

доступ
масштабируемость
безопасность и ограничение доступа к данным

целостность и сохранность данных
поддержку распределённых транзакций
поддержку событий
хорошую сопровождаемость

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Когда можно использовать EJB При необходимости обеспечить:  многопользовательский удалённый доступ  масштабируемость  безопасность и ограничение

Слайд 24Преимущества разработки на основе EJB
Enterprise JavaBeansTM (EJB) следует общему

принципу Java: “написанное однажды – работает везде”. Разработанные EJB-компоненты могут

разворачиваться на множестве платформ без изменения кода или перекомпиляции
Технология EJB избавляет разработчика от необходимости использовать низкоуровневое API для выполнения рутинных операций

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Преимущества разработки на основе EJB Enterprise JavaBeansTM (EJB) следует общему принципу Java: “написанное однажды – работает везде”.

Слайд 25Преимущества разработки на основе EJB
Для корпоративных приложений:
повышается производительность

повышается надёжность функционирования
повышается возможность масштабирования
снижаются затраты на разработку

снижаются затраты на сопровождение

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Преимущества разработки на основе EJB Для корпоративных приложений: повышается производительность повышается надёжность функционирования повышается возможность масштабирования снижаются

Слайд 262. Реализация сеансовых компонентов
Сеансовые компоненты
Три типа сеансовых компонент

Выбор правильной сеансовой компоненты при заданном бизнес-ограничении
Создание сеансовых компонент

Пакетирование и развертывание сеансовых компонент

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

2. Реализация сеансовых компонентов Сеансовые компоненты Три типа сеансовых компонент Выбор правильной сеансовой компоненты при заданном бизнес-ограничении

Слайд 27Сеансовый компонент
Типичный сеансовый компонент:
в каждый конкретный момент времени представляет на

стороне сервера одного и только одного клиента
не сохраняет своего состояния
может

представлять web-сервис
может участвовать в транзакции
не представляет непосредственно разделяемые данные из БД, но может получать к ним доступ и обновлять их
может иметь произвольный по продолжительности жизненный цикл

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Сеансовый компонентТипичный сеансовый компонент:	в каждый конкретный момент времени представляет на стороне сервера одного и только одного клиента	не

Слайд 28Клиенты сеансового компонента
Локальный клиент должен работать в том же

адресном пространстве (на той же JVM), может являться другим компонентом

или web-компонентом. Для локального клиента расположение компонента не может быть прозрачным.
Удаленный клиент – может работать на удаленной JVM и являться клиентским приложением, другим EJB-компонентом, web-компонентом. Для удаленного клиента действительное положение компонента должно быть прозрачным.

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Клиенты сеансового компонента Локальный клиент должен работать в том же адресном пространстве (на той же JVM), может

Слайд 29Разработка сеансового компонента
Сеансовый компонент может реализовывать:
локальный интерфейс

удалённый интерфейс
Сеансовый компонент может использовать:
вспомогательные интерфейсы
вспомогательные классы
внешние ресурсы
/
Ю.Д.Заковряшин.

Технология Enterprise JavaBeans (EJB)
Разработка сеансового компонента  Сеансовый компонент может реализовывать:	 локальный интерфейс	 удалённый интерфейс  Сеансовый компонент может использовать:	вспомогательные

Слайд 30Разновидности сеансовых компонентов
Сеансовые (Session Beans) компоненты подразделяются на:
stateless (без

сохранения состояния)
stateful (с поддержкой сессии)
singleton («одиночка» начиная с версии 3.1)
/
Ю.Д.Заковряшин.

Технология Enterprise JavaBeans (EJB)
Разновидности сеансовых компонентов Сеансовые (Session Beans) компоненты подразделяются на:		stateless (без сохранения состояния)		stateful (с поддержкой сессии)		singleton («одиночка» начиная

Слайд 31Выбор вида сеансового компонента
Необходимо учитывать различия сеансовых компонентов, т.к.

они:
имеют разный жизненный цикл
имеют разные возможные состояния
по

разному используются клиентами
могут реализовывать разную логику обработки запросов

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Выбор вида сеансового компонента Необходимо учитывать различия сеансовых компонентов, т.к. они: имеют разный жизненный цикл имеют разные

Слайд 32Основные критерии выбора вида сеансового компонента
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Основные критерии выбора вида сеансового компонента/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 33Определение сеансового компонента
Определение интерфейса для последующей имплементации EJB-компонентами
/
Ю.Д.Заковряшин. Технология

Enterprise JavaBeans (EJB)
@Remote
public interface name {
// method declaration
}
@Local
public

interface name {
// method declaration
}
Определение сеансового компонента Определение интерфейса для последующей имплементации EJB-компонентами/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)@Remotepublic interface name {

Слайд 34Определение сеансового компонента
Определение класса сессионного компонента без наследования интерфейса

Методы такого класса могут вызываться локальными клиентами
Аннотация определяет конкретную

разновидность компонента

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

@Annotation
public class className {
// method realization
}

Определение сеансового компонента Определение класса сессионного компонента без наследования интерфейса Методы такого класса могут вызываться локальными клиентами

Слайд 35Определение сеансового компонента
Класс сессионного компонента может наследовать любой интерфейс

и аннотировать его как EJB-интерфейсы
Для этого обычно используются аннотации:
@Remote
@Local
/
Ю.Д.Заковряшин.

Технология Enterprise JavaBeans (EJB)

@Annotation (value={interfaceName.class})
public class className implements interfaceName{
// method realization
}

Определение сеансового компонента Класс сессионного компонента может наследовать любой интерфейс и аннотировать его как EJB-интерфейсы Для этого

Слайд 36Соглашения по архивации компонентов:
Java EE приложения хранятся в архивах

с расширением .ear
EJB-модули хранятся в архивах с разрешением

.jar
Web-приложения хранятся в архивах с разрешением .war
Дополнительные файлы и файлы ресурсов хранятся в архивах с расширением .jar
Разделяемые пакеты хранятся в архивах с разрешением .jar и в подкаталоге /lib
Клиенты приложения с Main-Class хранятся в архивах с разрешением .jar

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Соглашения по архивации компонентов: Java EE приложения хранятся в архивах с расширением .ear  EJB-модули хранятся в

Слайд 37Пакетирование сеансовых компонентов
Откомпилированные файлы компонентов заносятся в специально структурированный

архив с расширением jar
Данный архив компонентов:
непосредственно в корне

архива имеет специальную каталог META-INF для размещения конфигурационных файлов таких как MANIFEST.MF
может содержать дескриптор поставки в каталоге META-INF
в отдельном каталоге содержит откомпилированные компоненты
может содержать дополнительные каталоги со вспомогательными классами и файлами

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Пакетирование сеансовых компонентов Откомпилированные файлы компонентов заносятся в специально структурированный архив с расширением jar Данный архив компонентов:

Слайд 38Пакетирование сеансовых компонентов
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Пакетирование сеансовых компонентов/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 39Дескриптор поставки
Дескриптор поставки представляет собой файл в формате XML,

содержащий определение атрибутов EJB-компонентов
Дескриптор поставки размещается в подкаталоге META-INF.

Дескриптор поставки может хранить информацию:
о структуре компонентов (имя, тип и класс компонента, его интерфейсы, параметры среды, ссылки на внешние ресурсы, тип транзакции)
о правилах и особенностях развертывания компонентов.

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Дескриптор поставки Дескриптор поставки представляет собой файл в формате XML, содержащий определение атрибутов EJB-компонентов Дескриптор поставки размещается

Слайд 40Пример дескриптора поставки



MessageBean


jms/JupiterConnectionFactory





/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Пример дескриптора поставки      MessageBean

Слайд 41Развёртывание сеансовых компонентов
Архив с компонентами должен развёртываться на Java

EE-сервере
Развёртывание может осуществляться:
штатными средствами IDE
встроенными средствами Java EE

сервера
на основе процедурного описания, например с помощью технологии ant

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Развёртывание сеансовых компонентов Архив с компонентами должен развёртываться на Java EE-сервере  Развёртывание может осуществляться:штатными средствами IDEвстроенными

Слайд 42EJB: использование аннотаций
@Resource(name="myDB", type=javax.sql.DataSource)
@Stateful public class ShoppingCartBean

implements ShoppingCart

{
@Resource SessionContext ctx;

public Collection startToShop (String productName) {
...
DataSource productDB =
(DataSource)ctx.lookup("myDB");
Connection conn = myDB.getConnection():
...
}
...
}
EJB: использование аннотаций@Resource(name=

Слайд 433. Доступ к сеансовым компонентам
Роль JNDI в установлении связи

с EJB компонентами
Конфигурирование свойств JNDI окружения
Использование JNDI для

поиска ресурса
Создание кода для получения ссылки на ресурс путём внедрения (injection)
Создание клиента сеансовой компоненты
Создание фасада сеанса (session fasade)
Использование внедрения зависимости (dependency injection) для указания на EJB

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

3. Доступ к сеансовым компонентам Роль JNDI в установлении связи с EJB компонентами Конфигурирование свойств JNDI окружения

Слайд 44JNDI пространства имён
Роль JNDI
Пакет javax.naming
Глобальное

пространство имён:
java:global[/app-name]/module-name/bean-name[!fqn]
Пространство имён приложения:
java:app/module-name/bean-name[!fqn]
Модульное пространство имён:
java:module/bean-name[!fqn]
/
Ю.Д.Заковряшин. Технология Enterprise

JavaBeans (EJB)
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
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
package demo;

@Singleton(name="Demo")
@LocalBean
@Remote(demo.DemoRemote.class)
public class DemoBean

{ ... }:
Пример определения 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/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)package

Слайд 46Настройка JNDI
Настройка может осуществляться с помощью конструктора класса
InitialContext(Hashtable environment)
/
Ю.Д.Заковряшин.

Технология Enterprise JavaBeans (EJB)
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL,

file:/tmp/tutorial");
Context ctx = new InitialContext(env);
Настройка JNDI Настройка может осуществляться с помощью конструктора классаInitialContext(Hashtable environment)/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)Hashtable env = new

Слайд 47Поиск ресурса
Интерфейс Context и класс InitialContext
Поиск осуществляется с

помощью методов класса InitialContext:
lookup (...)
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)
Object obj

= ctx.lookup(name);

Регистрация объектов с помощью метода
bind(...)

Поиск ресурса Интерфейс Context и класс InitialContext Поиск осуществляется с помощью методов класса InitialContext:lookup (...)/Ю.Д.Заковряшин. Технология Enterprise

Слайд 48Ссылки на ресурсы и зависимости
Интерфейс SessionContext
Определение ресурсов
аннотация @Resource
/
Ю.Д.Заковряшин.

Технология Enterprise JavaBeans (EJB)
public class DemoServlet extends HttpServlet {

@Resource(name="java:comp/DefaultDataSource")
private javax.sql.DataSource

dsc;
...
}
Ссылки на ресурсы и зависимости Интерфейс SessionContext Определение ресурсованнотация @Resource/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)public class DemoServlet extends

Слайд 49Ссылки на ресурсы и зависимости
Определение зависимостей
/
Ю.Д.Заковряшин. Технология

Enterprise JavaBeans (EJB)
@javax.enterprise.context.RequestScoped
public class Demo { ... }

public class DemoServlet

extends HttpServlet {
@Inject Demo d;
...
}
Ссылки на ресурсы и зависимости  Определение зависимостей /Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)@javax.enterprise.context.RequestScopedpublic class Demo { ...

Слайд 50Разработка клиента компонента
Разработка локального клиента
Разработка удалённого клиента
Создание

фасада сессии
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Разработка клиента компонента Разработка локального клиента Разработка удалённого клиента Создание фасада сессии/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 514. Дополнительные сведения о сеансовых компонентах
Связь между EJB

контейнером и EJB компонентой
Жизненный цикл сеансовых компонент, обладающих

и не обладающих состоянием
Реализация методов жизненного цикла сеансовой компоненты
Использование сеансовой компоненты для осуществления асинхронной коммуникации
Тонкая настройка управления пакетированием и развертыванием

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

/

4. Дополнительные сведения о сеансовых компонентах  Связь между EJB контейнером и EJB компонентой  Жизненный цикл

Слайд 52Особенности методов жизненного цикла
Методы жизненного цикла должны возвращать тип

void и не должны иметь параметров.
Метод @PostConstruct вызывается контейнером

после создания и настройки компонента, но до первого вызова бизнес-методов.
Метод @PreDestroy вызывается контейнером после завершения метода, аннонсированного как @Remove, перед удалением компонента из контейнера.
Метод @PostActivate вызывается контейнером после того, как контейнер перевел компонент из пассивного состояния в активное
Метод @PrePassivate вызывается контейнером перед переводом компонента из активного состояния в пассивное.

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Особенности методов жизненного цикла Методы жизненного цикла должны возвращать тип void и не должны иметь параметров. Метод

Слайд 53Жизненный цикл сеансового компонента
Создание компонента
Установление зависимостей
Методы жизненного

цикла:
@PostConstruct, init() и ejbCreate
@PrePassivate() и @PostActivate()
@Remove() и @PreDestroy(
/
Ю.Д.Заковряшин. Технология Enterprise

JavaBeans (EJB)
Жизненный цикл сеансового компонента Создание компонента Установление зависимостей Методы жизненного цикла:@PostConstruct, init() и ejbCreate@PrePassivate() и @PostActivate()@Remove() и

Слайд 54Жизненный цикл сеансового компонента
Создание
Установление зависимостей
@PostConstruct()

@PreDestroy()
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Жизненный цикл сеансового компонента Создание  Установление зависимостей  @PostConstruct()  @PreDestroy()/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 55EJB: жизненный цикл Stateless компонента
Создание
Установление зависимостей
@PostConstruct()
@PreDestroy()

EJB: жизненный цикл Stateless компонентаСозданиеУстановление зависимостей@PostConstruct()@PreDestroy()

Слайд 56Асинхронные вызовы
Особенности асинхронных вызовов
Область применения
Реализация асинхронных методов

Обработка исключений
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Асинхронные вызовы Особенности асинхронных вызовов Область применения Реализация асинхронных методов Обработка исключений/Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Слайд 57Асинхронные вызовы
@Asynchronous
public Future foo (...) {
// do something
Integer result

= ...;
return new AsyncResult(result);
}
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Асинхронные вызовы @Asynchronouspublic Future foo (...) {// do something	Integer result = ...;	return new AsyncResult(result);}/Ю.Д.Заковряшин. Технология Enterprise JavaBeans

Слайд 585. Сеансовая компонента синглтон
Преимущества и недостатки использования синглетонных сеансовых

компонент
Создание синглетонной сеансовой компоненты
Жизненный цикл синглетонной

сеансовой компоненты
Реализация методов жизненного цикла синглетонной сеансовой компоненты
Параллельный доступ к синглетону
Управление параллелизмом

/

Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

5. Сеансовая компонента синглтон Преимущества и недостатки использования синглетонных сеансовых компонент  Создание синглетонной сеансовой компоненты

Слайд 59Заключение
Обобщающий обзор рассмотренных вопросов
Вопросы, требующие дополнительного рассмотрения

Вопросы к лектору
/
Ю.Д.Заковряшин. Технология Enterprise JavaBeans (EJB)

Заключение Обобщающий обзор рассмотренных вопросов  Вопросы, требующие дополнительного рассмотрения  Вопросы к лектору/Ю.Д.Заковряшин. Технология Enterprise JavaBeans

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика