하위 워크플로 - Amazon Simple Workflow Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

하위 워크플로

복잡한 워크플로는 하위 워크플로를 사용해 더 작고 관리하기 쉽고 잠재적으로 재사용 가능한 구성 요소로 나눌 수 있습니다. 하위 워크플로는 다른 (상위) 워크플로 실행으로 시작되는 워크플로 실행입니다. 하위 워크플로를 시작하기 위해 상위 워크플로 결정자는 StartChildWorkflowExecution 결정을 사용합니다. 이 결정으로 지정된 입력 데이터는 내역을 통해 하위 워크플로에 사용할 수 있습니다.

StartChildWorkflowExecution 결정의 속성 역시 하위 정책 즉, Amazon SWF가 하위 워크플로 실행 이전에 상위 워크플로 실행을 종료하는 상황을 처리해야 하는 방법을 지정합니다. 다음 세 가지 값이 가능합니다.

  • TERMINATE: Amazon SWF가 하위 실행을 종료합니다.

  • REQUEST_CANCEL: Amazon SWF가 하위 워크플로 실행 내역에 WorkflowExecutionCancelRequested 이벤트를 배치하여 하위 실행을 취소하려고 합니다.

  • ABANDON: Amazon SWF에서 아무런 조치를 취하지 않고, 하위 실행이 계속 실행됩니다.

하위 워크플로 실행이 시작되면 마치 정규 실행처럼 실행됩니다. 완료되면 Amazon SWF가 상위 워크플로 실행의 워크플로 내역에 결과와 함께 완료를 기록합니다. 하위 워크플로의 예는 다음을 포함합니다.

  • 여러 웹 사이트에서 워크플로가 사용하는 신용카드 처리 하위 워크플로

  • 고객 이메일 주소를 확인하고, 옵트 아웃 목록을 확인하고, 이메일을 보내고, 이메일이 반송되거나 전송에 실패하지 않았음을 확인하는 이메일 하위 워크플로

  • 연결, 설정, 트랜잭션 및 확인을 결합하는 데이터베이스 저장 및 검색 하위 워크플로

  • 빌드, 패키징 및 확인을 결합하는 소스 코드 컴파일 하위 워크플로

전자 상거래의 예에서 신용카드에 비용 청구 활동을 하위 워크플로로 만들려고 할 수 있습니다. 이렇게 하려면 새 고객 확인 워크플로를 등록하고, 고객 주소 확인 및 사기 DB 확인 활동을 등록하고, 해당 작업에 대한 조정 로직을 정의할 수 있습니다. 그런 다음 고객 주문 워크플로의 결정자는 워크플로 유형을 지정하는 StartChildWorkflowExecution 결정을 예약해 고객 확인 하위 워크플로를 시작할 수 있습니다.

다음 그림은 고객 주소를 확인하고, 사기 데이터베이스를 확인하고, 신용카드에 비용을 청구하는 새로운 고객 확인 하위 워크플로를 포함한 고객 주문 워크플로를 보여줍니다.

하위 워크플로의 다이어그램

여러 워크플로가 동일한 워크플로 유형을 사용해 하위 워크플로 실행을 생성할 수 있습니다. 예를 들어, 고객 확인 하위 워크플로는 조직의 다른 부분에서도 사용할 수 있습니다. 하위 워크플로에 대한 이벤트는 자체 워크플로 내역에 포함되며 상위 워크플로 내역에 포함되지 않습니다.

하위 워크플로는 결정자가 시작하는 단순한 워크플로 실행이므로 일반적인 독립형 워크플로 실행으로 시작할 수도 있습니다.