ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.

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



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

Рассматриваемые темы Введение в Web Services EJB и Web Services 2-1.
1 Введение Информационные системы Альтернативы задачи доступа к данным Стандарт JPA и коммерческие ORM имплементации Определение ORM Проблемы полного преобразования.
Evgeniy Krivosheev Last update: March, 2012 Spring Framework Module 10 – JMS, EJB.
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Харичкин Александр МФТИ(ГУ) 16 июня Характеристики информационных систем Объем кода Сложность модели данных Масштабируемость Возможность повторного.
XML WEB SERVICES. ОБЗОР ТЕХНОЛОГИИ. Подходы к написанию программ модульное программирование событийно-ориентированное программирование компонентно-ориентированное.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Организация хранилища единой коллекции цифровых образовательных ресурсов с использованием технологии «ЭЛАД» В.Ю. Лукин.
Лекция 2. Модель клиент- сервер. УЧЕБНЫЕ ВОПРСЫ 1.Клиенты и серверы 2.Разделение приложений по уровням 3.Варианты архитектуры клиент-сервер.
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
ИНТЕГРИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ Лекция 10 Архитектурные решения построения ИСУ.
1 Диаграммы реализации (implementation diagrams).
Дисциплина: Организация, принципы построения и функционирования компьютерных сетей Лекция 4 Многоуровневые коммуникации в сетях.
АлтГТУ им И. И. Ползунова Проектирование и реализация каркаса распределенной системы мониторинга и диспетчеризации процессов гетерогенной среды Данил Старовойтов,
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
Транксрипт:

ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS

Что такое EJB Платформа для приложений Переносимая Расширяемая Для многократного использования

Зачем использовать EJB ? Не нужно думать о реализации типовых сервисов Транзакции Безопасность Персистентность Удаленное использование WEB-сервисы Интерцепторы Потоковая безопасность Таймеры Сохранение статуса Асинхронное взаимодействие

Основные принципы EJB Архитектура компонент / контейнер Архитектура развертывания времени выполнения

Компоненты и контейнеры EJB – это компонент реализующий предметную логику Контейнер EJB – место размещения компонентов Классы EJB развертываются внутри контейнера Контейнер обеспечивает безопасность, параллелизм, поддержку транзакций и управление памятью ( своп, пулы )

EJB – распределенные компоненты Могут быть развернуты на различных физических машинах Доступ к методам EJB реализующего удаленный интерфейс возможен лишь вызовом метода в удаленной заглушке. Удаленный доступ достаточно медленный – так как приходится сериализовать параметры и десириализовать результат

Немножко истории EJB EJB 1.1 (J2EE 1.2), 1999 Session beans (stateful & stateless), Entity Beans Remote interface EJB 2.0 (J2EE 1.3), 2001 Message Driven beans Entity 2.x and EJB QL Local & Remote Interfaces EJB 2.1 (J2EE 1.4), 2003 EJB Timer Service Небольшие улучшения EJB QL EJB 3 (JavaEE), 2006

Основные проблемы EJB 2.x Тяжеловесность, сложность Описание всех метаданные в XML Трудности с тестированием В действительности объектно - ориентированный подход отсутствует Проект обрастает огромным количеством шаблонов проектирования (DTO, Service Locator, …)

Спецификация EJB 3.0 Спецификация EJB 3.0 представляет кардинально переработанную 2.1 версию. Были учтены и решены описанные проблемы. Рассмотрим основные преимущества новой спецификации

Java аннотации

Аннотации вместо дескрипторов развертывания Дескрипторы развертывания, например ejb- jar.xml, и записи, связанные с веб - службами в web.xml, устарели ( кроме web.xml) определение и использование веб - служб ; разработка программных приложений EJB; привязка классов технологии Java к XML; привязка классов технологии Java к базам данных ; привязка методов к операциям ; указание внешних зависимостей ; указание информации для развертывания, в т. ч. атрибутов безопасности.

Упрощение разработки программного обеспечения EJB Новый интерфейс API EJB 3.0 позволяет упростить процесс разработки путем сокращения и упрощения списка задач разработчика. меньшее количество требуемых классов и интерфейсов ; упразднены дескрипторы развертывания ; простой поиск ; упрощенная реляционная привязка объектов.

Использование вложения зависимостей для доступа к ресурсам Вложение зависимости позволяет объекту напрямую запрашивать внешние ресурсы с помощью аннотаций. объект SessionContext; объект DataSources; интерфейс EntityManager; другие компоненты уровня предприятия ; веб - службы ; очереди сообщений и темы ; фабрики подключений для адаптеров ресурсов.

Модель интерфейса API Java Persistence В платформе Java EE 5 введен новый интерфейс API Java Persistence, который также может использоваться вне компонентов EJB объекты являются POJO; стандартизованное объектно - реляционное сопоставление ; именованные запросы ; простые правила пакетирования ; отсоединенные объекты ; Интерфейс API EntityManager.

Веб - службы В платформе Java EE 5 использование аннотаций позволило значительно оптимизировать и упростить поддержку веб - служб. В этом отношении необходимо упомянуть следующие спецификации : JSR 224, Java API for XML-Based Web Services (JAX- WS) 2.0; JSR 222, Java Architecture for XML Binding (JAXB) 2.0; JSR 181, Web Services Metadata for the Java Platform.

Развертывание EJB 2.0 Развертывание происходит в контейнере в соответствии с файлом EJB-JAR.XML

Развертывание EJB 3 Развертывание происходит в контейнере в соответствии с аннотациями классов и файлом EJB-JAR.XML ( приоритет )

Типичная структура JavaEE приложения с EJB и WEB модулем Модули EJB и WEB могут быть развернуты отдельно от корпоративного приложения

Пример структуры развертывания

Типы EJB ( спецификация 2.0) Все EJB – транзакционные объекты Все компоненты EJB участвуют в системе безопасности

Типы EJB 3 В EJB 3 используется JPA для мэпинга POJO объектов на таблицы RDBMS

Сеансовые EJB ( Session beans ) Сеансовый EJB – это несохраняющийся объект, который предоставляет доступ к предметной логике на сервере Клиент получает доступ к логике сеансового EJB по сети через его удаленный интерфейс или локальную ссылку Сетевой протокол доступа – RMI поверх IIOP, а значит существует хорошо определенное стандартное отображение интерфейсов EJB на CORBA IDL

Виды сеансовых EJB Session Statefull Bean Существуют на протяжении одного сеанса клиент / сервер. Контейнер отвечает за пассивизацию и активизацию состояния объекта Session Stateless Bean У клиента есть ссылка на объект, которая не обязательно является ссылкой на сеансовый компонент. Контейнер может поддерживать пул stateless компонентов.

Шаблон проектирования SessionFacade

Создание сеансового компонента EJB 3 Для ( по умолчанию ) Локальные EJB передаются по ссылке Удаленные EJB передаются по значению

Пример Stateless Session Bean

Доступ к компоненту из сервлета

SessionContext Используется для получения информации о вызванного метода и предоставляет различные сервисы EJB Получить SessionContext можно так:

Некоторые методы SessionContext

EJBContext SessionContext наследует класс EJBContext EJBContext предоставляет некоторую информацию о среде запуска бина

Жизненный цикл Stateless Bean

Пример Stateful Session компонента

Доступ к Stateful компоненту из сервлета

Жизненый цикл Steteful компонента