Slide 23
Slide 23 text
Distributed Transactions with Symfony
ADVANCED ORCHESTRATION WITH SYMFONY
24
WORKFLOW-COMPONENT
framework:
workflows:
order_saga:
type: 'state_machine'
supports:
- App\Entity\OrderSaga
initial_marking: pending
places: [ pending, paymentValidated, inventoryUpdated, shipmentSourced, invoiceSent, completed ]
transitions:
validatePayment: { from: pending, to: paymentValidated }
updateInventory: { from: paymentValidated, to: inventoryUpdated }
sourceShipment: { from: inventoryUpdated, to: shipmentSourced }
sendInvoice: { from: shipmentSourced, to: invoiceSent }
complete: { from: invoiceSent, to: completed }
cancel:
from: [ paymentValidated, inventoryUpdated, shipmentSourced, invoiceSent ]
to: pending
04.04.2025