Быстрая разработка GUI для больших объёмов ...2014.secrus.org ›...

Post on 23-Jun-2020

4 views 0 download

Transcript of Быстрая разработка GUI для больших объёмов ...2014.secrus.org ›...

Russia Development Centre Deutsche Bank

Group Technology & Operations Deutsche Bank

Быстрая разработка GUI для больших объёмов данных с использованием CQRS парадигмы Алексей Рагозин

Russia Development Centre Deutsche Bank

Deutsche Bank – один из крупнейших инвестиционных банков. Тысячи клиентов Десятки бизнес линий Милионы транзакций каждый

Условия рынка меняются Hовые законы Hовые рынки Hовые продукты

Наш челенж

Russia Development Centre Deutsche Bank

Трейдинговый UI это

Сотни тысяч бизнес объектов на экране возможно милионы

которые меняются в реальном времени анноторованные рыночными котироваками

тикающими каждую секунду при этом UI должен быть быстрым

с низким потреблением ресурсов

Наш челенж

Russia Development Centre Deutsche Bank

Model

View Controller

Парадигма CQRS

Общая модель данных для

управления и презентации

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

Russia Development Centre Deutsche Bank

Command Query Responsibility Segregation

Парадигма CQRS

Управление Представление

Бэкэ

нд

Инерфейспользователя

Уровень данных

Кома

нды

Запр

осы

Собы

тия

Russia Development Centre Deutsche Bank

Command Query Responsibility Segregation

Независимые модели данных Преставления - События Управления - Команды

Независимые цепочки компонентов Естественная модель для асинхронного выполнения команд

Парадигма CQRS

Russia Development Centre Deutsche Bank

Традиционная архитектура OMS

Контролер

Шина обмена сообщениями ШлюзШлюз

Кэш

Russia Development Centre Deutsche Bank

Данные меняются динамически Pull модель не работает Используем Push модель Continuous Query

Модель представления Модель визуализации – таблицы Модель хранения – таблицы (значительная часть) Используем реляционную модель для представления

Улучшаем CQRS

Russia Development Centre Deutsche Bank

View Action Server

VAS

RTDB SQL KDB Whatever

Data sources

Query

UI

Actions

Actions

Backend?

Russia Development Centre Deutsche Bank

Платформа Java (C# на стороне UI) Запросы в стиле LINQ

Непрерывная обработка данных Continuous queries

Реляционная модель и реляционная алгебра Унификация источников данных

Например, универсальный RDBMS адаптер

View Action Server

Russia Development Centre Deutsche Bank

Виртуализованные таблицы Видимы диапазон передаётся на UI Сортировка и фильтрация на стороне VAS Selection model на стороне VAS Master – details линковка таблиц на сервере

Потребление памяти GUI не зависит от объёма данных Возможна on-demand подгрузка данных только для видимых строк Например: подписки на рыночные котировки только для видимых строк

View Action Server

Russia Development Centre Deutsche Bank

“Виртуализация” данных В

иди

мы

й

диап

азон

Вы

дел

ени

е

Связанная таблица

Агрегаты

Russia Development Centre Deutsche Bank

Повторное использование источников данных Нет доменных объектов, нет зависимостей на код Минимальное количество кода на бэк-энде Java для реализации комманд Реляционная алгерба для представления Быстрый старт разработки Простая конфигурация тестового окружения Повторное использование компонентов NFR обеспечивает платформа Централизация экспертизы в одной команде Эволюция платформы → улучшения дял всех бизнес приложений

Преимущества подхода

Russia Development Centre Deutsche Bank

Deutsche Bank Group Technology & Operations

Спасибо! Алексей Рагозин