순차 호위
순차 호위(convoy)를 사용하면 여러 개의 단일 메시지를 결합하여 원하는 결과를 얻을 수 있습니다. 순차 호위(convoy)는 미리 정의된 순서가 있는 관련 메시지의 집합입니다. 메시지가 정확히 동일할 필요는 없지만 메시지는 순서대로 수신되어야 합니다.
예를 들어 온라인 소매상이 하루 동안 직거래 고객과 대리점으로부터 새로운 주문을 받는다고 가정합니다. 오후 2시 전에 수신된 모든 주문은 일괄적으로 창고로 전달되며, 주문 수신 순서를 유지해야 합니다. 이렇게 해야 창고에 재고가 없는 경우 먼저 수신된 주문이 우선권을 가질 수 있습니다. 당일에 수신된 모든 주문을 일괄 처리 헤더 정보가 있는 단일 파일로 묶어서 일괄 처리 주문을 작성합니다. 오후 2시에 당일의 모든 주문이 창고로 전달됩니다. 오후 2시 이후에 수신된 모든 주문은 다음 날에 처리되도록 새 일괄 처리에 배치됩니다.
위 시나리오는 들어오는 메시지의 순차 호위(convoy) 처리가 필요한 비즈니스 프로세스의 예입니다. 여기에서 비즈니스 요구 사항은 특정 일에 오후 2시 전에 수신된 모든 단일 주문은 함께 일괄 처리되어야 한다는 것입니다. 이 요구 사항을 충족하려면 수신된 첫 번째 메시지가 새 오케스트레이션 인스턴스를 시작하고 상관 관계 집합을 초기화해야 합니다. 이 시점에서 해당 메시지 유형을 가진 다른 주문이 수신되면 이들은 모두 이미 실행 중인 오케스트레이션 인스턴스로 라우팅됩니다. 이를 위해 수신 셰이프( 수신 셰이프 및 지연 셰이프 포함)를 루프 셰이프 내에 배치합니다. 지연에 도달한 후 반복이 종료됩니다. 이렇게 함으로써 동일한 비즈니스 프로세스에서 불특정 개수의 주문을 수신할 수 있습니다.
BizTalk Server에서 "상관 관계가 지정된 순차 수신" 메시징 디자인 패턴을 사용하여 순차 호위(convoy)를 구현할 수 있습니다. 상관 관계가 지정된 순차 수신은 이전 수신과의 상관 관계가 지정된 수신입니다.
호위(convoy) 처리는 수신에 대한 상관 관계 집합이 다른 수신에 의해 초기화된 경우에 발생합니다.
호위(convoy) 처리가 필요한 수신에는 다음 제한 사항이 적용됩니다.
특정 수신에 대한 순차 호위(convoy) 집합을 구성하는 상관 관계 집합은 하나의 선행 수신에 의해 초기화되어야 합니다.
순차 호위(convoy) 처리가 필요한 수신의 포트는 호위(convoy) 집합을 초기화하는 수신의 포트와 동일해야 합니다. 포트 간 호위(convoy)는 지원되지 않습니다.
수신 문이 순차적 전달 포트에서 작동하지 않는 경우 호위(convoy) 처리가 필요한 수신의 메시지 유형은 호위(convoy) 집합을 초기화하는 수신의 메시지 유형과 일치해야 합니다.
순차 호위(convoy)에 참가하는 모든 수신은 순차적 전달 포트에서 수행되지 않는 한 처음 수신에 의해 초기화되거나 처음 수신이 따르는 모든 상관 관계 집합을 따라야 합니다.
활성화 수신 문에 의해 순차 호위(convoy)가 초기화되는 경우, 순차적 전달 포트에서 수행되지 않는 한 활성화 수신에 필터 식을 포함할 수 없습니다.
순차 호위(convoy)가 활성화 수신에 의해 초기화되는 경우 다음 수신은 중첩 오케스트레이션 내부에 들어갈 수 없습니다.
순차적 호송 구현의 예는 Aggregator(BizTalk Server 샘플)를 참조하세요.