Содержание
- 2. Содержание Почему CQRS ? История возникновения современной архитектуры Проблемы CRUD CQRS как решение проблем Архитектура CQRS
- 3. Почему CQRS ? Почему CQRS ?
- 4. Поговорим про эволюцию разработки Enterprise приложений ? С чего всё началось
- 5. Эволюция представления документов Эра бумажных документов
- 6. Эволюция представления документов Эра электронных архивов
- 7. Эра электронных архивов Поиск в электронных архивах
- 8. Эра электронных архивов Наступила эра CRUD архитектуры
- 9. Эволюция обработки данных Эра бизнес процессов
- 10. CRUD подход ориентирован не на отображение модели бизнес логики, а на манипуляцию данными. Однако…
- 11. Основные проблемы CRUD II. Основные проблемы CRUD
- 12. Проблема 1. Использование JavaBean …. JavaBean – “Reusable software components that can be manipulated visually in
- 13. Нарушению инкапсуляции бизнес объектов. Ухудшению читаемости кода Трудности поддержки Вся бизнес логика переносится в методы сервисов.
- 14. Проблема 2. Оптимизация производительности и её последствия. Использование ORM Tool вместе с денормализацией размывает
- 15. Проблема 3. Проблема масштабируемости В теореме CAP при обработке бизнес данных мы всегда выбираем целостность данных
- 16. Проблема 4: В реальной жизни не бывает конфликтов модификации данных В бизнес процессах происходящих в реальной
- 17. CQRS как решение III. CQRS как решение
- 18. CQRS CQRS - Command Query Responsibility Segregation
- 19. Проблема 1: Использование JavaBean Использование JavaBean остаётся для отображения данных на стороне обработки запросов, но JavaBean
- 20. Проблема 2: Оптимизация производительности и её последствия. Денормализация данных выполняется только на стороне обработки запросов.
- 21. Данные на стороне запросов Каждая таблица – денормализованное представление данных на экране пользователя Нет необходимости применять
- 22. Проблема 3: Проблема масштабируемости Целостность данных нужна только на стороне обработки бизнес логики. На стороне обработки
- 23. Проблема 4: В реальной жизни не бывает конфликтов модификации данных 1. В виде значений переменных внутри
- 24. Два подхода представления объектов +11.2 M $ + 5.3 M $ - 8.2 M $ Sum:
- 25. Два подхода представления объектов Каждый агрегат – это пакет событий. Нет необходимости использовать реляционные базы данных.
- 26. Два подхода представления объектов Преимущества: удобный мониторинг изменений состояния системы возможность отката состояния системы до любого
- 27. Разрешение конфликтов
- 28. Архитектура CQRS приложений IV. Архитектура CQRS приложений
- 29. CQRS – это только подход CQRS это только подход, как вы его реализуете, зависит только от
- 31. Queries Многослойная архитектура Запрос к DB CQRS Конвертирование в доменную модель Конвертирование в DTO Передача клиенту
- 33. Commands Команда – представляет собой отражение бизнес действия, действия в котором заинтересован пользователь приложения. Преимущество использования
- 36. Event bus Репликация данных между компонентом обработки бизнес логики и компонентом селективных выборок. В обычном приложении
- 37. ….преимущества….. Хорошие условия для реализации DDD Использование CEP Готовность к облачным вычислениям Простота распределения обязанностей между
- 38. Реализации CQRS V. Реализация CQRS
- 39. Axon framework Axon framework - самый популярный и наиболее функциональный.
- 40. Пример CQRS приложения Address Book –управление списком адресов
- 42. Создание и отправка команды
- 44. Обработка команды
- 45. Бизнес действие
- 46. Обработка события изменения состояния
- 48. Запросная часть
- 49. Простота настройки
- 50. Axon – repository и event store. Repository Event Store JPA File System JPA Mongo DB
- 51. Event Stores – pros and cons нет поддержки ACID свойств большая скорость обработки данных JPA Event
- 52. Orient DB Event store Поддержка транзакционности. Очень большая скорость чтения и записи данных. Поддержка кластеризации.
- 53. Orient DB Event store Результаты тестов на производительность (транзакций в секунду, Pentium Duo Core E520 2,5
- 54. Примеры реализации в ExigenServices Примеры реализации в ExigenServices
- 55. Примеры реализации внутри компании Автоматизация выдачи залогов и учёт ценностей в ломбардах. Учёт нарядов выполненных работ
- 56. Итоги CQRS – подход, обеспечивающий реализацию современных требований к корпоративным системам с точки зрения их масштабируемости,
- 57. Вопросы
- 58. Авторы Артём Оробец. twitter: @Dr_EniSh , enisher@gmail.com, skype: dr_enish Андрей Ломакин. twitter: @Andrey_Lomakin , lomakin.andrey@gmail.com ,
- 60. Скачать презентацию