'

Рассматриваемые темы

Понравилась презентация – покажи это...





Слайд 0

Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB-приложения 2-1


Слайд 1

Технология EJB EJB в платформе Java EE 2-2


Слайд 2

Технология EJB Спецификации EJB 2-3


Слайд 3

Технология EJB Стандартизация компонентной архитектуры для объектно-ориентированных и распределенных бизнес-приложений и упрощение их разработки Поддержка создания и использования web-сервисов Write once, run anywhere Совместимость с протоколами CORBA Цели создания EJB 2-4


Слайд 4

Технология EJB Системные сервисы (транзакции, авторизация) – забота контейнера, а не разработчика Возможность построения приложения из существующих модулей Разработчик может сфокусировать на реализации бизнес-логики, а не заниматься созданием инфраструктурного кода Декларативная модель разработки Преимущества EJB 2-5


Слайд 5

Технология EJB Подключение системных служб контейнера 2-6


Слайд 6

Технология EJB Контейнер перехватывает взаимодействие между клиентом и компонентом и добавляет инфраструктурный код службы Службы: Авторизация Транзакции Жизненного цикла компонент Сервисы именования Системные службы контейнера 2-7


Слайд 7

Технология EJB Разработчик описывает, как контейнер должен взаимодействовать с компонентом, при помощи: Аннотаций XML-файлов Декларативная модель 2-8


Слайд 8

Технология EJB Декларативная модель 2-9


Слайд 9

Технология EJB Bean provider – разработчик компонент бизнес-логики Application Assembler – компоновщик компонент приложения в модули Deployer – разворачивает приложение EJB Server Provider – разработчик EJB-сервера Семь ролей при разработке EJB 2-10 см. далее


Слайд 10

Технология EJB EJB Container Provider – разработчик контейнера EJB. Persistence Provider – разработчик реализации JPA System Administrator – администратор информационной инфраструктуры Семь ролей при разработке EJB 2-11


Слайд 11

Технология EJB Семь ролей при разработке EJB 2-12


Слайд 12

Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB-приложения 2-13


Слайд 13

Типы EJB Session Bean Stateless Stateful Message-Driven Bean (MDB)? Entity Objects Enterprise Bean Objects 2-14


Слайд 14

Типы EJB Выполняет обработку запроса одного клиента Инкапсулирует бизнес-функционал Экземпляры хранятся в памяти Уничтожаются при остановке контейнера Имеет локальный и/или удаленный бизнес-интерфейс Session Bean 2-15


Слайд 15

Типы EJB Не имеет внутреннего состояния Обслуживает множество клиентов Может реализовывать web-сервис Stateless Session Bean 2-16


Слайд 16

Типы EJB Имеет внутреннее состояние (статус «общения» с клиентом) и хранит его, пока: Клиент окончит «общение» Наступит таймаут Остановится контейнер Обслуживает единственного клиента Stateful Session Bean 2-17


Слайд 17

Типы EJB Модуль, рассчитывающий цену местного телефонного вызова – Stateless Модуль бронирования авиа-билета на сайте авиакомпании – Stateful Stateful vs Stateless 2-18


Слайд 18

Типы EJB Выполняют задачи обработки JMS-сообщений от клиента Асинхронны Недолговечны Могут изменять данные в БД, но сами данными не являются Не имеют состояния Message-Driven Beans 2-19


Слайд 19

Типы EJB Обычно – представляют собой сущности из предметной области приложения Устойчивы (хранимы)? «Выживают» при падении контейнера Обязаны иметь первичный ключ Entity Objects (сущности)? 2-20


Слайд 20

Типы EJB Управляет сущностями Сущности могут быть «отсоединены» от менеджера, переданы куда-либо для каких-то действий, и «присоединены» обратно с синхронизацией их состояния в БД Может существовать отдельно от EJB-контейнера Entity Manager 2-21


Слайд 21

Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB-приложения 2-22


Слайд 22

Вызов EJB Web-клиент Application-клиент Web service-клиент RMI-клиент EJB-клиенты 2-23


Слайд 23

Вызов EJB Web клиент 2-24


Слайд 24

Вызов EJB Web клиент Легче, но нет системных служб EJB-контейнера 2-25


Слайд 25

Вызов EJB Application клиент 2-26


Слайд 26

Вызов EJB Web service клиент 2-27


Слайд 27

Вызов EJB RMI клиент Клиент сам должен сделать поиск в JNDI Нет клиентского контейнера 2-28


Слайд 28

Вызов EJB Получение ссылки на remote-интерфейс 2-29


Слайд 29

Вызов EJB Использование Dependency Injection @EJB private static Cart cart; ... public static void main(String... args) { System.out.println("Result: " + cart.getTotal()); } 2-30 MyEJB.java


Слайд 30

Вызов EJB Получение ссылки на remote-интерфейс Cart cart; try { // получаем контекст InitialContext context = new InitialContext(); // получаем ссылку на remote-интерфейс Cart c = (Cart) context.lookup("Cart/remote"); // делаем что-то полезное... ... } catch (NamingException ex) { ex.printStackTrace(); } 2-31 MyEJBRmi.java


Слайд 31

Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB-приложения 2-32


Слайд 32

Сборка и развертывание Бизнес-интерфейс Реализация Компиляция и юнит-тесты Конфигурирование (написание deployment-descriptor'ов) и сборка (упаковка)? Развертывание и тестирование Цикл разработки EJB-приложения 2-33


Слайд 33

Сборка и развертывание Бизнес-интерфейс // локальный бизнес-интерфейс @Local public interface CartLocal { /** * Что-то полезное */ double getTotal(); } 2-34 CartLocal.java


Слайд 34

Сборка и развертывание Реализация // локальный бизнес-интерфейс @Stateless public class CartBean implements CartLocal { /** * Что-то полезное */ double getTotal() { return 110.0; } } 2-35 CartBean.java


Слайд 35

Сборка и развертывание Конфигурирование <?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> <enterprise-beans> <session> <ejb-name>Cart</ejb-name> </session> ... </enterprise-beans> </ejb-jar> 2-36 ejb-jar.xml


Слайд 36

Сборка и развертывание Конфигурирование <?xml version="1.0" encoding="UTF-8"?> <!-- DTD --> <sun-ejb-jar> <enterprise-beans> <ejb> <ejb-name>Cart</ejb-name> <jndi-name>Cart</jndi-name> </ejb> </enterprise-beans> </sun-ejb-jar> 2-37 sun-ejb-jar.xml


Слайд 37

Сборка и развертывание Модуль Web-приложения (WAR)? Модуль EJB JAR Application-клиент (JAR)? Архив ресурсов (RAR)? Java EE – приложение (EAR)? Типы модулей EJB-приложения 2-38


Слайд 38

Сборка и развертывание Структура EJB-модуля 2-39 /package/name/EJBClasses.class /META-INF/ejb-jar.xml /META-INF/sun-ejb-jar.xml ejb.jar


Слайд 39

Сборка и развертывание Командная строка Web-консоль JSR 88 Apache Ant IDE Способы развертки модулей 2-40


Слайд 40

Выводы Технология EJB – стандарт для создания объектно-ориентированных распределенных приложений EJB Session Beans Stateful Stateless Message-Driven Beans Entity Objects Выводы по технологии EJB 2-41


Слайд 41

Выводы EJB клиенты Web клиент Application клиент Web Service клиент RMI-клиент Вызов EJB Dependency Injection Поиск в JNDI-реестре Выводы по технологии EJB 2-42


Слайд 42

Практика Сборка и развертывание EJB-приложения. Упражнение 2-43


×

HTML:





Ссылка: