Event Sourcing without ORMs – Ted M. Young
Details
We are happy to host Ted Young from the bay area for a joint meetup between our user groups – JUG BB x Spring Berlin. This joint event will happen next Tuesday at 6:30 PM.
HOST WANTED
We are still looking for a suitable venue to host our lecture-style talk! Ideally, the space should accommodate 30–40 attendees and offer:
- A TV screen of at least 55 inches or a projector
- Flexible seating arrangements, preferably with rows of chairs
If you have a suitable space available or know of a venue that might be a good fit, we’d love to hear from you! Please feel free to reach out. We’d really appreciate your help!
Mail: [hallo@jug-berlin-brandenburg.de](mailto:hallo@jug-berlin-brandenburg.de)
WhatsApp: +491787803538
Spring Berlin (20 seats)
https://www.meetup.com/spring-user-group-berlin/
JUG BB (20 seats)
https://www.meetup.com/jug-bb/
AGENDA
18:30 Open Doors
19:00 Official Opening
19:05 Talk – Event Sourcing: Simpler Persistence Without ORMs by Ted M. Young
20:00 Q&A
20:30 Doors Close
TALKS
Event Sourcing: Simpler Persistence Without ORMs
Event Sourcing is not just a different way to persist data, but a different way of thinking about data. With ORMs like Hibernate, we have to consider query performance, fetch strategies, mapping domain models to database schemas, caching, etc. With Event Sourcing, we can use a few simple patterns to build our systems:
- Commands: user actions representing an intention, e.g., “Buy Concert Ticket”
- Events: meaningful changes to state as a result of executing Commands, e.g., “Ticket Purchased”
- Read Models: up-to-date views of Events, derived specifically for a particular way of looking at the data, e.g., “My Tickets”, or “All Ticket Sales”
Need caching for the ticket sales report? That’s a Read Model. Display tickets for a Customer? That’s another Read Model, using the same principles to derive the desired view of state. Performance isn’t an issue, as replaying events is very fast. Even in a system with millions or billions of events, we only need to replay events related directly to a specific entity or state view.
You’ll see what makes Event Sourcing a mindshift rather than just a different persistence mechanism: updates are just appends to a log, mapping objects is no longer needed, and you keep the history of changes to data, so you can always know what happened and ask questions you didn’t expect to have.
SPEAKER
Ted M. Young
Ted M. Young is a Java technical coach and live coder. He's been in software development for over 30 years, following eXtreme Programming practices since 2000. Ted loves helping folks make their code more testable and teaches Test-Driven Development (TDD), Refactoring, Domain-Driven Design, and Event Sourcing through hands-on, shared experiences. Ted created the acclaimed "JitterTed's TDD Game" used at events and companies worldwide to help people understand the nuances and benefits of TDD in a fun way.
https://www.linkedin.com/in/tedmyoung/
https://ted.dev/about
