Some business problems are very difficult to solve applying mainstream architectural approaches. If you ever had to build a system allowing to track all changes made to domain objects and help business people to answer questions like "What was the state of my system at time T?", you will realize than the mainstream architectural approaches like storing and reading the system state from the relational databases will not work very well. Hopefully, there is another architectural pattern called Event Sourcing that allows to store the system state as a stream of business events which gives the business people a powerful way of inspecting their system at any given point in time.
In this talk you will learn how to push Event Sourcing to its edges. Dealing with bi-temporal events, that can modify the past and influence the feature is a way for a business people to answer more complex questions like "What was the state of my system at time T1 given my knowledge at time T2?" or "What the state of my system should have been at time T1 given my NEW knowledge at time t2?". I'll walk you through the implementation of bi-temporal Event Sourcing patterns based on my current experience in financial field. You'll learn how to retrieve the current state of the system, patch or schedule events and build read projections.
18 years of professional experience as a developer, software architect, team leader, trainer and technical conferences speaker. Founder of Paris Domain Driven Design and F# user groups, IDDD Workshop trainer, I also blog about various software development and architecture topics.
I work for Luteceo, the company I founded in Paris to spread good software and architecture practices based on Domain Driven Design and software craftsmanship, but I also worked for many companies in e-commerce, industry, insurance, and financial fields where I acquired a real solid experience in solving theirs problems. I'm mainly focused on creating software delivering true business value which aligns with the business strategic initiatives and bears solutions with clearly identifiable competitive advantage.
I've been always learning new technologies, working on OSS software and challenging what I've already learned to become better.
The location will be provided soon