This example, as depicted in the following diagram, demonstrates using the Saga pattern in conjunction with the Event Orchestration pattern to compensate for the interactions of multiple components when a business violation occurs. The example builds on the example presented in the Event Orchestration pattern. The Mediator component conducts a business process for ordering a product that must be reserved and paid for in advance. However, in this example, the credit card charge is denied and the previous steps must be undone. The reservation and the order need to be canceled.
Once again, to highlight ...