We have a use case where
- a user enters a lot of data in one screen
- a single backend service accepts this data in the form of a DTO
- this starts a business process (Saga) during which a set of aggregates needs to be created
How can we implement this in Axon: the business process here starts at the backend service (with the DTO containing all the data) where the sagas in axon start from events.
One option would be to translate the DTO to a command and let it handle by one aggregate resulting in an event containing all the data that was in the DTO.
Then the saga can kick in based on that event and create the other aggregates.
Downside of this approach is that the first event contains a lot of data that actually does not belong to the aggregate…
I would prefer to start a Saga directly from the backend service. Is this possible in Axon?