Создание системы электронной коммерции

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

редитной линии и установку начального баланса. Пользователь с ролью 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();

<