Глава 12Сеансовые компоненты
Соответствие процессу: в этой главе наше внимание также обращено на проектирование в рамках дисциплины анализа и проектирования рационального унифицированного процесса (RUP). Также рассматриваются некоторые аспекты реализации в контексте технологии EJB.
В главе 10 мы решили разбить объект управления на две части, вторая из которых будет заниматься внутренними взаимодействиями и логикой приложения. Эти обязанности - сфера действий особого вида компонентов EnterpriseJavaBeans, называемых сеансовыми компонентами.
В данной главе мы сначала рассмотрим компоненты EJB в общих чертах, а затем изучим, как сеансовые компоненты моделируются на языке UML. После этого мы исследуем важнейшие технологические аспекты сеансовых компонентов, а в заключение покажем, как использовать их в нашем примере электронной банковской системы HomeDirect.
Введениев Enterprise JavaBeans
Спецификация EJB находится в самой основе платформы J2EE. Эта спецификация определяет обширную модель компонентов для создания компонентов масштабируемого, распределенного серверного приложения масштаба предприятия на Java. Основные идеи, заложенные в спецификацию EJB, таковы.
· Дать посторонним производителям, например разработчикам серверов приложений, возможность поставлять как можно большую часть обычной базовой инфраструктуры системы (например, связь между распределенными частями, защита, транзакции и т.д.) в унифицированном виде, что позволит значительно упростить задачу разработки распределенных приложений.
· Предоставить средства для создания компонентов многократного использования, которые можно применять на разных платформах, с целью уменьшить общий объем разработки.
· Дать разработчикам шаблон для реализации приложений на Enterprise Java.
· Создать модель разработки приложений на Enterprise Java, в которой аспекты разработки, сборки и развертывания будут разделены.
Для достижения этих целей в EJB находят применение следующие ключевые концепции.
· Контейнер. Компоненты EJB развертываются не непосредственно на сервере приложений, а в контейнере. Контейнер создает среду выполнения для EJB, управляет их жизненным циклом и предоставляет дополнительные функции. (Концепция контейнеров рассматривалась в главе 2.)
· Шаблон Proxy. Компоненты EJB строятся не по монолитному принципу, а на базе шаблона Proxy. Это означает, что компонент разделяется на клиентский и удаленный объекты. Поэтому пользователь EJB видит только клиентский объект, представленный интерфейсами EJB, а в удаленном объекте при необходимости можно свободно изменять детали реализации (размещение в сети, способ транспортировки и т.д.).
· Описатель развертывания. Для содействия отделению операций разработки от развертывания, т.е. создания возможности настраивать компоненты после разработки, в EJB применяется концепция описателя развертывания. Этот описатель является средством декларативной настройки EJB, избавляющим от необходимости вносить изменения непосредственно в код компонента.
Однако неправильно будет применять технологию EJB только потому, что она производит хорошее впечатление или потому, что ее использует кто-то еще. Для задачи, которая перед вами стоит, могут найтись хорошие решения и без применения EJB.
Ниже перечислены причины, по которым может быть полезно принять в расчет технологию EJB.
· Требуется поддержка клиентов нескольких разных типов, например, приложения Java и интерфейса на базе броузера. В этой ситуации имеет смысл использовать EJB, так как тогда можно разместить логику приложения и данные в нескольких компонентах EJB, к которым смогут обращаться разные клиенты.
· Требуется доступ и обновление данных несколькими источниками параллельно.EJB имеет встроенные функции для решения этой проблемы.
· Приложение требует использования транзакций баз данных. Эта возможность встроена в EJB, и можно ожидать достаточную поддержку в этой области.
· Приложение требует тонко настраиваемых функций безопасности, например возможности ограничивать доступ на уровне операций классов. Эти функции также обеспечиваются в EJB.
· Приложение должно быть способно работать с очень большим количеством пользователей. Компоненты EJB предназначены для построения крупномасштабных распределенных систем, поэтому с ними значительно легче будет добавлять в систему дополнительные серверы.
· Требуется или будет требоваться в дальнейшем высокая надежность приложения. Если ожидается , что для приложения будет допустимо лишь малое время или даже отсутствие простоя, вероятно, потребуется какой-то механизм избыточности. Технология EJB не поддерживает эту возможность непосредственно, но в сочетании с хорошим сервером приложений позволяет легче достичь ее.
В настоящее время существует три разновидности компонентов EJB. В первую очередь мы рассмотрим разновидность, которая носит название сеансовых компонентов (session beans).
Представления EJB и UML
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.