If you read Fowler’s article on event sourcing or learned about it through many other sources, you might have a specific understanding of the term. At its core, event sourcing is a concept in which the state of the world is built by replaying serialized events.
Yurii Rashkovskii shares a set of practical of approaches to designing event-sourcing-based systems, including a method of building the state of the world that uses a “lazy first” approach. This approach suggests that we don’t know what the state of the world should include up front and therefore should defer this decision until the very end. Yurii explores the pros and cons of this approach—as well as some interesting aspects, such as user-driven APIs (such as GraphQL), caching, and distribution—and discusses the kind of projects that will benefit from adopting it. Yurii concludes with a demo of ES4J (Eventsourcing for Java), an implementation of this approach, and some working examples.
In order to deliver the best session possible, Yurii wants to be sure to cover the topics you are interested in and any questions you might have. If you are interested in attending this session, please complete this short questionnaire.
Yurii Rashkovskii is a software developer with an interest in a variety of topics, including databases, application design, programming languages and user experience. He has developed a few open source projects in a number of languages and has recently released Eventsourcing for Java. Yurii resides in Vancouver, Canada, but can be often found in Asia and Europe.
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
©2016, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com