invokeParticipant()는 포워드 트랜잭션(forward transaction)을 정의한 메서드입니다. CreateOrderSagaState.makeCreateTicketCommand()로 CreateTicket 커맨드 메시지를 생성한 후, kitchenService.create에 지정된 채널로 보냅니다. onReply()를 호출해서 주방 서비스로부터 성공 응답을 받으면 CreateOrderSagaState.handleCreateTicketReply()를 호출합니다. 이 메서드는 주방 서비스가 반환한 CreateTicketReply.ticketId를 CreateOrderSagaState.ticketId에 세팅합니다. 보상 트랜잭션은 withCompensation()으로 정의합니다. CreateOrderSagaState.makeCancelCreateTicketCommand()를 호출해서 CancelCreateTicket 커맨드 메시지를 생성한 후, kitchenService.create에 지정된 채널로 메시지를 전송합니다.
다른 사가 단계도 이와 비슷하게 정의합니다. CreateOrderSagaState는 사가가 KitchenService Proxy에 정의된 메시징 끝점(CommandEndpoint)으로 보낼 메시지를 생성합니다.