Event Sourcing is an approach to building software with a long track record of success. By placing business concepts at the heart of our code, we can decouple systems into small services that can be quickly built, changed, and replaced. Although Event Sourcing has been around for many years, it remains outside the mainstream paradigm of software development--much to our detriment.
With Event Sourcing, we place the highest value on the simple capture of essential business events without attempting to interpret them. We can then relegate all interpretations of those events to subsystems that are easy to build, change, and replace when necessary. The resulting systems have single responsibilities and are decoupled from each other, which makes them simple to modify. Event Sourcing can enable us to move faster by supporting rapid experimentation with new perspectives, new user interactions, and new insights into our business.
Event Sourcing is agnostic of technology stack and language style, but it goes well with another pattern called CQRS: Command Query Responsibility Segregation. In this talk, we will do a deep-dive into both of these two patterns and discuss:
What is Event Sourcing, and how does it differ from systems designed around current state.
Interpreting Events into denormalised projections for very fast reads (Queries).
Receiving and validating Commands that, if successful, result in new Events.
Single responsibility services for reacting to Events by creating other events and, if necessary, triggering external behaviour.
We will cover the advantages of the pattern, to give us an idea for when and why it makes sense to use it. But it isn't a silver bullet, and we will also talk about its disadvantages, including the most commonly mentioned downside: eventual consistency, and how we can deal with it.
Speaker: Sebastian von Conrad
Sebastian is the VP of Engineering at Culture Amp and was previously leading the software architecture efforts at Envato, two of Australia's most successful tech companies. He is a former Software Engineering Manager and Software Engineer, and is an award-winning speaker at conferences in Australia and abroad, including YOW!, SATURN, Agile Australia, and RubyConf.
A Swede by birth, Sebastian now lives in Melbourne, Australia. It was about the last place he ever thought he'd visit, yet alone live. After 9 years and counting, however, he has no plans to leave--at least not until he actually sees a snake.
Event Page: https://www.eventbrite.com.au/e/yow-night-2018-singapore-sebastian-von-conrad-june-28-tickets-46097087630
Produced by Engineers.SG
Recorded By: Allan A. Chua
Help us caption & translate this video!
Most systems today store only the current state of their business entities.
However, you can look at the current state through a different lens, as a derivative of previous behaviors. Storing past behaviors as a sequence of events, instead of the current state of the entity, will gain you accurate audit logging, history revisions, flexible schemas and more. The current state is derived by replaying the events.
Event Sourcing is a great way to implement event-driven applications, and it’s often combined with CQRS (Command Query Responsibility Segregation) which is a key part of an architecture that is based on event sourcing.
In this talk, Lidan will cover the principles of Event Sourcing pattern, how to model your data accordingly and how you can improve your system by segregating reads and writes using specialized read models.
You’ll learn how these concepts fit in with event-driven microservices through a real-life example - an invoice management app we built at Wix.
Event Sourcing has been becoming more and more popular over the last few years. Greg has been talking, teaching, and innovating in the Event Sourcing space since 2006. This talk will look in depth at what Event Sourcing is, when it may be valuable (more importantly when its not), and how problems can change when looked at through a different lens. There are many trade offs, misconceptions, and of course FUD associated around Event Sourcing, hopefully we can sort them all out.
EVENT: Dutch PHP Conference 2016
SPEAKER: Greg Young
PERMISSIONS: The original video was published on Ibuildings Dutch PHP Conference YouTube channel with the Creative Commons Attribution license (reuse allowed).
ORIGINAL SOURCE: https://www.youtube.com/watch?v=I3uH3iiiDqY
Recorded at SpringOne2GX 2015.
Speaker: Michael Ploed
Cloud Native Track
CQRS and Event Sourcing are two architectural patterns that have become very popular through the rise of cloud architectures and No-SQL databases. Both work very well together and take a different take at the handling and storage of data compared to the "classic enterprise approach". CQRS splits your application in a read- and a write-part whereas through Event Sourcing the state of your data is represented by sequences of events. This talk introduces both patterns and shows how applications leveraging CQRS and Event Sourcing can be implemented with the Spring Ecosystem.The talk will have slides and live demos.
Most of today's enterprise applications are based on a create, read, update, and delete (CRUD) data model that is simple and straightforward to implement. Another way to model applications is the command query responsibility segregation (CQRS) model that enables interesting solutions and use cases, especially with rising demands of scalability. In this session, learn the concept and benefits of CQRS; how it enables eventual consistency, domain-driven design, and event sourcing; and how to create a CQRS application. Discover whether CQRS can be used with Java EE technology, where the framework already offers solutions, and where it has to be extended. Much of this session focuses on live-coding and examining the details of both approaches.
Speaker: Sebastian Daschner
"One size does not fit all." And this is still specially true for your distributed data! Different types of data require different approaches of how you distribute & manipulate your data.
Update frequency? Staleness? Push or pull? Legacy or new? Cache or direct read? Event Sourcing? Business or low-level events? Check this session to see how different technologies such as Data Virtualization, Change Data Capture, In-memory Data Grids, Reactive Programming and much more can be applied to solve a plethora of different data scenarios with different requirements.
Edson Yanaga, Red Hat's Director of Developer Experience, is a Java Champion and Microsoft MVP. He is also a published author and a frequent speaker at international conferences, discussing Java, Microservices, Cloud Computing, DevOps, and Software Craftsmanship.
Within the DDD domain there is often much discussion about the advantages these patterns bring and how they can be used in conjunction with each other. However, there is not always great guidance on how to implement these patterns in a real world project.
In this talk I’ll take you through some of the fundementals of these patterns and show you a “first working solution” that you can use as guidance for building your own CQRS/ES based application.
В Java 9 с неизбежностью появятся модули. Кого-то это мало волнует, кого-то пугает, кто-то искренне недоумевает: зачем, ведь у нас уже больше 15 лет есть OSGi, который решает ровно те же проблемы, что и модули? В этом докладе Никита попробует разобраться, какие проблемы пытается решить OSGi, как он их решает и решает ли в действительности. Затем обсудит, какие проблемы, которые пытается решить OSGi, Jigsaw совсем не решает и почему, а также какие проблемы решает и как. Ну и на конец доклада: какие проблемы Jigsaw при этом привносит в экосистему Java и что с этим делать.
This presentation was recorded at GOTO Amsterdam 2015
Pragmatic Dave Thomas - Pragmatic Programmer Turned Publisher
Dave Thomas was one of the creators of the Agile Manifesto. A year ago, he told us that Agile is Dead. How could this be? Why had he deserted us? And what are we to do?
It turns out that while the "Agile" industry is busy debasing [...]
Download slides and read the full abstract here:
Support Us Through Donations : https://goo.gl/5PB5RN
In this video we will talk about What Agile is and why to use it.
We will also see :
What is waterfall model
Problems with waterfall model
Why and when to use Agile
4 Values and 12 principles of Agile
Trainer: Navin Reddy
Check out our website: http://www.telusko.com
Follow Telusko on Twitter: https://twitter.com/navinreddy20
Follow on Facebook:
Telusko : https://www.facebook.com/teluskolearnings
Navin Reddy : https://www.facebook.com/navintelusko
Follow Navin Reddy on Instagram: https://www.instagram.com/navinreddy20
Subscribe to our other channel:
Navin Reddy : https://www.youtube.com/channel/UCxmkk8bMSOF-UBF43z-pdGQ?sub_confirmation=1
Telusko Hindi :
Subscribe to the channel and learn Programming in easy way.
Java Tutorial : https://goo.gl/p10QfB
REST Tutorial : https://goo.gl/3mosnz
Kotlin Tutorial : https://goo.gl/JedEzX
Scala Tutorials for Java Developers : https://goo.gl/8H1aE5
C Tutorial Playlist : https://goo.gl/8v92pu
Android Tutorial : https://goo.gl/MzlIUJ
XML Tutorial : https://goo.gl/Eo79do
Design Patterns in Java : https://goo.gl/Kd2MWE
Socket Programming in Java : https://goo.gl/jlMEbg
Spring MVC Tutorial : https://goo.gl/9ubbG2
OpenShift Tutorial for Beginners : https://goo.gl/s58BQH
Spring Framework with Maven : https://goo.gl/MaEluO
Sql Tutorial for Beginners : https://goo.gl/x3PrTg
String Handling in Java : https://goo.gl/zUdPwa
Array in Java : https://goo.gl/uXTaUy
Java Servlet : https://goo.gl/R5nHp8
Exception Handling in Java : https://goo.gl/N4NbAW
Watch Greg Young's talk "CQRS and Event Sourcing" from Code on the Beach 2014 at One Ocean Resort & Spa, Atlantic Beach, Florida. Saturday, August 9, 2014. www.codeonthebeach.com
"Looking at mature domains it is odd that almost none have a concept of current state but instead are built off a set of facts that occurred; is your bank balance a column in a table? This is not by accident and there are many benefits to having this viewpoint of a system both from a business and a technological viewpoint. In this talk we will look at what cqrs (command and query responsibility segregation) and event sourcing are."