Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемmozgoweb.com
1 Паттерны проектирования EJB
2 Распределенное приложение
3 Фасад сессии (Session Facade)
4 Как обеспечить клиенту возможность вызвать всю бизнес логику юзкейза в одной транзакции одним удаленным вызовом? Обернуть слой сервисов, содержащих бизнес – логику, в слой сервисов -фасадов.
5 Фасад сессии (Session Facade)
6 Достоинства: Меньшее количество удаленных вызовов; Четкое и строгое отделение бизнес логики от логики представления; Меньшая связность слоев системы; Вся бизнес-логика может выполняться в одной целостной транзакции; Недостаток: Разработчики клиентских приложений ограничены набором доступных методов в сервисах-фасадах.
7 Фасад сессии (Session Facade) Достоинства: Меньшее количество удаленных вызовов; Четкое и строгое отделение бизнес логики от логики представления; Меньшая связность слоев системы; Вся бизнес-логика может выполняться в одной целостной транзакции; Недостаток: Разработчики клиентских приложений ограничены набором доступных методов в сервисах-фасадах.
8 Серверная команда (EJB Command)
9 Необходимо обернуть все вызовы серверных сервисов, производимые клиентом, в легковесный объект Command, чей метод Execute исполняется на сервере. Достоинства: Все достоинства паттерна Session Facade; Большие возможности для распараллеливания работы: Меньшая зависимость разработчиков представления от набора методов фасадного сервиса; Легкость замены реальной команды заглушкой;
10 Серверная команда (EJB Command) Недостатки: Большая по сравнению c Session Façade связность между слоем фасадных сервисов и клиентом; Ограниченные возможности по выбросу исключений; В крупномасштабных проектах велик риск взрыва количества классов команд;
11 Серверная команда (EJB Command) Class WithdrawFundsCommand inherits AbstractCommand { public void execute() throws Command Exception { //получить сервис логирования SecurityService securityService = ServiceFactory.create(security); //выполнить логический вход User user = securitySerivce.login(m_login, m_password); //получить сервиса работы со счетом и снять сумму FundsService fundsService = ServiceFactory.create(funds); fundsService.withdraw(user, m_amount); }
12 Паттерны обмена данными между слоями 1. Транспортный объект, дублирующий структуру БД (Domain Data Transfer Object); 1. Транспортный объект, дублирующий структуру слоя представления (Custom Data Transfer Object); 1. Транспортный словарь (Data Transfer HashMap); 1. Фабрика транспортных объектов (Data Transfer Object Factory).
13 Паттерны проектирования EJB Паттерны хранения данных 1. Номер версии (Version Number); 1. Команда доступа к данным (Data Persistence Command); Паттерны слоя представления 1. Бизнес – обертка (Business Delegate).
14 Паттерны проектирования EJB
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.