Location visible to members
Our next meetup will be more theoretical in nature.
We will have two talks, both discussing architecture patterns that revolves around the concept of change.
1. Coding Changes - Rotem Hermon
Every developer knows that the only constant thing is change, and every developer has the scars to prove it. When we come to designing and writing software, we should make handling change one of our main concerns. We all pretty much do it, even if we don’t usually call it that.
In this talk we’ll discuss the three principles of Change Driven Design. We’ll also explore some software architecture methodologies that position handling change as a core concept and design principle.
Rotem Hermon is VP Architecture at Gigya, and has been building and designing back-end systems for a long time now.
2. Introduction to Event Sourcing - Vladik Khononov
Event sourcing is a pattern for modeling your application’s business logic. It states that all changes to application state should be defined and stored as a sequence of events.
The idea of recording events for information storage is nothing new. It has been used for decades in finance, healthcare, and other fields. A few years ago it was rediscovered in software design and its advantages are many:
• Gives freedom to refactor your business logic, thus allows much better response to new requirements.
• Suitable for building scalable, highly concurrent, distributed systems.
• The stored events give you the true history of a system. This audit is required by law in some industries.
• The system’s state can be reversed to any point in the past for retroactive debugging and data analysis.
• The required infrastructure is simple - no monstrous databases are involved.
The focus of my talk will be the Event Sourcing pattern, but I’ll also briefly describe CQRS - an architecture that goes hand in hand with Event Sourcing.
Vladik Khononov is a software engineer with 15 years' expertise in building web and enterprise applications for leading Israeli and global companies. Currently he serves as a solutions architect for Plexop, an Israeli-based startup company, where he specializes in Domain-Driven Design, CQRS/ES, and design of scalable, fault tolerant, distributed systems.