오케스트레이션에서 디자인 패턴 구현
이 섹션에서는 BizTalk Server 프로그래밍의 일반 패턴 및 엔터프라이즈 통합 패턴에 대해 설명합니다. 단일 패턴을 사용하거나 여러 개의 패턴을 조합하여 비즈니스 프로세스를 디자인한 다음, BizTalk 오케스트레이션 디자이너의 셰이프를 사용하여 이를 구현할 수 있습니다.
디자인 패턴
다음 항목에서는 각 패턴을 간략하게 설명하고 BizTalk 오케스트레이션 디자이너를 사용하여 이러한 패턴을 구현하는 방법을 보여주는 항목 또는 샘플에 대한 링크를 제공합니다.
집계
집계는 정보를 여러 소스에서 받아 단일 메시지로 통합하는 패턴입니다. 이 패턴의 예제는 Aggregator의 Aggregate.odx(BizTalk Server 샘플)를 참조하세요.
오케스트레이션에서 파이프라인 호출
오케스트레이션에서 송신 및 수신 파이프라인을 호출할 수 있습니다. 이를 통해 파이프라인을 다시 사용할 수 있으며 파이프라인 단계에서 오케스트레이션을 분리하여 유지할 수 있습니다. 이 패턴의 예제는 Aggregator의 Aggregate.odx(BizTalk Server 샘플)를 참조하세요. 또 다른 예로 구성된 메시지 프로세서의 CMP.odx(BizTalk Server 샘플)가 있습니다. 식을 사용하여 파이프라인을 실행하는 방법도 참조하세요.
구성된 메시지 처리기
구성된 메시지 처리기는 집계되거나 일괄 처리된 교환 메시지에서 개별 항목을 처리하는 패턴입니다. 이 패턴의 예제는 CMP.odx in Composed Message Processor(BizTalk Server Sample)를 참조하세요.
콘텐츠 기반 라우터
콘텐츠 기반 라우터는 메시지 내용의 특정 부분에 따라 메시지를 받는 사람을 결정하는 패턴입니다. 이 패턴의 예제는 CBRSample(BizTalk Server 샘플)을 참조하세요.
동적 라우터
동적 라우터는 메시지 처리의 결과에 따라 대상 주소 및 전송 프로토콜을 결정하는 패턴입니다. 동적 송신 포트 또는 역할 링크 셰이프를 사용하여 이 패턴을 구현할 수 있습니다. 이 패턴의 예제는 SendMail의 ReceiveSend.odx를 참조하세요. 또 다른 예로 PartyResolution(BizTalk Server 샘플)의 SupplierProcess.odx가 있습니다.
오류 처리
BizTalk Server에서는 실패한 메시지를 일시 중단된 큐에 배치하는 기본 동작을 사용하는 대신 메시징 오류의 자동 처리 방식을 지정할 수 있습니다. 실패한 메시지를 보거나 처리하기 위해 등록 포트로 라우팅할 수 있습니다. 이 패턴의 예제는 오류 처리의 ResubmitLogic.odx(BizTalk Server 샘플 폴더)를 참조하세요.
예외 처리 및 보정
예외 처리에 예외 처리기 및 Throw 예외 셰이프 또는 식 셰이프를 사용할 수 있습니다. 예를 들어 다음 코드를 식 셰이프에 배치하여 예외를 throw할 수 있습니다.
excp = new System.Exception();
throw(excp);
보정 블록 및 보정 셰이프를 사용하여 커밋된 트랜잭션에 대한 보정을 수행할 수 있습니다. 이 패턴의 예제는 보정의 UpdateContact.odx(BizTalk Server 샘플)를 참조하세요. 또 다른 예는 사용자 지정 예외에 있습니다.
메시지 브로커
메시지 브로커는 메시지 대상을 결정하고 메시지 흐름에 대한 제어를 유지 관리하는 패턴입니다. 자세한 내용은 OrderBroker 오케스트레이션의 처리를 참조하세요.
메시지 필터
메시지 필터 패턴은 특정 처리 조건을 만족하는 메시지를 선택합니다. 활성화된 Receive 셰이프에 필터 식을 추가하여 이 패턴을 구현할 수 있습니다. 자세한 내용은 수신 메시지 셰이프와 함께 필터 사용을 참조하세요.
메시지 변환기
메시지 변환기 패턴은 한 형식에서 다른 형식으로 메시지를 변환합니다. 오케스트레이션에서 변환 셰이프가 있는 BizTalk 맵을 사용하여 이 패턴을 구현할 수 있습니다. 이 패턴의 예제는 HelloWorld의 HelloOrchestration.odx(BizTalk Server 샘플)를 참조하세요.
병렬 호위(convoy)
병렬 호위(convoy) 패턴을 사용하면 여러 개의 단일 항목을 결합하여 개별 항목만으로는 수행할 수 없는 작업을 수행할 수 있습니다. 관련 항목 집합은 어떤 순서로든 도착할 수 있지만 BizTalk Server에서는 프로세스를 시작하기 전에 이들을 모두 수신해야 합니다.
분산 및 수집
분산 및 수집 패턴을 사용하면 메시지를 여러 수신자에게 보내고 각 수신자로부터 메시지를 다시 받을 수 있습니다. 분할자 패턴 및 집계 패턴을 사용하여 이 패턴을 구현할 수 있습니다. Aggregator 패턴을 사용하여 분할자 패턴을 사용하여 결과를 어셈블하고 병렬 작업 셰이프 아래에 배치합니다.
순차 호위(convoy)
순차 호위(convoy) 패턴을 사용하면 여러 개의 단일 항목을 결합하여 개별 항목만으로는 수행할 수 없는 작업을 수행할 수 있습니다. 순차 호위(convoy)는 미리 정의된 순서가 있는 관련 항목의 집합입니다. 항목이 정확히 동일할 필요는 없지만 BizTalk Server는 항목을 순서대로 수신해야 합니다.
분할자
분할자 패턴은 단일 메시지를 가져와서 여러 메시지로 분할합니다.
일시 중단 및 재시도
일시 중단 및 재시도 패턴을 사용하면 오류가 있을 때 오케스트레이션이 메시지를 일시 중단할 수 있습니다. 오케스트레이션이 일시 중단하고 중재를 요청한 다음 지정된 횟수로 작업을 재시도할 수 있도록 일시 중단이 반복하여 발생합니다.