An event-driven approach to building Elixir applications Elixir Phoenix CQRS/ES Event sourcing
Presented on Jul 18, 2019
Talk given at Elixir LDN conference on July 18th, 2019.
We experience the real world by reacting to events that have occurred, what if we modelled our Elixir applications in the same way?
Event sourcing is an approach where application state changes are modelled as an immutable series of application-specific domain events over time. Changes made by end users of such applications are recorded as new events. Unlike in a traditional CRUD application, where updates and deletes are destructive operations, events are never deleted.
Introduce the concept of event sourcing with a practical application in Elixir. Talk covers the how, why, and why not to apply an event-driven approach to building your Elixir applications and services.
Anyone interested in discovering how the simple concept of using domain events to capture state changes can bring tangible benefits to application development.
Domain-driven design introduction Domain-driven design Event storming
Presented on May 02, 2019
In this talk I introduce the concepts outlined in Eric Evan’s Domain-driven design book (the “blue” book).
- What is domain-driven design?
- Strategic design:
- Ubiquitous language, bounded context, and context map.
- Tactical design:
- Entity, value object, aggregate, domain event, service, repository, and factory.
- Strategic design:
Please get in touch if your company is interested in learning about domain-driven design or would like me to facilitate an event storming session.
Event sourcing in practice Elixir Phoenix CQRS/ES Event sourcing
Presented on Mar 28, 2019
Talk given at Elixir London on March 28th, 2019.
Using Elixir to build event-driven applications.
In this talk I demonstrate how you could apply event sourcing to an Elixir application.
- Practical example of event sourcing in Elixir.
- Where event sourcing can help, or hinder.
Want to learn more?
Building CQRS/ES web applications in Elixir Elixir Phoenix CQRS/ES
Presented on Mar 23, 2017
Command Query Responsibility Segregation and event sourcing (CQRS/ES) has established itself within the .NET community thanks to advocates such as Greg Young and Udi Dahan.
I propose that functional languages, such as Elixir, are well suited and deserve your attention. Let me demonstrate why.
In this talk you will discover how to build applications following domain-driven design, using the CQRS/ES pattern with Elixir and Phoenix. I’ll take you through a real-world case study to demonstrate how these principles can be applied.
- Elixir is a dynamic, functional language designed for building scalable and maintainable applications. It leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems.
- Phoenix is a productive web framework that does not compromise speed and maintainability.
Presented on Oct 12, 2012
- Any browser. Any host. Any OS.
- Open Source.