Indu Alagarsamy has been programming for over 15 years. She is currently part of the development team at Particular Software, the makers of NServiceBus, practicing her passion. Indu is also passionate about diversity and inclusiveness in the tech industry. When not programming, she is either rock climbing in sunny Southern California or spending time with her kids!
(One Day Pre-conference Workshop)
Using message queues is the first step in building more resilient systems. However, this takes a different approach to reasoning about the design of your system, and the structure of your code. But reliability and resilience is as much a domain modeling concern as a technical quality. How can we deal with complex business processes, that can fail at multiple points in time? How do we roll back multiple operations in a long-running business process?
We can use existing principles from Domain-Driven Design to deal with these problems:
- Thorough Domain Discovery to expose failure cases.
- Collaborating on a Ubiquitous Language and Domain Models that express these reliability concerns.
- Expressing those models into clear and readable code that remains extensible even with age.
WHAT YOU'LL LEARN
- Learn how to Eventstorm to collaborate on business processes.
- Message based architecture patterns that can help to solve temporal coupling and provide reliability and autonomy.
- How to integrate reliably with third party web services.
- How to effectively communicate between bounded contexts using events to establish business processes. Learn how to use messages and events to help drive the business process rather than the more traditional models based on data structures and how they help evolve changing business requirements using Domain-Driven Design disciplines and the saga messaging pattern.
- Strategies for dealing with existing codebases.
You’ll pair and work on code exercises using .NET, C# and NServiceBus. These exercises will help you get a solid understanding of these concepts so you can take this to your company and start applying these practices right away. Prior knowledge of NServiceBus is NOT required.
WHO SHOULD ATTEND?
Developers, Tech leads or Architects
- Laptop setup with Windows and VS2017 or higher.
- Knowledge using .NET and C#
- Prior knowledge of NServiceBus is NOT required
(Talk, DDD Foundations 2020)
A bounded context is a safe place for models to evolve freely. There are no conflicts or contradictions within a bounded context. So, how does one convey important and meaningful changes that happen within the context that can impact the overall system? Messaging can be useful as an integration mechanism between bounded contexts. Learn how you can combine the principles of DDD with event-driven architecture to build truly autonomous services, a.k.a microservices.