영어로 읽기

다음을 통해 공유


EventStream 클래스

BAM용 EventStream API는 Microsoft.BizTalk.BAM.EventObservation 네임스페이스에 있습니다. 이 API에 대해 코딩하려면 먼저 다음 DLL을 개발 컴퓨터에 설치해야 합니다.

  • Microsoft.BizTalk.BAM.EventObservation.dll

  • Microsoft.Biztalk.BAM.Xlangs.dll: 오케스트레이션 이벤트 스트림을 코딩할 때 이 DLL이 필요합니다.

  • Microsoft.BizTalk.Pipeline.dll: 이 DLL은 메시징 이벤트 스트림에 코딩 파이프라인 컨텍스트를 사용할 때 필요합니다.

    DLL을 프로젝트 참조에 추가하고 다음 using 문을 사용하여 코드에 네임스페이스를 포함합니다.

using Microsoft.BizTalk.Bam.EventObservation;  

클래스

Name Description
DirectEventStream(DES) 동기, 대기 시간 없음
BufferedEventStream(BES) 비동기, 높은 처리량, 약간의 대기 시간
OrchestrationEventStream(OES) 비동기, BizTalk 오케스트레이션 트랜잭션에 참여
IPipelineContext 인터페이스 비동기, BizTalk Server 파이프라인 트랜잭션에 참여. MES(메시징 이벤트 스트림)를 만드는 데 사용됩니다.

다음과 같은 요소를 고려하여 API를 선택해야 합니다.

  • 대기 시간이 중요한 경우에는 데이터가 BAM 기본 가져오기 데이터베이스에 동기적으로 유지되는 DES를 선택합니다. DES를 제외하고 다른 모든 EventStream 클래스는 비동기이며 약간의 대기 시간이 있습니다. 데이터는 먼저 MessageBox에 저장된 다음 TDDS에서 처리되어 BAMPrimaryImport 데이터베이스로 이동됩니다.

  • 이벤트 삽입의 성능 및 처리량이 중요한 경우에는 비동기 API를 선택합니다.

  • BizTalk Server가 설치되어 있지 않은 컴퓨터에서 실행되는 응용 프로그램을 작성하는 경우에는 DES 및 BES를 사용합니다. 즉, 이러한 API는 비BizTalk 응용 프로그램에 사용할 수 있습니다.

  • BizTalk Server가 설치되어 있는 컴퓨터에서 실행되는 응용 프로그램의 경우에는 MES 및 OES를 사용합니다. 이러한 API는 BizTalk 응용 프로그램에만 사용할 수 있습니다.

    • BAM 이벤트 지속성과 파이프라인 트랜잭션이 동기화되도록 하려면 메시징 이벤트 스트림을 사용해야 합니다.

    • OES는 MES와 동일하지만 BizTalk 오케스트레이션에만 사용할 수 있습니다.

    EventStream 유형을 혼합해야 하는 경우도 있습니다. 예를 들어 파이프라인 처리에서 파이프라인이 트랜잭션을 롤백하는지 여부와 관계없이 BAM의 특정 데이터를 캡처해야 할 수 있습니다. 특히 파이프라인 처리가 실행되는 동안 실패한 메시지 수 또는 재시도 횟수에 대한 데이터를 캡처해야 할 수 있습니다. 이러한 상황에서 데이터를 캡처하려면 BES를 사용해야 합니다.

    모든 비동기 EventStreams(BES, MES 및 OES)는 데이터를 BizTalk MessageBox 데이터베이스에 먼저 저장합니다. 데이터는 TDDS(추적 데이터 디코딩 서비스)에 의해 주기적으로 처리되고 BAM 기본 가져오기 데이터베이스에 저장됩니다.

참고

EventStream을 호출할 때 BizTalk 응용 프로그램에서 병목 현상이 발생하지 않도록 하려면 비동기 API를 사용하는 것이 좋습니다.

섹션 내용