From 547dc5f522754a8a979c1b388ed13984f70191bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kucha=C5=99?= <honza.kuchar@grifart.cz> Date: Mon, 14 Mar 2016 08:34:00 +0100 Subject: [PATCH] notes --- README.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index edab895..39f88de 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,37 @@ Aim: learn basics of event-sourcing pattern and its caveats. This project builds on example from presentation from [Mathias Verraes - Practical Event Sourcing](http://verraes.net/2014/03/practical-event-sourcing/). -More reading: +### Event Sourcing / DDD / CQRS + - https://www.youtube.com/watch?v=whCk1Q87_ZI - https://gist.github.com/SzymonPobiega/5220595 - https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf - http://subscriptions.viddler.com/GregYoung - http://verraes.net/2014/11/domain-events/ +- https://www.youtube.com/watch?v=pL9XeNjy_z4 + +### Message Buses + +- http://getprooph.org/ (cool one!) + - super flexible + - well designed + - support for snapshotting + - [ ] unfortunately does not support Sagas yet! (contribution?) + - [ ] up-casting is strange: why it is not JIT up-cast? http://getprooph.org/event-store/upcasting.html + - [ ] Nested transaction? http://getprooph.org/event-store-bus-bridge/transaction_manager.html +- https://github.com/qandidate-labs/broadway + - looks like not that good architecture, feature richer + - more like a framework then library -Sagas +### Sagas - http://blog.jonathanoliver.com/cqrs-sagas-with-event-sourcing-part-i-of-ii/ - http://blog.jonathanoliver.com/cqrs-sagas-with-event-sourcing-part-ii-of-ii/ - http://blog.jonathanoliver.com/sagas-event-sourcing-and-failed-commands/ - http://udidahan.com/2009/04/20/saga-persistence-and-event-driven-architectures/ +### Examples +- http://buttercup-php.github.io/protects/ + ## Notes / TODOs @@ -25,3 +43,6 @@ Sagas - [ ] If aggregate produces event but it does not change state in any way, should it have empty apply() method for this event or should framework just skip this event. (this can lead into hard discoverable typo errors) - [ ] Is there any point of adding events when loading from history into object "recoded events"? +## Case studies + +- https://drive.google.com/file/d/0B_enB2DMKeyzbF96VjdKdjIzOHc/view \ No newline at end of file -- GitLab