Быстрая разработка GUI для больших объёмов ...2014.secrus.org ›...
Transcript of Быстрая разработка GUI для больших объёмов ...2014.secrus.org ›...
![Page 1: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/1.jpg)
Russia Development Centre Deutsche Bank
Group Technology & Operations Deutsche Bank
Быстрая разработка GUI для больших объёмов данных с использованием CQRS парадигмы Алексей Рагозин
![Page 2: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/2.jpg)
Russia Development Centre Deutsche Bank
Deutsche Bank – один из крупнейших инвестиционных банков. Тысячи клиентов Десятки бизнес линий Милионы транзакций каждый
Условия рынка меняются Hовые законы Hовые рынки Hовые продукты
Наш челенж
![Page 3: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/3.jpg)
Russia Development Centre Deutsche Bank
Трейдинговый UI это
Сотни тысяч бизнес объектов на экране возможно милионы
которые меняются в реальном времени анноторованные рыночными котироваками
тикающими каждую секунду при этом UI должен быть быстрым
с низким потреблением ресурсов
Наш челенж
![Page 4: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/4.jpg)
Russia Development Centre Deutsche Bank
Model
View Controller
Парадигма CQRS
Общая модель данных для
управления и презентации
![Page 5: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/5.jpg)
Russia Development Centre Deutsche Bank
Command Query Responsibility Segregation
Парадигма CQRS
* Greg Young, Mark Nijhof, http://cre8ivethought.com/blog/2009/11/12/cqrs--la-greg-young
![Page 6: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/6.jpg)
Russia Development Centre Deutsche Bank
Command Query Responsibility Segregation
Парадигма CQRS
Управление Представление
Бэкэ
нд
Инерфейспользователя
Уровень данных
Кома
нды
Запр
осы
Собы
тия
![Page 7: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/7.jpg)
Russia Development Centre Deutsche Bank
Command Query Responsibility Segregation
Независимые модели данных Преставления - События Управления - Команды
Независимые цепочки компонентов Естественная модель для асинхронного выполнения команд
Парадигма CQRS
![Page 8: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/8.jpg)
Russia Development Centre Deutsche Bank
Традиционная архитектура OMS
Контролер
Шина обмена сообщениями ШлюзШлюз
Кэш
![Page 9: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/9.jpg)
Russia Development Centre Deutsche Bank
Данные меняются динамически Pull модель не работает Используем Push модель Continuous Query
Модель представления Модель визуализации – таблицы Модель хранения – таблицы (значительная часть) Используем реляционную модель для представления
Улучшаем CQRS
![Page 10: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/10.jpg)
Russia Development Centre Deutsche Bank
View Action Server
VAS
RTDB SQL KDB Whatever
Data sources
Query
UI
Actions
Actions
Backend?
![Page 11: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/11.jpg)
Russia Development Centre Deutsche Bank
Платформа Java (C# на стороне UI) Запросы в стиле LINQ
Непрерывная обработка данных Continuous queries
Реляционная модель и реляционная алгебра Унификация источников данных
Например, универсальный RDBMS адаптер
View Action Server
![Page 12: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/12.jpg)
Russia Development Centre Deutsche Bank
Виртуализованные таблицы Видимы диапазон передаётся на UI Сортировка и фильтрация на стороне VAS Selection model на стороне VAS Master – details линковка таблиц на сервере
Потребление памяти GUI не зависит от объёма данных Возможна on-demand подгрузка данных только для видимых строк Например: подписки на рыночные котировки только для видимых строк
View Action Server
![Page 13: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/13.jpg)
Russia Development Centre Deutsche Bank
“Виртуализация” данных В
иди
мы
й
диап
азон
Вы
дел
ени
е
Связанная таблица
Агрегаты
![Page 14: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/14.jpg)
Russia Development Centre Deutsche Bank
Повторное использование источников данных Нет доменных объектов, нет зависимостей на код Минимальное количество кода на бэк-энде Java для реализации комманд Реляционная алгерба для представления Быстрый старт разработки Простая конфигурация тестового окружения Повторное использование компонентов NFR обеспечивает платформа Централизация экспертизы в одной команде Эволюция платформы → улучшения дял всех бизнес приложений
Преимущества подхода
![Page 15: Быстрая разработка GUI для больших объёмов ...2014.secrus.org › 2014 › files › 087_ragozin.pdf · 2014-10-24 · Russia Development Centre](https://reader033.fdocument.pub/reader033/viewer/2022060314/5f0badde7e708231d431afa4/html5/thumbnails/15.jpg)
Russia Development Centre Deutsche Bank
Deutsche Bank Group Technology & Operations
Спасибо! Алексей Рагозин