# **RSWW** # IPC API: * nazwy kanałów i ich parametry * typy komunikatów * * debezium * eventuate trom ## Saga ### create order saga 1- orderservice 2- consumerservice 3 - kitchenservice 4 accountingservice 1. 1 tworzy `<<Order>>` w stanie APPROVAL_PENDING 2. 2 sparawdza czy klient może złożyć zamówienie 3. 3 waliduje informacje dot. zamówienia i tworzy bilet `<<Ticket>>` w stanie CREATE_PENDIND 4. 4 autoryzuje kartę kredytową klienta 5. 3 zmienia stan biletu `<<Ticket>>` na na AVAITING_ACCEPTATION 6. 1 zmienia stan `<<Order>>` na APPROVED 7. w przypadku błędu wykonywane są tranzakcje kompensujące tranzakcja zwrotna - nie wymaga kompensacji w przypadku błędu tranzakcja przestawna - punkt w przetwarzaniu po którym nie występują błędy - zawsze przejdzie 1. OrderService 1. createOrder() - tworzenie 2. rejectOrder - kompens. 3. approveOrder 2. ConsummerService 1. verifyConsumerDetails 3. KitchenService 1. CreateTicket 2. approveTicket 3. rejectTicket 4. AccountingService 1. authorizeCreditCard Choreografia vs Orchestracja