Software Architecture Superstream Series
Domain-Driven Design and Event-Driven Architecture
Topic: Software Development
About the Software Architecture Superstream Series: This three-part series of half-day online events focuses on the hottest topics in software architecture—including microservices, essential architecture principles, and scalable domain-driven design—giving you the insights to keep pace with what’s next while still accommodating legacy needs. Both seasoned software architects and those looking to break into the field will learn new skills and the latest information on the tools and technologies they need to succeed.
- Event 1: Software Architecture Fundamentals (completed)
- Event 2: Microservices (completed)
- Event 3: Domain-Driven Design and Event-Driven Architecture - November 11, 2020
With today’s registration, you’ll be automatically signed up for all sessions in the Superstream series. You’ll also get access to video recordings of all sessions as they become available, including any you may have missed.
Description: Domain-driven design and event-driven architecture are inherently flexible and scalable, allowing organizations to build systems based on actual usage and needs. Whether you’re examining viability of these concepts or trying to make the most of an ongoing implementation, these sessions offer expert guidance on maximizing their value to your organization.
What you'll learn-and how you can apply it
- Understand how to get started with domain-driven design (DDD) and event-driven architecture
- Discover real-world challenges you’ll face when working with domain-driven design—and potential solutions
- Explore useful techniques, common challenges you’ll face, and considerations when publishing your first event
- Learn how to refactor a non-DDD SOA-based system using DDD approaches such as CQRS and event sourcing
This Superstream is for you because...
- You're a developer who wants to make the move to architect.
- You're a practicing software architect who wants to hone your skills and learn new techniques and practices.
- You're considering adopting domain-driven design or event-driven architecture.
- You're responsible for creating software architecture and want to understand how domain-driven design and event-driven architecture can benefit your organization.
- Come with your questions
- Have a pen and paper handy to capture notes, insights, and inspiration
- Take Domain-Driven Design: First Steps (live online training course with Andrew Harmel-Law)
- Take Domain-Driven Design for Monoliths (live online training course with Vladik Khononov)
- Take Software Architecture Foundations: Characteristics and Tradeoffs (live online training course with Neal Ford)
- Read What Is Domain-Driven Design? (report)
- Read Fundamentals of Software Architecture (book)
- Follow and explore Software Architecture Fundamentals Superstream (playlist)
About your host
Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored seven books (and counting), a number of magazine articles, and dozens of video presentations and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting-edge software innovations, and a business-focused book and video on improving technical presentations. Check out his website, Nealford.com.
The timeframes are only estimates and may vary according to how the class is progressing
EVENT 3: DOMAIN-DRIVEN DESIGN AND EVENT-DRIVEN ARCHITECTURE - November 11, 9:00AM–1:00PM PT | 12:00PM–4:00PM ET | 5:00PM–9:00PM UTC/GMT
Neal Ford: Introduction (5 minutes) - 9:00am PT | 12:00pm ET | 5:00pm UTC/GMT
- Neal Ford welcomes you to the Software Architecture Superstream.
Vaughn Vernon: From the Trenches (50 minutes) - 9:05am PT | 12:05pm ET | 5:05pm UTC/GMT
Domain-driven design expert Vaughn Vernon recounts some of the challenges he’s faced during his career and sheds light on the things that worked well (and those that didn’t).
Vaughn Vernon consults on and teaches domain-driven design and reactive software development, helping teams and organizations realize the potential of business-driven and reactive systems as they transition from technology-driven legacy web implementation approaches. A software developer and architect with more than 35 years of experience, he’s the founder of the open source VLINGO/PLATFORM and the best-selling author of Implementing Domain-Driven Design, Reactive Messaging Patterns with the Actor Model, and Domain-Driven Design Distilled. He was recently commissioned by Addison-Wesley to curate his own Vaughn Vernon Signature Series.
- Break (10 minutes)
Andrew Harmel-Law: The Heart of Domain-Driven design (50 minutes) - 10:05am PT | 1:05pm ET | 6:05pm UTC/GMT
Domain-driven design is hard. But it’s also one of the best ways to design software that works—and is enjoyable to work with. DDD helps you keep your software lean and focused by helping you collaborate with expert users (“domain experts” in DDD), tapping into their existing mental models, and consequently building deep insight into the problems you’re trying to solve. So where do you start? Join Andrew Harmel-Law to find out.
Andrew Harmel-Law is a highly enthusiastic, self-starting, and responsible tech principal at ThoughtWorks specializing in Java and JVM technologies, Agile delivery, build tools and automation, and domain-driven design. What motivates him is the efficient delivery of large-scale software solutions, fulfilling complex user needs. Andrew has a passion for open source software and its communities and has been everything from a user and a contributor to an expert group member and a paid advocate for a number of projects—most famously as one of the Jenkins Job DSL originators. He shares his insight through consulting, mentoring, blogging, speaking at and organizing conferences, and open-sourcing his code.
- Break (5 minutes)
Ann Mwangi and Sarah Taraporewalla: Lessons from an Event-Driven Journey (50 minutes) - 11:00am PT | 2:00pm ET | 7:00pm UTC/GMT
Event-driven architecture (EDA) is gaining widespread popularity as organizations look for ways to simplify the coordination of their microservices. Despite the early success of EDA and the growing interest in Apache Kafka (the most popular platform for managing data in event-driven applications), there’s still a significant distance between understanding the concepts and publishing your first event in production. Ann Mwangi and Sarah Taraporewalla recount the experiences they’ve had along their event-driven journeys
Ann Mwangi is a senior software developer and consultant at ThoughtWorks. Ann continually seeks efficient ways to use technology to provide customer value and improve business strategy while empowering teams in the process. She’s held a number of team roles spanning multiple continents, contributes to open source projects, and serves as a mentor to people interested in pursuing careers in IT. She hates being stagnant in life and thus keeps an eye out for opportunities to grow personally and professionally.
Sarah Taraporewalla is a principal consultant at ThoughtWorks specializing in developing robust software for the future, delivered today. She’s been a developer, software architect, technical lead, and Agile coach on many projects. Although primarily focused on software design, Sarah also has a lot to say about how software can be developed to accommodate the changing pace of business and how people should be treated within teams.
- Break (10 minutes)
William Penberthy: Modernizing an Existing System to Take a Domain-Driven Approach (50 minutes) - 12:00pm PT | 3:00pm ET | 8:00pm UTC/GMT
Domain-driven design seems straightforward when looking at greenfield development. Implementing DDD in an existing enterprise system, however, is daunting. Here’s something to make the process easier. Bill Penberthy walks you step-by-step through refactoring a non-DDD SOA-based system using DDD approaches, especially command-query responsibility segregation (CQRS) and event sourcing patterns.
Bill Penberthy is a .NET developer advocate at AWS, helping AWS build a better, richer .NET developer experience. Bill’s spent over 25 years in software development, much of it in consulting, and has worked on many different projects, using many different designs and approaches. He brings a pragmatic approach to software development and has written two books on ASP.NET and taught university programming classes in multiple states. During quarantine, he’s upped his reliance on Hawaiian shirts.
Neal Ford: Closing Remarks (10 minutes) - 12:50pm PT | 3:50pm ET | 8:50pm UTC/GMT