11 The design of the FTGO 'Create Order saga'
This chapter covers
- The definition of the FTGO
Create Order Saga, including its steps, participants and compensating transactions - The service architecture that implements the saga
- The design and implementation of the
Create Order Sagaorchestrator - The communication between the orchestrator and participants
In the previous two chapters, you learned the fundamentals of sagas, the design challenges they introduce and how they are coordinated. Chapter {chapter-sagas} defined the Saga pattern, explained why sagas are ACD rather than ACID, and examined the implications of the lack of isolation, including countermeasures for addressing it. Chapter {chapter-sagas-coordination} explored the two saga coordination mechanisms - choreography and orchestration - and described how each one is implemented.
In this chapter, we apply those concepts to a concrete example and explore the detailed design of the FTGO Create Order saga. We begin with an overview of the FTGO Create Order saga, its definition and the architectural elements that implement it. Next, we examine the implementation of the Create Order Saga's orchestrator. Finally, we look at how the participants handle the commands sent by the orchestrator.