пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Принципы, основные объекты и базовые модели функционирования EJB, разработка приложений с использованием сессионных бинов.

Enterprise bean – это написанный на языке програм-ия Java компонент, исполняемой на стороне сервера, кот инкапсулирует бизнес-логику прил-ния.

Бизнес-логика–это программный код, котор реализует цель  приложения.

По нескольким причинам enterprise beans упрощают разработку больших распределенных приложений. Во-первых, из-за того, что EJB-контейнер снабжает бины службами на уровне функционирования системы, разработчик компонента может сконцентрироваться на решении бизнес-проблемы. Именно EJB-контейнер, а не программист, ответственен за реализацию таких системных функций, как управления транзакциями, безопасная авторизация. Во-вторых, именно бины, а не клиентские приложения, содержат логику приложения, благодаря чему разработчик клиента может заниматься только деталями представления на экране. Разработчику приложения-клиента не нужно теперь программировать бизнес-правила, доступ к базе данных. В результате, клиент становиться тоньше, что является преимуществом при его запуске на небольших или слабых устройствах. В-третьих, т.к. корпоративные бины являются переносимыми компонентами, сборщик приложения может собирать новые приложения, используя уже существующие, кем-то написанные ранее, бины. Такие приложения могут запускаться на любом Java EE-совместимом сервере.

Технология JavaBean, построенная на базе языка Java, представляет собой ее один пример своеобразного джентльменского соглашения между разработчиками. С точки зрения ООП, компонент JavaBean -  это классический самодостаточный объект, который, будучи написан один раз, может быть многократно использован при построении новых апплетов, сервлетов, полноценных приложений, а также других компонентов Java Bean. Отличие от других технологий заключается в том, что компонент JavaBean строится по определенным правилам, с использованием в некоторых ситуациях строго регламентированных интерфейсов и базовых классов.

Типы компонентов Enterprise beans:

· Сессионный. Исполн задачи клиента, м.б. реализован как web-сервис.

· Управляемый событиями (message-driven) – действует как слушатель конкретного типа сообщений, как, например, JavaMessageAPI.

Такое разделение типов присуще спецификации EJB 3.0, в предыдущих версиях EJB выделяли еще один тип бинов – entity bean.

Сессионный бин

Сессионный бин представляет одного клиента внутри сервера J2EE и обеспечивает доступ (вызов) к методам сессионных бинов. Бин сеанса не является совместно используемым, т.к. интерактивный сеанс может иметь только 1 пользователя. Как и интерактивный сеанс, бин сеанса не сохраняется (данные не записываются в бд.) Когда клиент заканчивает работу, его бин сеанса тоже заканчивается, и он больше уже не связан с клиентом.

Типы сессионных бинов. Сущ 2 типа: с состоянием и без состояния.

Бины сеанса с состоянием. Состояние объекта состоит из значений переменных его экземпляра в конкретном уникальном сеансе взаимодействия м\у клиентом и бином. Т.к. клиент взаимодейст со своим бином, это состояние часто назыв диалоговым состоянием.

Состояние сохраняется в течение всего сеанса взаимодействия между клиентом и бином. Если клиент удаляет бин или завершает работу, сеанс закрывается и состояние исчезает (для задач, где нет нужды сохранять состоян после завершен диалога с бином).

Бины сеанса без состояния не поддерживают состояние диалога для определен клиента. Переменные экземпляра бина могут содержать состоян, но только на вр вызова метода. Когда метод заканчивается, состояние больше не удерживается.

За исключением времени выполнения метода, все экземпляры бина без состояния эквивалентны, что позволяет контейнеру EJB назначать экземпляр любому клиенту.

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

Иногда контейнер EJB записывает бины сеанса с состоянием во вторичную память. Но бины сеанса без состояния никогда не записываются во вторичн память. Следовательно, бины без состоян могут обеспечить лучш производительность, чем бины с состоянием.

Следует использовать бины сеанса при следующих обстоятельствах:

· В кажд момент времени только 1 клиент имеет доступ к экземпляру бина.

· Состояние бина не сохраняемое, он существует только в течение коротк периода вр

Бины сеанса с состоянием применяются, если выполняются следующие условия:

· Состояние бина представляет взаимодействие м\у бином и определенным клиентом.

· Бину необходимо хранить инф-ию о клиенте между вызовами метода.

· Бин служит промежуточным звеном между клиентом и другими компонентами приложения, давая клиенту упрощенное представление.

· "За сценой" бин управляет рабочим потоком нескольких корпоративных бинов.

Для повышения производительности вам следует выбрать бин сеанса без состояния, если он имеет любую из следующих особенностей:

· Состояние бина не содержит данных для определенного клиента.

· В одном вызове метода бин выполняет общую задачу для всех клиентов. Например, вы можете использовать бин сеанса без состояния для отправки по электронной почте сообщения, кот подтверждает заказ сделанный "on-line".

· Бин выбирает из базы данных данные, предназначенные только для чтения, которые часто используются клиентами.

 

 

 


11.01.2019; 16:27
хиты: 113
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь