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

Презентация:



Advertisements
Похожие презентации
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
Advertisements

EJB Environment Кряжев Василий
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Типовые расчёты Растворы
Школьная форма Презентация для родительского собрания.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Michael Jackson

Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Исключения в EJB Кряжев Василий
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
EJB Local Interface Кряжев Василий
1. Определить последовательность проезда перекрестка
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от

Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Транксрипт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вызов 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

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

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

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

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

Сборка и развертывание Конфигурирование Cart ejb-jar.xml

Сборка и развертывание Конфигурирование Cart 2-37 sun-ejb-jar.xml

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

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

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

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

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

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