다음을 통해 공유


주요 메시지 및 필드

이 섹션에서는 OrderBrokerOrderManager 오케스트레이션에서 처리하는 주요 메시지 및 필드에 대해 간략하게 설명합니다. 애플리케이션의 전체 메시지 목록은 비즈니스 프로세스 관리 솔루션에 대한 메시지 참조를 참조하세요.

주문 메시지

OrderBroker의 주문 메시지는 여러 부분으로 구성된 메시지입니다. 한 파트에는 라우팅 정보가 포함되고 다른 파트에는 주문 정보가 포함됩니다. 라우팅 메시지 파트를 정의하는 .NET 클래스는 오케스트레이션이 모든 클래스 멤버를 메시지 속성으로 액세스할 수 있도록 모든 필드를 고유 필드로 설정합니다. 또한 클래스는 메시지가 라우팅 가능하도록 라우팅 클래스에 승격 필드를 포함합니다. 승격 필드도 프로그래밍되고 덜 복잡한 표기법으로 참조될 수 있도록 모두 고유 필드로 설정됩니다.

.NET 클래스를 사용하여 메시지를 정의하는 방법에 대한 자세한 내용은 사용자 코드에서 메시지 생성을 참조하세요.

주문 식별

솔루션은 라우팅 정보의 세 필드를 사용하여 주문을 식별합니다. 이 세 가지 중 두 가지는 주문 식별자(OrderID) 및 CustomerID(고객 식별자)를 식별합니다. 그러나 두 필드가 주문을 식별하지만 주문의 여러 인스턴스가 있을 수 있습니다. 예를 들어 고객이 새 표준 케이블 설치를 주문한 다음 나중에 전화를 걸어 주문을 새 디럭스 케이블 설치로 변경할 수 있습니다. 대체로 업데이트된 주문이 도착하기 전에 원래 주문이 완료되지 않으므로 주문의 두 인스턴스가 만들어집니다.

주문 인스턴스를 구분하기 위해 솔루션은 고유한 주문 시퀀스 번호(SeqNum)를 사용합니다. OrderID, CustomerIDSeqNum의 세 필드는 주문의 instance 고유하게 식별합니다.

마지막으로 솔루션이 SeqNum에 대해 증가하는 숫자를 사용하기 때문에 솔루션은 업데이트를 원래 순서와 구분할 수 있습니다. 업데이트의 SeqNum이 더 높습니다.

참고

솔루션은 주문 요청을 만드는 시스템에 의존하여 SeqNum에 오름차순 값을 할당합니다. 입력 웹 서비스인 CSRMainForm.aspx.cs에 대한 ASP 페이지의 코드와 요청을 주문으로 변환하는 맵 CSR_OrderRequest_To_Order.btm 을 참조하세요.

상태

OrderBroker, OrderManager 및 해당 위성 오케스트레이션은 순서 메시지 라우팅 부분의 두 필드를 사용하여 상태를 추적합니다. 상태스테이지. 상태 필드는 주문의 상태 추적합니다. 다음 표에서는 상태 필드의 값을 설명합니다.

설정 위치 Description
수락됨 OrderBroker 주문이 OrderManager로 이동할 수 있습니다.
완료됨 OrderManager 전체 주문의 처리가 오류 없이 완료되었습니다.
오류 OrderManager 주문에서 오류가 검색되었습니다.
ORDERMANAGER-EXCEPTION OrderManager 주문을 처리하는 동안 주문 관리자에서 예외가 발생했습니다.
STAGE_n_COMPLETED OrderManager 오류 없이 완료된 n단계를 나타냅니다. 여기서 n은 숫자입니다.
STARTED OrderManager 주문 처리가 시작되었습니다.
TERMINATED OrderManager 취소로 인해 주문 처리가 중지되었습니다.

단계

OrderManager는 라우팅 파트의 스테이지 필드를 사용하여 메시지의 처리 단계를 나타냅니다. 이 필드는 메시지를 처리하는 위성 오케스트레이션을 결정하는 필터에 사용됩니다. OrderManager는 처음에 스테이지를 1로 설정합니다. 주문이 종료되거나 완료되면 OrderManagerStage 를 오케스트레이션 변수인 Stop 값으로 설정합니다.

RequestType

OrderManager는 주문 메시지의 RequestType 필드도 사용합니다. 필드 값이 TERMINATE이면 주문이 종료됩니다. 오케스트레이션은 RequestType 필드의 다른 모든 값을 무시하고 주문 시퀀스 번호를 사용하여 주문 업데이트 및 중복을 인식합니다. 그렇지 않으면 OrderBrokerRequestType 필드를 공급업체 또는 고객 서비스 시스템의 메시지에 있는 상태 필드 값으로 설정합니다.

OrderTypeCode, OrderType 및 ServiceClass

주문 유형은 주문 메시지의 OrderTypeCode 필드에 있습니다. OrderBroker는 해당 값을 고객 서비스 시스템 또는 공급업체 시스템에서 오는 메시지의 OrdTypeCode 필드 값으로 설정합니다. 다음 표에서는 OrderTypeCode에 사용할 수 있는 값을 보여줍니다.

Description
NS 새 표준 케이블 설치입니다.
ND 새 디럭스 케이블 설치입니다.
XS 표준 케이블 설치를 취소합니다.
XD 디럭스 케이블 설치를 취소합니다.
CS 표준 케이블 설치를 변경합니다.
CD 디럭스 케이블 설치를 변경합니다.
UNKNOWN 알 수 없습니다.

나중에 유효성 검사 오케스트레이션은 비즈니스 규칙 엔진을 사용하여 이러한 값을 OrderTypeServiceClass라는 두 개의 별도 필드로 변환합니다. 유효성 검사 오케스트레이션은 첫 번째 주문 처리 단계인 CableOrder1에서 호출됩니다.

다음 표에서는 OrderType에 대한 값을 제공합니다.

OrderTypeCode 값 OrderType 값
NS, ND 활성화
XS, XD 취소
CS, CD CHANGE
잘못된 조합입니다. INVALID

ServiceClass의 값은 해당하는 단일 문자, 표준의 경우 S 또는 디럭스의 경우 D입니다.

추가 식별자

또한 솔루션은 각 개별 주문에 대해 식별자를 사용합니다. 이 식별자 RequestId는 모든 주문에서 고유해야 합니다. 입력 웹 서비스에서 자동으로 GUID를 할당합니다. 일괄 처리 입력을 통해 제출된 메시지에는 이 필드의 값이 포함되어야 합니다. 필드는 순서 스키마의 RequestID 입니다. 그러나 OrderBrokerCSR_OrderRequest 스키마를 사용하여 주문을 처리합니다. 필드는 이 스키마에서 ReqId 로 표시되며 고유 속성입니다.

솔루션은 RequestId 를 사용하여 BAM 추적 시스템에 사용되는 활동 식별자를 형성합니다.

참고 항목

프로세스 관리자 논리
프로세스 관리자를 통한 주문 흐름
사용자 코드에서 메시지 생성
비즈니스 프로세스 관리 솔루션의 메시지 참조