Engineering the Future of Software
November 13–14, 2016: Training
November 14–16, 2016: Tutorials & Conference
San Francisco, CA

Lazy event sourcing: Living in the now

Yurii Rashkovskii (Etcetera Labs, Inc.)
3:50pm–4:40pm Tuesday, 11/15/2016
Location: California East Level: Intermediate

Prerequisite knowledge

  • Intermediate programming and database skills
  • Basic Java knowledge

What you'll learn

  • Understand the practical aspects of event sourcing, when it is appropriate to use it, and how you can use it for the purposes of application evolution


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.

Photo of Yurii Rashkovskii

Yurii Rashkovskii

Etcetera Labs, Inc.

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.