Rambler's Top100IT • archiv

rus / eng | Логин | Комментарий к колонке | Печать | Почта | Клуб




Колонки


Enterprise JavaBeans. Часть 4

 
(Гопалан Суреш Рай)
Разработка многоуровневого приложения EJB

Как Вы можете предложить бизнес-решение, основанное на EJB, интегрируя session- и entity-бины? Предположим, что Вы - консультационная фирма, получившая запрос на разработку оперативного склада для сети книжных магазинов, торгующих художественной литературой, называемой Horses and Stable, Inc.  Эта сеть книжных магазинов хочет распространить свой бизнес на Web. Сейчас предположим, что Horses and Stable Online перевозит около 5 миллионов книг и продают десятки тысяч экземпляров книг каждый день.

Horses and Stable Online предлагает расширенный книжный каталог, так же как и разнообразие других ресурсов, включая обзоры клиентов, личные рекомендации, и подарочные предложения. Когда клиенты посещают Horses and Stable Online, они должны иметь возможность:

Просматривать книги в 28 предметных зонах и просматривать музыкальные произведения в сотнях жанров в 14 различных категориях(?).

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

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

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

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

Все эти примеры делают использование "HomeBase" v0.5.1 (называемого ранее "EJBHome"— не путать с javax.ejb.ejbhome interface) сервера EJB с Iona, изготовителя популярной CORBA ORB Orbix. Вы можете загрузить свободное исполнение HomeBase, также как и инструментов развертывания для генерирования контейнеров из http://ejbhome.iona.com. Вы также можете, конечно, выбрать для использования любой другой сервер EJB и инструменты развертывания  пока вы знаете как модифицировать ваши дескрипторы развертывания, чтобы они подходили определенному серверу EJB, с которым вы работаете. Также, вам необходима база данных, и вы должны знать как установить источник данных для вашей платформы.

Предположим, что следуя к концу данной статьи, вы построите оперативный склад, с которого книги и музыкальные СD могут покупаться через Web.

Код, используемый для разработки нашего оперативного склада состоит из

1. Пары entity-бинов (книжные и музыкальные entity-бины)
2. Session-бины (cart session бин), который создает и управляет entities.
3. Сервлет клиент (Online сервлет), который создает cart и иммитирует оперативный склад
4. Клиент entity-бина для тестирования наших entities
5. Клиент session-бина для тестирования нашего session-бина
6. База данных Microsoft Access (Shop. mdb) содержащая складской учет

Следующий рис 6 показывает архитектуру нашего оперативного книжного склада. Клиент Web browser начинает весь процесс инициированием session и отправкой сообщения GET на Online сервлет, который находится на Web сервере. Метод init ( ) класса сервлета Online ищет Cart EJB на сервере EJB и создает Cart EJB. Cart EJB, в свою очередь, создает Books Entity бин и Music Entity бин, который общается с базой данных, чтобы получить выполненную работу.

Рисунок 6: 4-х уровневая архитектура для нашего оперативного склада

EJB Server - сервер EJB

Shop Database - база данных магазина

Entity EJB - Books - Entity EJB - книги

Entity EJB - Music - Entity EJB - музыка

Session EJB -Cart

Web Server - Web сервер

Servlet EJB Client - клиент сервлета EJB

 Web browser Servlet Client - клиент сервлета Web browser

TOC | Часть 5 >




Справка | Условия Copyright © 1999 — 2008, IT • archiv.
В начало | Логин | Комментарий к колонке | Поиск | Почта