WebSphere - Plants |
|
|
![]() |
|
Запуск | Настройка | Комментарии | Javadoc | Компоновка с помощью Ant |
Начало работы |
Расположение таблицы базы данных |
Расположение исходного кода |
Примечания к коду |
Для того чтобы создать отдельный адрес электронной почты и пароль для примера WebSphere Plants, щелкните на ссылке зарегистрировать учетную запись на странице идентификации. В следующей таблице приведены сведения об адресе электронной почты и пароле, установленным для Plants по умолчанию:
Адрес электронной почты | plants@plantsbywebsphere.ibm.com |
Пароль | plants |
В примере используются следующие таблицы баз данных: CUSTOMER, INVENTORY, ORDERINFO, ORDERITEM, IDGENERATOR, BACKORDER и SUPPLIER. Эти таблицы находятся в базе данных PLANTSDB. База данных PLANTSDB расположена в файле PlantsByWebSphere.ear каталога каталог-профайла/installedApps/узел/PlantsByWebSphere.ear/Database/PLANTSDB, где узел - имя узла, на котором установлено приложение.
Структуру таблиц можно представить в виде операторов SQL следующим образом:
CREATE TABLE CUSTOMER ( CUSTOMERID VARCHAR(250) NOT NULL, PASSWORD VARCHAR(250), FIRSTNAME VARCHAR(250), LASTNAME VARCHAR(250), ADDR1 VARCHAR(250), ADDR2 VARCHAR(250), ADDRCITY VARCHAR(250), ADDRSTATE VARCHAR(250), ADDRZIP VARCHAR(250), PHONE VARCHAR(250)); |
Исходный код находится в каталогах
Пользователи z/OS: Исходный код примеров недоступен для платформы z/OS, т.к. компоновка демонстрационных приложений на этой платформе не предусмотрена.
Обзор |
Сервлеты |
Объекты EJB |
Пример WebSphere Plants демонстрирует следующие технологии:
Приложение Plants WebSphere включает набор страниц JSP и HTML. Эти страницы взаимодействуют со следующими сервлетами: AccountServlet, ShoppingServlet, ImageServlet и AdminServlet. Сервлеты используют различные методы объектов EJB, которые, в свою очередь, при необходимости получают данные из баз данных. В целом, сеансовые объекты EJB без сохранения состояния используются в качестве средства доступа к сущностным объектам, что уменьшает количество транзакций.
Ниже описаны используемые в приложении сервлеты.
Сервлет ShoppingServlet управляет большей частью взаимодействий между браузером и объектами EJB. Сюда входят управление товарами, корзиной и заказами. Сеансовый объект Catalog используется для просмотра различных категорий товаров, для поиска и отображения всех найденных объектов Inventory. Информацию по выбранному товару сеансовый объект Catalog запрашивает у сущностного объекта Inventory CMP.
При добавлении товара в корзину создается сущностный объект ShoppingCart, работающий с сохранением сеанса. Сеансовый объект Catalog получает данные от объектов Inventory и помещает выбранный товар в корзину and places the item (объект ShoppingCart). Отображение и обновление содержимого корзины также осуществляются объектом ShoppingCart.
После вывода сведений о стоимости и способе доставки объект ShoppingCart создает сущностный объект Order CMP. После завершения процедуры проверки для отправки электронного письма с подтверждением (с помощью API JavaMail) создается сеансовый объект Mailer (работает без сохранения сеанса).
Сервлет ImageServlet получает и размещает изображения товаров, находящиеся в базе данных. Сервлет помещает изображения из базы данных в страницы JSP и HTML и передает их браузеру.
Сервлет AdminServlet обрабатывает запросы от пользователя (браузера) на обновление базы данных.
При обработке запроса на обновление базы данных, поступившего от страницы help.jsp, сервлет AdminServlet создает управляемое объектом хранилище (BMP) ResetDB. Этот объект полностью очищает таблицы баз данных и вносит в них значения, указанные в файле параметров pbw.properties.
Ниже описаны используемые в приложении объекты EJB.
Catalog является сеансовым объектом, не сохраняющим состояние. Он предоставляет возможность обращения к CMP-объекту Inventory. Обычно сеансовые объекты, не сохраняющие состояние, служат для обращения к данным сущностных объектов EJB, при этом уменьшается количество используемых транзакций. Сеансовый объект EJB Catalog способен получать информацию от одного или нескольких объектов Inventory. Он содержит методы для добавления и удаления экземпляров Inventory. Методы сеансового объекта EJB Catalog также позволяют изменять существующие объекты Inventory.
Customer - сущностный CMP-объект EJB. Он содержит и обрабатывает данные учетных записей клиентов. Сущностный объект EJB Customer включает методы для создания, поиска и обновления информации и клиенте, а также для проверки пароля и получения значений собственных полей.
Inventory - сущностный CMP-объект EJB. Этот объект содержит и обрабатывает данные о товарах. Существующие методы позволяют создавать, получать и изменять значения полей, а также выполнять поиск.
Login является сеансовым объектом EJB, не сохраняющим состояние. Этот объект использует методы сущностного CMP-объекта Customer для создания и обновления учетных записей клиентов.
Mailer является сеансовым объектом EJB, не сохраняющим состояние. Этот объект создает и отправляет электронное письмо с подтверждением, используя функции API JavaMail.
Order - сущностный CMP-объект EJB. Этот объект содержит и обрабатывает данные о заказах. Существующие методы позволяют создавать поля и получать значения полей, а также выполнять поиск.
OrderItem - сущностный CMP-объект EJB. Этот документ содержит и обрабатывает данные об одном заказанном товаре. Существующие методы позволяют создавать поля и получать значения полей, а также выполнять поиск.
ReportGenerator - сеансовый объект EJB, не сохраняющий состояние. Этот объект создает отчеты на основе информации о заказах. ReportGenerator использует методы сущностного CMP-объекта EJB Order. В отчет входят сведения о том, какой товар чаще всего покупали в течение определенного периода времени и в какие регионы (в отчете указываются почтовые индексы) было отправлено наибольшее количество товаров в течение определенного периода времени.
ShoppingCart - сеансовый объект EJB, сохраняющий состояние. Этот объект хранит список товаров, заказанных в течение сеанса HTTP. Методы объекта ShoppingCart позволяют добавлять, удалять товары и обновлять сведения о них. ShoppingCart также включает метод для создания нового сущностного CMP-объекта EJB Order (вызывается при осуществлении заказа).
ResetDB - сущностный BMP-объект EJB. Этот объект удаляет все строки в таблицах баз данных.