Modeling Workflows with Sagas
Roland Guijt
INDEPENDENT SOFTWARE DEVELOPER AND TRAINER
@rolandguijt [Link]
Module
Overview Use case for sagas
How a saga works
Using a saga with MassTransit
Refactor FireOnWheels solution
The Need for Sagas
UI
Notification
Finance
Registration
The Need for Sagas
UI
Finance
Notification
Reporting Marketing
Registration
Benefits of Sagas
A central truth
Coordination of Workflow
in your
message flow management
distributed system
Long-running business processes
State machine
Sagas Defines states and events
State of process persisted
Correlation is a must
Example Saga
Registration
Service
OrderSaga
OrderSagaState
Received
Example Saga
OrderSaga
Complete
OrderSagaState
Registered
Automatonymous
MassTransitSaga
Sagas in
[Link]
MassTransit NuGet package
Separates state from behavior
The need for sagas
Summary What a saga is
An example saga
Automatonymous
The saga state class
Constructing the saga
Setting up the saga