Here is an alternative much simpler architecture that uses Temporal to its full potential.
firstService.callElaboration(someParams); secondService.callAggregation(someParams); secondService.generateReport(someParams);