Создание системы электронной коммерции
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
редитной линии и установку начального баланса. Пользователь с ролью BankCustomer может выполнять операции пополнения, снятия и перевода средств, делать обязательства и платежи, а также получать список транзакций счета. Обратите внимание, что функции, которые могут выполнять пользователи с разной ролью, не пересекаются.
Доступ к этим функциям ограничивается для определенной роли путем установки разрешений метода для выбранных методов корпоративных компонентов CustomerControllerEJB, AccountControllerEJB и TxControllerEJB. Например, разрешая доступ к методу createAccount в компоненте AccountControllerEJB только пользователям, имеющим роль BankAdmin, вы запретите пользователям, имеющим роль BankCustomer или любую другую роль, создавать банковские счета. Чтобы просмотреть установленные разрешения метода в deploytool, найдите корпоративные компоненты CustomerControllerEJB, AccountControllerEJB и TxControllerEJB в древовидном списке. Для каждого компонента выберите закладку Security и просмотрите разрешения метода.
7 Классы и их отношения
Клиент J2EE-приложения делится на три класса: bankAdmin, EventHandle и DataModel: отношения между классами показаны на рисунке 4.
Рисунок 4 - Отношения между классами
создает начальный пользовательский интерфейс, создает объект EventHandle и обеспечивает методы объектов EventHandle и DataModel для вызова обновления пользовательского интерфейса. перехватывает нажатия кнопок пользователем, выполняет действие в зависимости от нажатой кнопки, создает объект DataModel, вызывает методы объекта DataModel для записи данных и чтения их из базы данных, а также вызывает методы в объекте BankAdmin для обновления пользовательского интерфейса после завершения действий.
Класс DataModel извлекает данные из интерфейса пользователя, выполняет проверки данных, записывает проверенные данные и читает сохраненные данные из базы данных, вызывает методы объекта BankAdmin в зависимости от успешности операций чтения или записи в базу данных.
8 Web-клиент
В приложении Duke's Bank Web-клиент используется пользователями для доступа к информации о счете и выполнения операций над счетами. В таблице 2 приведен список функций, поддерживаемых клиентом, URL, используемые для доступа к функциям, и компоненты, реализующие функции. На рисунке 5 показан экран истории счета.
Таблица 2 Web-клиент
ФункцияПсевдонимы URLJSP-страницы Компоненты JavaBeans Домашняя страница/mainmain.jspВход или выход из приложения/logon /logonError /logofflogon.jsp logonError.jsp logoff.jspВывести счет/accountListaccountList.jspВывести историю счета/accountHistaccountHist.jspAccountHistoryBeanДвижение средств на счетах/transferFunds /transferAcktransferFunds.jsp transferAck.jspTransferBeanСнять или внести средства/atm /atmAckatm.jsp atmAck.jspATMBeanОбработка ошибок/errorerror.jsp
Рисунок 5 - История счета
.1 Стратегии проектирования
Основной функцией JSP-страниц в приложении Duke's Bank является презентация. Стратегией для разработки пригодных для обслуживания JSP-страниц является минимизация количества сценариев, встроенных в страницу. Для того чтобы достичь этого, большинство задач динамической обработки переложены на корпоративные компоненты, пользовательские теги и компоненты JavaBeans.
В приложении Duke's Bank JSP-страницы используют корпоративные компоненты для обработки взаимодействий с базой данных. В приложении Duke's Bank компонент TransferBean играет такую же роль. Однако другие компоненты JavaBeans имеют намного большую функциональность. ATMBean вызывает методы корпоративного компонента и устанавливает строки подтверждения согласно вводу пользователя, а AccountHistoryBean обрабатывает данные, возвращаемые из корпоративных компонентов, для того чтобы представить для просмотра данные, запрошенные пользователем.клиент использует механизм шаблонов, реализованный пользовательскими тегами (рассмотрены в разделе Библиотека шаблонных тегов), для обеспечения единого внешнего вида всех JSP-страниц. Механизм шаблонов состоит из трех компонентов:
-template.jsp определяет структуру каждого экрана. Он использует тег insert для составления экранной формы из субкомпонентов;
-screendefinitions.jsp определяет субкомпоненты, используемые каждым экраном. Все экраны имеют один и тот же баннер, но различные заголовки и содержимое тела;
Dispatcher - сервлет, обрабатывающий запросы и перенаправляющий их в template.jsp.
Наконец, для выполнения управления передачей Web-клиент использует три логических тега (iterate, equal и notEqual) из библиотеки тегов Struts, рассмотренной в разделе Примеры JSP-страниц.
8.2 Цикл жизни Web-клиента
Инициализация компонентов клиента Ответственность за управление корпоративными компонентами, используемыми Web-клиентом, лежит на классе BeanManager. Он создает корпоративные компоненты пользователя, счета и контроллера транзакций, а также предоставляет методы для извлечения компонентов.
При создании экземпляра BeanManager извлекает домашний интерфейс для каждого компонента из вспомогательного класса EJBGetter и создает экземпляр при помощи вызова метода create домашнего интерфейса. Поскольку это функция уровня приложения, BeanManager сам создается и сохраняется при первой инициализации клиента объектом ContextListener (см. раздел Обработка событий цикла жизни сервлета) как контекст атрибута.class BeanManager {
private CustomerController custctl;
private AccountController acctctl;
private TxController txctl;
public BeanManager() {
if (custctl == null) {
try {
CustomerControllerHome home =
EJBGetter.getCustomerControllerHome();
custctl = home.create();
} catch (RemoteException ex) {
System.out.println("...");
} catch (CreateException ex) {
System.out.println();
} catch (NamingException ex) {
System.out.println();
<