영어로 읽기

다음을 통해 공유


Pipelines

파이프라인은 파이프와 필터의 통합 패턴을 구현하는 Microsoft BizTalk Server의 구성 요소입니다. 메시지를 보내고 받는 동안 BizTalk Server를 드나들기 위해 메시지에서 변환을 수행하여 메시지를 준비해야 합니다.

일반적으로 맵과 같은 BizTalk Server의 특정 기능을 이용하기 위해 쉼표로 구분된 플랫 파일을 XML 파일로 변환해야 하는 경우를 예로 들 수 있습니다. Flat File Disassembler 구성 요소가 바로 이 작업을 수행합니다. 통합 시나리오에서는 메시지를 받거나 보내기 전에 메시지에 대해 몇 가지 유형의 변환을 수행해야 하는 것이 일반적입니다. 이러한 요구 사항을 충족시키기 위해 파이프라인이 사용됩니다. 개발자는 파이프라인을 사용하여 메시지를 보내거나 받을 때 메시지에 수행될 일련의 변환을 정의할 수 있습니다.

송신과 수신이라는 두 가지 유형의 파이프라인이 있으며 파이프라인이 실행되는 포트와 일치합니다. 송신 파이프라인 은 송신 포트 및 요청/응답 수신 포트의 응답 부분에서 실행되고 수신 파이프라인 은 수신 위치 및 요청/응답 송신 포트의 응답 부분에서 실행됩니다. 원래 수신 파이프라인은 MessageBox 데이터베이스에 게시될 메시지를 변환하는 데 사용되는 반면 송신 파이프라인은 BizTalk Server에 등록되고 BizTalk Server에서 송신되는 메시지에 사용됩니다.

각 파이프라인에는 파이프라인 실행 시 순서대로 실행되는 일련의 단계가 있습니다. 각 단계는 0개 이상의 구성 요소를 포함할 수 있습니다. 구성 요소의 최대 수는 단계에 따라 달라집니다.

수신 파이프라인 단계

수신 파이프라인 단계

단계 목적
디코딩 메시지 데이터의 암호를 해독하거나 디코딩합니다.
Disassemble 교환을 보다 작은 메시지로 디스어셈블하고 메시지 내용을 구문 분석합니다.
유효성 검사 일반적으로 스키마에 대해 메시지 데이터의 유효성을 검사합니다.
파티 해결 메시지 또는 메시지 컨텍스트에서 일부 보안 토큰과 연결된 BizTalk Server 파티를 식별합니다.

송신 파이프라인 단계

파이프라인 단계 보내기

단계 목적
어셈블 전 메시지를 어셈블하기 전에 필요한 모든 메시지 처리를 수행합니다.
어셈블 메시지를 어셈블한 다음 봉투(Envelope) 추가, 플랫 파일로 XML 변환 또는 수신 파이프라인의 디스어셈블 단계를 보완하는 다른 작업과 같은 단계를 수행하여 전송할 준비를 합니다.
인코딩 배달하기 전에 메시지를 인코딩 또는 암호화합니다.

파이프라인의 스테이지에는 둘 이상의 구성 요소가 스테이지에 추가될 경우 실행되는 구성 요소를 제어하는 모두 또는 첫 번째 일치의 실행 모드 가 있습니다. "모든 단계" 모드의 경우 각 구성 요소는 단계에서 구성된 순서로 메시지가 처리되도록 호출됩니다. "첫 번째 일치 단계" 모드의 경우 일치하는 항목이 발견될 때까지 각 구성 요소를 폴링하여 올바른 구성 요소임을 나타내고 발견된 그 지점에서 일치하는 구성 요소를 실행하는 반면 나머지 구성 요소는 실행하지 않습니다.

실행 모드의 예로 수신 파이프라인의 디스어셈블 단계는 "첫 번째 일치 단계"이므로 메시지를 인식하고 처리할 수 있는지 확인하기 위해 단계의 각 구성 요소를 호출합니다. 구성 요소가 긍정적으로 응답하면 메시지를 처리할 수 있는지 확인하기 위해 해당 단계의 다른 모든 구성 요소는 쿼리하지 않습니다. 그러나 수신 파이프라인의 디코드 단계에서 실행 모드는 "모든 단계"입니다. 이는 이 단계의 각 구성 요소가 구성된 순서로 메시지를 처리하도록 호출된다는 의미입니다. 첫 번째 디코더는 메시지의 암호를 해독하고 두 번째는 압축된 형식으로 되어 있는 메시지의 압축을 해제할 수 있습니다.

개발자가 단일 수신 파이프라인에서 여러 개의 디스어셈블러를 사용하려는 경우 파이프라인 처리 실행 모드에서 한 가지 공통적인 결과가 발생합니다. 디스어셈블 구성 요소는 약간씩 다를 때도 있습니다. 그 예로 비슷하지만 서로 다르게 구성된 스키마를 갖는 Flat File Disassembler를 들 수 있습니다. 이 경우 메시지는 실제로 두 번째 디스어셈블러에 정의된 스키마와 일치할 수 있지만 첫 번째 디스어셈블러가 검색을 통해 메시지를 처리할 수 있다고 판단할 수 있습니다. 메시지를 처리한 후에야 오류가 발견되고 메시지가 일시 중단됩니다. 이러한 경우 더욱 구체적인 검색 논리를 갖는 디스어셈블러를 새로 만들거나 두 개의 다른 파이프라인을 만들고 서로 다른 수신 위치에서 서로 다른 메시지를 수신할 수 있습니다.

파이프라인 배포

파이프라인을 포함하는 어셈블리를 배포할 경우 관리 데이터베이스가 파이프라인을 저장합니다. 파이프라인은 특정 버전의 어셈블리와 연결되어 있으며 다음 결과를 생성합니다.

  • 동일한 파이프라인을 사용하는 어셈블리를 여러 개 배포할 경우 관리 데이터베이스는 어셈블리별로 파이프라인에 대한 항목을 하나씩 만듭니다.

  • 파이프라인을 포함하는 어셈블리를 제거할 경우 관리 데이터베이스는 어셈블리와 연결된 파이프라인을 제거합니다. 관리 데이터베이스에는 연결된 각 어셈블리에 대한 파이프라인 복사본이 있으므로 어셈블리를 하나 제거해도 다른 어셈블리에는 영향이 없습니다.

참고 항목

아티팩트