We provide online course about Converting a Monolithic App to a more Domain Driven Design. Domain-driven design seems “straight-forward” when looking at green field development. Implementing that in an existing enterprise system, however, is daunting.
Content:
In this workshop we will demonstrate the steps necessary in refactoring a non-DDD SOA-based system using DDD approaches, especially Command-Query Responsibility Segregation (CQRS) and Event Sourcing patterns. The use of a service-oriented architecture is not new. There are thousands of existing enterprise systems that are built using SOA.
This would typically look like a group of “client applications” that talk to a set of “back-end services” that were designed using a one-size-fits-all approach, where the representation of a persisted object is a union of all the business needs. The growth in domain-driven design shows how that may not be the best approach.
This session will be a dive into the process of modernizing a SOA-based enterprise system to support a DDD approach. We will talk about what this looks like at a high level and then demonstrate how this is supported by using Command-Query Responsibility Segregation (CQRS) and Event Sourcing.
Simply put, CQRS is an approach where different models are used when reading information than is used when updating that information. This approach becomes especially important as designs start being domain-driven, because each participant in the enterprise may have a different representation of that information. These different representations would be best managed with separate models.
As part of this session, we will demonstrate (sometimes in code):
• Why we would take this approach (theory)
• What a non-CQRS approach looks like (current state)
• What a CQRS approach looks like (new state)
• How you manage data conversion (refactor)
• How to tell when you have gone wrong (troubleshoot)
Event sourcing is an approach where all of the changes to application state are stored as a list, or sequence, of events.
As part of this session we will walk through (sometimes in code):
• How event sourcing fits into DDD (theory)
• How this need is managed now (current state)
• What the implementation looks like (new state)
• How you manage the conversion (refactor)
• How you can evaluate the effectiveness (quality & effectiveness)
Lastly, we will walk through how these changes fit into the overall modernization strategy.
Speakers: William Penberthy and Steve Roberts
Target audience:
Anyone who wants online course about Converting a Monolithic App to a more Domain Driven Design.