Skip to content

Adam Warski, "Transactional event sourcing using Slick (audit log for free!)"

Photo of Vlad Patryshev
Hosted By
Vlad P. and Yulia A.
Adam Warski, "Transactional event sourcing using Slick (audit log for free!)"

Details

Description: Event sourcing is a great alternative to traditional “CRUD”-type architectures. The central concept is a persistent stream of events, which drives all changes to the read model and running any kind of business logic. There’s a lot of technical and business benefits to such an approach, such as being able to re-create the state of the system at any point in time, or keeping a detailed audit log of all actions.

Typically, implementations of event sourcing are presented using a NoSQL data storage, which is great for many use cases (e.g. using Akka Persistence + Cassandra). However, nothing stops us from using a relational database and SQL! In many applications (especially “enterprise”), this brings many benefits, such as powerful and familiar query capabilities and higher guarantees around data consistency.

In this mainly live-coding talk we’ll see one way of implementing transactional event sourcing using the `slick-eventsourcing` micro-framework, introducing the core concepts: command handlers, read model updates and event listeners, and how to use them to build an event-sourced application. We’ll see how Slick’s `DBAction` and Scala flexibility makes it possible to provide an elegant DSL to build the system from simple functions with minimum dependencies.

Adam about himself: "I am one of the co-founders of SoftwareMill, where I code mainly using Scala and other interesting technologies. I am involved in open-source projects, such as Macwire, Supler, ElasticMQ and others. I have been a speaker at major conferences, such as JavaOne, Devoxx and ScalaDays.

Apart from writing closed- and open-source software, in my free time I try to read the Internet on various (functional) programming-related subjects, any ideas or insights usually end up on my blog: http://www.warski.org/blog "

Schedule

• 6:30-7:00 - networking
• 7:00-7:10 - announcements etc
• 7:10-~8:40 - talk
• 8:40-9:00 - networking

Photo of Scala Bay group
Scala Bay
See more events
LinkedIn
LinkedIn 605 W. Maude · Sunnyvale, CA