동기와 비동기
동기란?
- 작업 요청한 주체가 결과를 기다리고 다음 흐름으로 넘어가는 것
비동기란?
- 작업 요청 후 기다리지 않고 다음 흐름을 진행하는 것. (주로 긴 처리 작업을 할 때 주로 활용이 된다.)
- 비동기에서의 완료는
요청완료 작업완료 가 있다.
- 요청완료: 실제 작업이 완료되었다고 해석을 하면 안된다. 실패가 가능하다.
- 비동기 작업을 한다는 것을 별도 관리 대상이 생기는 것이다.
AX에서는 이러한 작업을 어떤식으로 나눌까?
- 결과가 다음 작업에 필요한지 여부를 확인하는 것
- 외부 의존성이 존재하는지
- 실패 시 다시 처리되어야 하는 것인지
요청, 작업, 이벤트
요청
- 무엇을 해달라고 입력을 하는 것 (명령) ⇒ 대상이 존재한다.
- 하나의 요청을 통해서 여러가의 작업을 생성하는 것이 가능하다.
작업
- 요청처리의 실행 단위이며, 상태가 존재한다.
- 실패가 가능하다.
이벤트
- 이미 발생한 사실 (메시지)를 기록한 것을 말한다.