How your team can put DDD to use
Intensive, 2-day, hands-on RDDD Workshop by Vaughn Vernon
Reactive software development is becoming essential to implementing responsive, resilient, elastic, and message-driven solutions, yet by aligning scale and throughput with business-driven model fluency of your core initiatives, you can achieve critical differentiating competitive advantage.
Rarely achieved in past years, fully utilized hardware can now reach the performance, throughput, and scale possible with Reactive software development’s responsive, resilient, elastic, and message-driven solutions. As crucial, fiscally-minded technical stakeholders see the urgent need to partner with business leaders in order to create software that delivers critical, differentiating innovations that are in demand to gain and maintain leadership in today’s fast-paced commercial markets. The world of distribution, concurrency, latency, and the uncertainty of time-critical results, must be tackled along with complex business challenges. This workshop introduces Reactive architecture and programming along with the open source vlingo/platform to leverage using Domain-Driven Design with Reactive properties. Adopt this very lightweight JVM-based microservices toolkit to implement with Java and Kotlin and other modern languages to develop cloud-native services and apps on small devices such as Android mobile and IoT for business differentiation.
This two-day, intensive, and hands-on workshop first builds your foundation with the Actor Model using vlingo/actors. This workshop then expands your understanding with advanced application and system design approaches, using Domain-Driven Design and Microservices. The workshop takes you much deeper into more advanced topics of Web applications with vlingo/http, using vlingo/symbio for a range of persistence options such as object storage, CQRS, and Event Sourcing, and how to leverage vlingo/lattice over vlingo/cluster for highly available distributed systems. This is a hands-on workshop. There are many practical exercises and students are strongly encouraged to engage using the vlingo/platform components.
Foundational Actor Model and DDD
The first day of the workshop builds your foundation with actors using vlingo/actors. You will learn the Actor Model, DDD, and how to solve common distributed computing challenges using the vlingo/platform components’ API.
- What Is Reactive Software Development?
- Reactive within Domain-Driven Design
Fundamental Domain-Driven Design
- Strategic Design
- Tactical Design
Using the Actor Model
- Message-Driven Components
- Actors as a Model of Computation
- Introduction to Virtual Actors and Clustering
Up and Running with vlingo/actors
- Implementing an Actor
- Implementing Another Actor
- Microservice Resiliency with Supervision
- What Do You Mean, Uncertainty?
- Tackling Uncertainty in the Domain Model
- Using Scheduling and Notices
Develop Software Like You Mean It
- Product Discovery
- Modeling for Business Differentiation
- Microservice As Bounded Context
- Actors as Business Components
- Modeling Inside Your Aggregates
Building Business Applications and Services
The second day builds on the foundation laid on day one by featuring vital application and system design patterns that will help you get the job done in the best way for your business using vlingo/platform components specifically designed to help you succeed.
Message- and Event-Driven Integration and Collaboration
- Service Registration and Discovery with vlingo/directory
- Integration and Collaboration with Exchanges
- Published Languages with vlingo/schemata
Reactive REST with vlingo/http
- Requests and Responses
- Server-Sent Events
Reactive Persistence with vlingo/symbio
- Separating Behavior and State
- Simplicity with vlingo/lattice
- Object Storage—Getting the Basics Right
- CQRS Commands, Queries, and Projections
- Event Sourcing and Journals
Reactive Business Components with vlingo/lattice
- Virtual Actor Components and Aggregates
- Grid Spaces
Messaging Between Microservices with vlingo/lattice
- Exchanges and Bridges
- Senders and Receivers
- Adapters and Mappers
Long-Running Processes and Sagas with vlingo/lattice
- Process Managers
Highly Available Microservices with vlingo/cluster
- Configuring and Starting a Cluster
- Cluster Health
- Cross-Cluster Attributes