🗊CQRS - инновационное решение проблем современных Enterprise приложений.

Категория: Технологии
Нажмите для полного просмотра!
CQRS - инновационное решение проблем современных Enterprise приложений., слайд №1CQRS - инновационное решение проблем современных Enterprise приложений., слайд №2CQRS - инновационное решение проблем современных Enterprise приложений., слайд №3CQRS - инновационное решение проблем современных Enterprise приложений., слайд №4CQRS - инновационное решение проблем современных Enterprise приложений., слайд №5CQRS - инновационное решение проблем современных Enterprise приложений., слайд №6CQRS - инновационное решение проблем современных Enterprise приложений., слайд №7CQRS - инновационное решение проблем современных Enterprise приложений., слайд №8CQRS - инновационное решение проблем современных Enterprise приложений., слайд №9CQRS - инновационное решение проблем современных Enterprise приложений., слайд №10CQRS - инновационное решение проблем современных Enterprise приложений., слайд №11CQRS - инновационное решение проблем современных Enterprise приложений., слайд №12CQRS - инновационное решение проблем современных Enterprise приложений., слайд №13CQRS - инновационное решение проблем современных Enterprise приложений., слайд №14CQRS - инновационное решение проблем современных Enterprise приложений., слайд №15CQRS - инновационное решение проблем современных Enterprise приложений., слайд №16CQRS - инновационное решение проблем современных Enterprise приложений., слайд №17CQRS - инновационное решение проблем современных Enterprise приложений., слайд №18CQRS - инновационное решение проблем современных Enterprise приложений., слайд №19CQRS - инновационное решение проблем современных Enterprise приложений., слайд №20CQRS - инновационное решение проблем современных Enterprise приложений., слайд №21CQRS - инновационное решение проблем современных Enterprise приложений., слайд №22CQRS - инновационное решение проблем современных Enterprise приложений., слайд №23CQRS - инновационное решение проблем современных Enterprise приложений., слайд №24CQRS - инновационное решение проблем современных Enterprise приложений., слайд №25CQRS - инновационное решение проблем современных Enterprise приложений., слайд №26CQRS - инновационное решение проблем современных Enterprise приложений., слайд №27CQRS - инновационное решение проблем современных Enterprise приложений., слайд №28CQRS - инновационное решение проблем современных Enterprise приложений., слайд №29CQRS - инновационное решение проблем современных Enterprise приложений., слайд №30CQRS - инновационное решение проблем современных Enterprise приложений., слайд №31CQRS - инновационное решение проблем современных Enterprise приложений., слайд №32CQRS - инновационное решение проблем современных Enterprise приложений., слайд №33CQRS - инновационное решение проблем современных Enterprise приложений., слайд №34CQRS - инновационное решение проблем современных Enterprise приложений., слайд №35CQRS - инновационное решение проблем современных Enterprise приложений., слайд №36CQRS - инновационное решение проблем современных Enterprise приложений., слайд №37CQRS - инновационное решение проблем современных Enterprise приложений., слайд №38CQRS - инновационное решение проблем современных Enterprise приложений., слайд №39CQRS - инновационное решение проблем современных Enterprise приложений., слайд №40CQRS - инновационное решение проблем современных Enterprise приложений., слайд №41CQRS - инновационное решение проблем современных Enterprise приложений., слайд №42CQRS - инновационное решение проблем современных Enterprise приложений., слайд №43CQRS - инновационное решение проблем современных Enterprise приложений., слайд №44CQRS - инновационное решение проблем современных Enterprise приложений., слайд №45CQRS - инновационное решение проблем современных Enterprise приложений., слайд №46CQRS - инновационное решение проблем современных Enterprise приложений., слайд №47CQRS - инновационное решение проблем современных Enterprise приложений., слайд №48CQRS - инновационное решение проблем современных Enterprise приложений., слайд №49CQRS - инновационное решение проблем современных Enterprise приложений., слайд №50CQRS - инновационное решение проблем современных Enterprise приложений., слайд №51CQRS - инновационное решение проблем современных Enterprise приложений., слайд №52CQRS - инновационное решение проблем современных Enterprise приложений., слайд №53CQRS - инновационное решение проблем современных Enterprise приложений., слайд №54CQRS - инновационное решение проблем современных Enterprise приложений., слайд №55CQRS - инновационное решение проблем современных Enterprise приложений., слайд №56CQRS - инновационное решение проблем современных Enterprise приложений., слайд №57CQRS - инновационное решение проблем современных Enterprise приложений., слайд №58CQRS - инновационное решение проблем современных Enterprise приложений., слайд №59

Содержание

Вы можете ознакомиться и скачать CQRS - инновационное решение проблем современных Enterprise приложений.. Презентация содержит 59 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





CQRS - инновационное решение проблем современных Enterprise приложений.
Описание слайда:
CQRS - инновационное решение проблем современных Enterprise приложений.

Слайд 2





Содержание
Почему CQRS ?
История возникновения современной архитектуры
Проблемы CRUD
CQRS как решение проблем
Архитектура CQRS приложений
Реализация CQRS на основе Axon framework
Event Store от Exigen Services
CQRS приложения разрабатываемые в Exigen Services
Описание слайда:
Содержание Почему CQRS ? История возникновения современной архитектуры Проблемы CRUD CQRS как решение проблем Архитектура CQRS приложений Реализация CQRS на основе Axon framework Event Store от Exigen Services CQRS приложения разрабатываемые в Exigen Services

Слайд 3





Почему CQRS ?
 Почему CQRS ?
Описание слайда:
Почему CQRS ? Почему CQRS ?

Слайд 4





Поговорим про эволюцию разработки Enterprise приложений
Описание слайда:
Поговорим про эволюцию разработки Enterprise приложений

Слайд 5





Эволюция представления документов 
Эра бумажных документов
Описание слайда:
Эволюция представления документов Эра бумажных документов

Слайд 6





Эволюция представления документов
Описание слайда:
Эволюция представления документов

Слайд 7





Эра электронных архивов
Описание слайда:
Эра электронных архивов

Слайд 8





Эра электронных архивов
Описание слайда:
Эра электронных архивов

Слайд 9





Эволюция обработки данных
Эра бизнес процессов
Описание слайда:
Эволюция обработки данных Эра бизнес процессов

Слайд 10





Однако…
CRUD подход ориентирован не на отображение модели бизнес логики, а на манипуляцию данными.
Описание слайда:
Однако… CRUD подход ориентирован не на отображение модели бизнес логики, а на манипуляцию данными.

Слайд 11





Основные проблемы CRUD
II.  Основные проблемы CRUD
Описание слайда:
Основные проблемы CRUD II. Основные проблемы CRUD

Слайд 12





Проблема 1. Использование JavaBean ….
JavaBean – “Reusable software components that can be manipulated visually in a builder tool”.
Описание слайда:
Проблема 1. Использование JavaBean …. JavaBean – “Reusable software components that can be manipulated visually in a builder tool”.

Слайд 13





… приводит к …
Нарушению инкапсуляции бизнес объектов. 
Ухудшению читаемости кода
Трудности поддержки
Вся бизнес логика 
переносится в методы
 сервисов.
Описание слайда:
… приводит к … Нарушению инкапсуляции бизнес объектов. Ухудшению читаемости кода Трудности поддержки Вся бизнес логика переносится в методы сервисов.

Слайд 14





Проблема 2.  Оптимизация производительности  и её последствия.
Использование ORM Tool вместе с денормализацией размывает
Описание слайда:
Проблема 2. Оптимизация производительности  и её последствия. Использование ORM Tool вместе с денормализацией размывает

Слайд 15





Проблема 3. Проблема масштабируемости
В теореме CAP при обработке бизнес данных мы всегда выбираем целостность данных (C)
Описание слайда:
Проблема 3. Проблема масштабируемости В теореме CAP при обработке бизнес данных мы всегда выбираем целостность данных (C)

Слайд 16





Проблема 4: В реальной жизни не бывает конфликтов модификации данных
В бизнес процессах происходящих в реальной жизни не бывает конфликтов модификации данных.
 Если возникает такой конфликт значит это проблема в реализации бизнес логики. 
CRUD  не учитывает этого.
Описание слайда:
Проблема 4: В реальной жизни не бывает конфликтов модификации данных В бизнес процессах происходящих в реальной жизни не бывает конфликтов модификации данных. Если возникает такой конфликт значит это проблема в реализации бизнес логики. CRUD  не учитывает этого.

Слайд 17





CQRS как решение
III.  CQRS как решение
Описание слайда:
CQRS как решение III. CQRS как решение

Слайд 18





CQRS
CQRS - Command Query Responsibility Segregation
Описание слайда:
CQRS CQRS - Command Query Responsibility Segregation

Слайд 19





Проблема 1: Использование JavaBean
Использование JavaBean остаётся для отображения данных на стороне обработки запросов, но JavaBean != Domain Entity.
Описание слайда:
Проблема 1: Использование JavaBean Использование JavaBean остаётся для отображения данных на стороне обработки запросов, но JavaBean != Domain Entity.

Слайд 20





Проблема 2:  Оптимизация производительности  и её последствия.
Денормализация данных выполняется только на стороне обработки запросов.
Описание слайда:
Проблема 2: Оптимизация производительности  и её последствия. Денормализация данных выполняется только на стороне обработки запросов.

Слайд 21





Данные на стороне запросов
Каждая таблица – денормализованное представление данных на экране пользователя
Описание слайда:
Данные на стороне запросов Каждая таблица – денормализованное представление данных на экране пользователя

Слайд 22





Проблема 3: Проблема масштабируемости
Целостность данных нужна только на стороне обработки бизнес логики.
На стороне обработки запросов мы можем использовать eventual consistency
Описание слайда:
Проблема 3: Проблема масштабируемости Целостность данных нужна только на стороне обработки бизнес логики. На стороне обработки запросов мы можем использовать eventual consistency

Слайд 23





Проблема 4: В реальной жизни не бывает конфликтов модификации данных
1. В виде значений переменных внутри объекта.
Описание слайда:
Проблема 4: В реальной жизни не бывает конфликтов модификации данных 1. В виде значений переменных внутри объекта.

Слайд 24





Два подхода представления объектов
Описание слайда:
Два подхода представления объектов

Слайд 25





Два подхода представления объектов
Каждый агрегат – это пакет событий.
Нет необходимости использовать реляционные базы данных.
База должна обладать ACID свойствами.
Описание слайда:
Два подхода представления объектов Каждый агрегат – это пакет событий. Нет необходимости использовать реляционные базы данных. База должна обладать ACID свойствами.

Слайд 26





Два подхода представления объектов
Преимущества:
удобный мониторинг изменений состояния системы 
возможность отката состояния системы до любого момента времени
удобный механизм репликации данных и разрешения конфликтов
Описание слайда:
Два подхода представления объектов Преимущества: удобный мониторинг изменений состояния системы возможность отката состояния системы до любого момента времени удобный механизм репликации данных и разрешения конфликтов

Слайд 27





Разрешение конфликтов
Описание слайда:
Разрешение конфликтов

Слайд 28





Архитектура CQRS приложений
IV. Архитектура CQRS приложений
Описание слайда:
Архитектура CQRS приложений IV. Архитектура CQRS приложений

Слайд 29





CQRS – это только подход
CQRS  это только подход,
 как вы его реализуете, зависит только от вас.
Описание слайда:
CQRS – это только подход CQRS  это только подход, как вы его реализуете, зависит только от вас.

Слайд 30


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №30
Описание слайда:

Слайд 31





Queries
Многослойная архитектура
Описание слайда:
Queries Многослойная архитектура

Слайд 32


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №32
Описание слайда:

Слайд 33





Commands
Команда – представляет собой отражение бизнес действия, действия в котором заинтересован пользователь приложения.
Преимущество использования команд:
Ориентация на бизнес проблемы пользователя.
Удобный механизм мониторинга и масштабирования
Описание слайда:
Commands Команда – представляет собой отражение бизнес действия, действия в котором заинтересован пользователь приложения. Преимущество использования команд: Ориентация на бизнес проблемы пользователя. Удобный механизм мониторинга и масштабирования

Слайд 34


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №34
Описание слайда:

Слайд 35


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №35
Описание слайда:

Слайд 36





Event bus
Репликация данных между компонентом обработки бизнес логики и компонентом селективных выборок.
В обычном приложении количество селективных запросов на порядок больше количества запросов на изменение данных. 
Один бизнес компонент  - множество query компонент
Описание слайда:
Event bus Репликация данных между компонентом обработки бизнес логики и компонентом селективных выборок. В обычном приложении количество селективных запросов на порядок больше количества запросов на изменение данных. Один бизнес компонент - множество query компонент

Слайд 37





….преимущества…..
Хорошие условия для реализации DDD
Использование CEP
Готовность к облачным вычислениям
Простота распределения обязанностей между узконаправленными командами
Описание слайда:
….преимущества….. Хорошие условия для реализации DDD Использование CEP Готовность к облачным вычислениям Простота распределения обязанностей между узконаправленными командами

Слайд 38





Реализации CQRS
V.  Реализация CQRS
Описание слайда:
Реализации CQRS V. Реализация CQRS

Слайд 39





Axon framework
Axon framework  - самый популярный и наиболее функциональный.
Описание слайда:
Axon framework Axon framework - самый популярный и наиболее функциональный.

Слайд 40





Пример CQRS приложения
Address Book –управление списком адресов
Описание слайда:
Пример CQRS приложения Address Book –управление списком адресов

Слайд 41


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №41
Описание слайда:

Слайд 42





Создание и отправка команды
Описание слайда:
Создание и отправка команды

Слайд 43


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №43
Описание слайда:

Слайд 44





Обработка команды
Описание слайда:
Обработка команды

Слайд 45





Бизнес действие
Описание слайда:
Бизнес действие

Слайд 46





Обработка события изменения состояния
Описание слайда:
Обработка события изменения состояния

Слайд 47


CQRS - инновационное решение проблем современных Enterprise приложений., слайд №47
Описание слайда:

Слайд 48





Запросная часть
Описание слайда:
Запросная часть

Слайд 49





Простота настройки
Описание слайда:
Простота настройки

Слайд 50





Axon – repository и event store.
Описание слайда:
Axon – repository и event store.

Слайд 51





Event Stores – pros and cons
нет поддержки ACID свойств 
большая скорость обработки данных
Описание слайда:
Event Stores – pros and cons нет поддержки ACID свойств большая скорость обработки данных

Слайд 52





Orient DB Event store
Поддержка транзакционности.
Очень большая скорость чтения и  записи данных.
Поддержка кластеризации.
Описание слайда:
Orient DB Event store Поддержка транзакционности. Очень большая скорость чтения и записи данных. Поддержка кластеризации.

Слайд 53





Orient DB Event store
Описание слайда:
Orient DB Event store

Слайд 54





Примеры реализации в ExigenServices
Примеры реализации в ExigenServices
Описание слайда:
Примеры реализации в ExigenServices Примеры реализации в ExigenServices

Слайд 55





Примеры реализации внутри компании
Автоматизация выдачи залогов и учёт ценностей в ломбардах. 
Учёт нарядов выполненных работ в Днепропетровской 
Торгово-Промышленной Палате.
Описание слайда:
Примеры реализации внутри компании Автоматизация выдачи залогов и учёт ценностей в ломбардах. Учёт нарядов выполненных работ в Днепропетровской Торгово-Промышленной Палате.

Слайд 56





Итоги
CQRS – подход, обеспечивающий реализацию современных требований к корпоративным системам с точки зрения их масштабируемости, мониторинга, построения сложной бизнес логики.
Описание слайда:
Итоги CQRS – подход, обеспечивающий реализацию современных требований к корпоративным системам с точки зрения их масштабируемости, мониторинга, построения сложной бизнес логики.

Слайд 57






Вопросы
Описание слайда:
Вопросы

Слайд 58





Авторы
Артём Оробец. twitter: @Dr_EniSh ,
 enisher@gmail.com, skype: dr_enish
Андрей Ломакин. twitter: @Andrey_Lomakin , lomakin.andrey@gmail.com , skype: lomakin_andrey
Описание слайда:
Авторы Артём Оробец. twitter: @Dr_EniSh , enisher@gmail.com, skype: dr_enish Андрей Ломакин. twitter: @Andrey_Lomakin , lomakin.andrey@gmail.com , skype: lomakin_andrey

Слайд 59





Источники
First CQRS introduction  http://www.infoq.com/presentations/greg-young-unshackle-qcon08
CQRS architecture overview - http://elegantcode.com/2009/11/11/cqrs-la-greg-young/
Greg Young blog - http://codebetter.com/gregyoung/
Race conditions does not exist http://www.udidahan.com/2010/08/31/race-conditions-dont-exist/
Domain Driven Design Aggregator - http://domaindrivendesign.org/
Axon framework home page - http://code.google.com/p/axonframework/
Mark Nijhof blog http://cre8ivethought.com/blog
Описание слайда:
Источники First CQRS introduction http://www.infoq.com/presentations/greg-young-unshackle-qcon08 CQRS architecture overview - http://elegantcode.com/2009/11/11/cqrs-la-greg-young/ Greg Young blog - http://codebetter.com/gregyoung/ Race conditions does not exist http://www.udidahan.com/2010/08/31/race-conditions-dont-exist/ Domain Driven Design Aggregator - http://domaindrivendesign.org/ Axon framework home page - http://code.google.com/p/axonframework/ Mark Nijhof blog http://cre8ivethought.com/blog



Похожие презентации
Mypresentation.ru
Загрузить презентацию