Паттерны проектирования EJB. Распределенное приложение.

Презентация:



Advertisements
Похожие презентации
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
Advertisements

Паттерны проектирования «Facade» Никольский Кирилл 245 группа.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Cairngorm Microarchitecture Павел Кожин Exigen Services
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Трехслойная архитектура приложений, основанных на использовании баз данных.
Архитектура Web приложения Многослойная архитектура (2- слойная, 3-слойная) & MVC.
Организация хранилища единой коллекции цифровых образовательных ресурсов с использованием технологии «ЭЛАД» В.Ю. Лукин.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Enterprise Java Beans For students of universities Author: Oxana Dunik.
Лекция 4. Архитектурные стили Учебные вопросы: 1. Понятие архитектурного стиля. Классификация архитектурных стилей 2. Потоки данных, вызов с возвратом.
Распределенная обработка данных Различные модели в технологии баз данных.
1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
ADO.NET Технология доступа к данным платформы Microsoft.NET.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
Транксрипт:

Паттерны проектирования EJB

Распределенное приложение

Фасад сессии (Session Facade)

Как обеспечить клиенту возможность вызвать всю бизнес логику юзкейза в одной транзакции одним удаленным вызовом? Обернуть слой сервисов, содержащих бизнес – логику, в слой сервисов -фасадов.

Фасад сессии (Session Facade)

Достоинства: Меньшее количество удаленных вызовов; Четкое и строгое отделение бизнес логики от логики представления; Меньшая связность слоев системы; Вся бизнес-логика может выполняться в одной целостной транзакции; Недостаток: Разработчики клиентских приложений ограничены набором доступных методов в сервисах-фасадах.

Фасад сессии (Session Facade) Достоинства: Меньшее количество удаленных вызовов; Четкое и строгое отделение бизнес логики от логики представления; Меньшая связность слоев системы; Вся бизнес-логика может выполняться в одной целостной транзакции; Недостаток: Разработчики клиентских приложений ограничены набором доступных методов в сервисах-фасадах.

Серверная команда (EJB Command)

Необходимо обернуть все вызовы серверных сервисов, производимые клиентом, в легковесный объект Command, чей метод Execute исполняется на сервере. Достоинства: Все достоинства паттерна Session Facade; Большие возможности для распараллеливания работы: Меньшая зависимость разработчиков представления от набора методов фасадного сервиса; Легкость замены реальной команды заглушкой;

Серверная команда (EJB Command) Недостатки: Большая по сравнению c Session Façade связность между слоем фасадных сервисов и клиентом; Ограниченные возможности по выбросу исключений; В крупномасштабных проектах велик риск взрыва количества классов команд;

Серверная команда (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); }

Паттерны обмена данными между слоями 1. Транспортный объект, дублирующий структуру БД (Domain Data Transfer Object); 1. Транспортный объект, дублирующий структуру слоя представления (Custom Data Transfer Object); 1. Транспортный словарь (Data Transfer HashMap); 1. Фабрика транспортных объектов (Data Transfer Object Factory).

Паттерны проектирования EJB Паттерны хранения данных 1. Номер версии (Version Number); 1. Команда доступа к данным (Data Persistence Command); Паттерны слоя представления 1. Бизнес – обертка (Business Delegate).

Паттерны проектирования EJB