This sample was built to demonstrate a microservices architecture with the following components:
- Server: Connects to storage and exposes it as GRPC endpoints.
- Api: Exposes REST API to manage orchestrations.
- UI: Exposes UI to manage orchestrations.
- OrchestrationWorker: Implements BookParallel and BookSquential orchestrations for the given problem.
- FlightWorker: Implements BookFlight and CancelFlight activities.
- CarWorker: Implements BookCar and CancelCar activities.
- HotelWorker: Implements BookHotel and CancelHotel activities.
- BPMNWorker: An experimental BPMN runner built on top of Durable Tasks. There are also BookParallel and BookSequential BPMN workflows for the given problem.
- AppHost: Aspire.NET host project to orchestrate and run all applications.
- Configure a EFCore storage at the server
- Run project AppHost with dotnet run.
- Open Aspire Dashboard at https://localhost:17198/
- Open the DurableTask UI at https://localhost:5002/
- Create the following test orchestrations and watch them be executed
Name Version InstanceId Input BookParallel v1 (Empty) (Empty) BookSequential v1 (Empty) (Empty) BPMN (Empty) (Empty) { "name": "BookParallel" } BPMN (Empty) (Empty) { "name": "BookSequential" } BPMN (Empty) (Empty) { "name": "Bonus" }