주문 처리 단계의 처리
비즈니스 프로세스 관리 솔루션에는 주문 처리 작업을 수행하는 두 단계인 CableOrder1 및 CableOrder2 오케스트레이션이 포함되어 있습니다. 주문 프로세스가 스테이지로 나뉘어진 방법에 대한 자세한 내용은 처리 단계 수를 참조하세요.
두 처리 단계는 모두 주문 메시지를 수신할 때 시작되며, 두 단계 모두 시작되면 OrderManager 오케스트레이션에 상태 메시지와 함께 회신합니다. 마찬가지로 둘 다 OrderManager 에 메시지를 다시 보내 단계가 완료되었는지 또는 오류로 종료되었는지 여부를 나타냅니다. OrderManager 오케스트레이션과 처리 단계 간의 연결에 대한 자세한 내용은 역방향 직접 파트너 바인딩을 참조하세요.
두 처리 단계 모두 자체 상관 관계 동적 포트를 사용하여 정보를 OrderManger로 다시 보냅니다. 오케스트레이션은 동적 포트를 사용하여 메시지에서 송신 포트로 포트 주소를 복사합니다.
처리 단계에서 받는 모든 주문 메시지는 OrderBroker에서 만든 정규화된 정식 주문 메시지입니다.
참고
CableOrder1 및 CableOrder2 오케스트레이션의 길이 때문에 Microsoft Visual Studio에서 오케스트레이션이 열려 있는 이 섹션을 읽을 수 있습니다.
CableOrder1 오케스트레이션
CableOrder1 오케스트레이션은 주문 메시지를 받으면 시작됩니다. 그런 다음 메시지에서 단계 완료 포트로 회신 주소를 복사합니다. 다음으로 승인 메시지를 생성하고 BeginStagePort 포트에 대한 응답으로 보낸 다음 라우팅 정보를 지역 변수에 저장합니다.
다음으로 오케스트레이션은 SSO에서 구성 정보를 가져옵니다. 솔루션에서 SSO를 사용하는 방법에 대한 자세한 내용은 비즈니스 프로세스 관리 솔루션에서 SSO를 효율적으로 사용을 참조하세요.
그런 다음 오케스트레이션은 백 엔드 프로세스와 통신할 OrderHandler 개체의 instance 만들고, 메시지의 유효성을 확인하고, 메시지를 분석하고, 서비스 유형을 결정하고, 수행할 작업을 결정합니다. 수행할 작업에 따라 Order Action 오케스트레이션 활성화, 변경 또는 취소 중 하나를 호출하고 OrderHandler 개체를 오케스트레이션에 전달합니다.
그런 다음 CableOrder1 오케스트레이션은 인터럽트를 확인하고, 시설 그룹에 메시지를 보내고, 다시 듣기를 기다립니다. 시설 그룹에서 오케스트레이션으로 메시지가 오면 처리가 계속됩니다. 메시지가 오지 않고 인터럽트가 발생하면 오케스트레이션은 인터럽트 예외를 throw합니다.
오케스트레이션은 완료 메시지를 생성하고 StageCompletion 포트를 통해 전송하여 완료됩니다.
CableOrder2 오케스트레이션
CableOrder2 오케스트레이션은 라우팅 정보, SSO 구성 정보 및 OrderHandler 개체의 instance 만들기 위해 CableOrder1 오케스트레이션과 동일한 시작 단계를 수행합니다.
그런 다음 오케스트레이션은 인터럽트를 확인하고 Complete 오케스트레이션에 대한 호출에서 OrderHandler 개체를 전달합니다. 다음으로 오케스트레이션은 주문 상태 메시지를 만들고, 주문 기록을 업데이트하고, StageCompletion 포트를 통해 완료 메시지를 보냅니다.