Сеансовые компоненты. Введениев Enterprise JavaBeans. Представления EJB и UML. Представление компонентов EnterpriseJavaBeans в UML, страница 3

Моделирование посредством подсистемы позволяет выявить аспекты, которые имеют специфическое значение, или скрыть несущественные детали. На рис. 12.2 приведен пример клиентского представления, в котором показаны внутренние элементы подсистемы. Обратите внимание на стереотипы, которыми помечены элементы. Эти стереотипы показывают, что смысл конструкций UML был расширен для поддержки специфических особенностей архитектуры J2EE. Кроме того, стереотипы представляют собой простое и компактное средство обозначения определенной роли, которую играет конкретный модельный элемент в составе EJB.

На практике часто желательно применять для клиентского представления какую-либо из компактных форм изображения подсистемы UML. Таким путем сохраняется простота и понятность диаграмм. Рекомендуемая форма клиентского представления показана на рис. 12.3.


Внутреннее представление

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

Клиентское представление можно назвать фасадом EJB. Внутреннее представление EJB раскрывает все содержимое пакета UML, как показано на рис. 12.4.

Сеансовые компоненты

Все эти сведения одинаково хорошо приложимы к любой разновидности компонентов EJB. Сейчас мы сосредоточим внимание исключительно на сеансовых компонентах EJB.

Сеансовые компоненты были первой разновидностью EJB, получившей всеобщее признание и широкое распространение. До сих пор во многих разработках на J2EE сеансовые компоненты — единственный используемый тип EJB. В дальнейшем эта ситуация, вероятно, будет меняться по мере того, как спецификация EJB будет расширять существующие возможности и дополняться новыми типами компонентов, и по мере улучшения поддержки существующих и вновь определенных типов на серверах приложений.

Распространенные компоненты

В настоящее время сеансовые компоненты применяются прежде всего для работы с транзакциями клиентов или, как говорит само их название, с сеансами клиентов.

Ключевые преимущества использования сеансовых компонентов таковы:

·  встроенные возможности управления транзакциями;

·  встроенные возможности управления состоянием.

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

Каждый раз, когда вы делаете покупку на Web-сайте, построенном на платформе J2EE, очень вероятно, что вас обслуживает именно сеансовый компонент, особенно в аспектах управления состоянием и транзакциями. Аналогично, при работе с платежной системой, электронным банковским счетом или любой другой услугой, которую только можно вообразить в Internet, сеансовые компоненты наиболее часто служат для обработки действий пользователя.

ВерсииJ2EE

Материал этой главы одинаково хорошо применим к сеансовым компонентам на базе J2EE 1.3 или J2EE 1.2. В отношении сеансовых компонентов различия между этими двумя спецификациями незначительны, а с точки зрения моделирования в UML они практически идентичны. Как мы увидим далее, для других типов компонентов EJB эти различия могут быть более существенными.

Типы сеансовых компонентов и диалоговое состояние

Сеансовые компоненты предназначены для обслуживания в как можно большей степени низкоуровневых аспектов транзакций и состояния сеанса клиента. Однако Web-разработчики могут4 выбрать один из нескольких возможных уровней управления, которые определяют, в каком объеме будут использованы возможности контейнера EJB и что останется для кодирования вручную.