다음을 통해 공유


BizTalk Server 사용하여 SQL에서 특정 작업을 완료하기 위한 알림 메시지 처리

SQL 어댑터를 사용하여 SQL Server 데이터베이스 테이블 변경에 대한 알림을 받을 수 있습니다. 그러나 어댑터는 일부 레코드가 특정 데이터베이스 테이블에 삽입, 업데이트 또는 삭제되었다는 알림만 보냅니다. 이러한 레코드에 대한 모든 후처리는 클라이언트 애플리케이션 자체에서 처리해야 합니다. 이 항목에서는 SQL Server 데이터베이스에서 받은 알림의 종류에 따라 테이블의 레코드를 처리하는 방법에 대한 시나리오 기반 설명을 제공합니다.

알림을 받은 후 후속 작업을 수행하는 시나리오

다음은 어댑터 클라이언트가 특정 사후 알림 작업을 수행해야 하는 몇 가지 시나리오입니다.

  • 시나리오 1. 어댑터 클라이언트가 SQL Server 받은 알림의 종류에 따라 특정 작업을 수행해야 하는 시나리오를 고려합니다. 예를 들어 레코드가 테이블 "B"에 삽입된 경우 클라이언트 애플리케이션은 테이블 "A"의 레코드를 업데이트해야 합니다. 마찬가지로 클라이언트 애플리케이션은 테이블 "B"에서 레코드가 삭제된 경우 테이블 "A"에서 레코드를 삭제해야 합니다.

    이 시나리오에서 받은 알림 메시지에서 어댑터 클라이언트는 알림 유형을 추출하여 알림이 삽입 작업인지 아니면 삭제 작업에 대한 것인지 결정해야 합니다. 알림 유형이 확인되면 어댑터 클라이언트는 관련 테이블을 삽입하거나 업데이트하기 위해 후속 작업을 수행해야 합니다.

  • 시나리오 2. 테이블 변경에 대한 알림 메시지를 받는 수신 위치가 중단되는 시나리오를 고려합니다. 수신 위치가 다운된 동안 일부 레코드가 테이블에 추가됩니다. 그러나 이러한 레코드의 경우 어댑터 클라이언트는 알림을 받지 않습니다. 수신 위치가 백업되면 어댑터는 특정 메시지를 전송하여 클라이언트에 알리고 클라이언트 애플리케이션은 수신 위치가 다운된 동안 데이터베이스 테이블에 삽입된 모든 레코드를 찾아야 합니다.

    이 시나리오에서 받은 알림 메시지에서 어댑터 클라이언트는 알림이 데이터베이스 테이블 변경에 대한 것인지 아니면 수신 위치 시작에 대한 것인지에 대한 정보를 추출해야 합니다. 수신 위치 시작에 대한 알림인 경우 어댑터 클라이언트는 수신 위치가 다운된 동안 삽입, 업데이트 또는 삭제되었을 수 있는 레코드를 처리하는 논리를 구현해야 합니다.

참고

이는 SQL 어댑터에서 알림 기능을 사용하는 방법을 더 잘 이해하기 위해 나열된 몇 가지 예제 시나리오일 뿐입니다. 그러나 수신된 알림 유형을 추출하는 데 필요한 기본 작업 집합은 모든 시나리오에서 유사합니다. 이 항목에서는 알림 메시지에서 알림 유형을 추출하는 방법에 대한 지침을 제공합니다.

이 항목에서 알림 메시지 수신 및 알림 유형 추출 방법을 보여 주는 방법

이 항목에서는 알림 메시지를 처리하여 후속 작업을 수행하는 방법을 설명하기 위해 어댑터 클라이언트가 BizTalk 애플리케이션을 사용하여 Employee 테이블 변경에 대한 알림 메시지를 받는 기본 시나리오를 고려합니다. 알림을 받은 후 클라이언트는 받은 알림 유형을 필터링하고 후속 작업을 수행합니다. 매우 기본적인 시나리오를 보여 주려면 어댑터 클라이언트가 받은 알림의 종류에 따라 알림 메시지를 다른 폴더에 복사하는 것을 고려해 보겠습니다. 두 가지를 바탕으로 탄생:

  • 알림 메시지가 삽입 또는 업데이트 작업인 경우 어댑터 클라이언트는 메시지를 C:\TestLocation\UpsertNotification 폴더에 복사합니다.

  • 알림 메시지가 다른 작업(예: 삭제)에 대한 경우 어댑터 클라이언트는 메시지를 C:\TestLocation\OtherNotificaiton 폴더에 복사합니다.

    이를 BizTalk 애플리케이션의 일부로 수행하려면 오케스트레이션에 다음이 포함되어야 합니다.

  • 알림 메시지를 수신하는 단방향 수신 포트입니다.

  • 받은 알림 메시지의 종류에 대한 정보를 추출하는 xpath 쿼리를 포함하는 식 셰이프입니다.

  • 오케스트레이션에 의사 결정 블록을 포함할 결정 셰이프입니다. 이 의사 결정 블록에서 애플리케이션은 받은 알림 메시지에 따라 수행할 후속 작업을 결정합니다.

  • 마지막으로 알림 메시지를 받는 두 개의 단방향 송신 포트입니다.

SQL 어댑터 바인딩 속성을 사용하여 알림 구성

다음 표에서는 SQL Server 수신 알림을 구성하는 데 사용하는 SQL 어댑터 바인딩 속성을 요약합니다. BizTalk Server 관리 콘솔에서 수신 포트를 구성하는 동안 이러한 바인딩 속성을 지정해야 합니다.

참고

필수는 아니지만 알림 작업에 대한 스키마를 생성할 때 이러한 바인딩 속성을 지정하도록 선택할 수 있습니다. 이렇게 하면 어댑터 서비스 사용 추가 기능이 메타데이터 생성의 일부로 생성하는 포트 바인딩 파일에도 바인딩 속성에 대해 지정한 값이 포함됩니다. 나중에 BizTalk Server 관리 콘솔에서 이 바인딩 파일을 가져와 바인딩 속성이 이미 설정된 WCF-custom 또는 WCF-SQL 수신 포트를 만들 수 있습니다. 바인딩 파일을 사용하여 포트를 만드는 방법에 대한 자세한 내용은 SQL 어댑터를 사용하도록 포트 바인딩 파일을 사용하여 실제 포트 바인딩 구성을 참조하세요.

Binding 속성 Description
InboundOperationType 수행할 인바운드 작업을 지정합니다. 알림 메시지를 받으려면 알림으로 설정합니다.
NotificationStatement 쿼리 알림에 등록하는 데 사용되는 SQL 문(SELECT 또는 EXEC <저장 프로시저>)을 지정합니다. 어댑터는 지정된 SQL 문에 대한 결과 집합이 변경될 때만 SQL Server 알림 메시지를 가져옵니다.
NotifyOnListenerStart 수신기가 시작될 때 어댑터가 어댑터 클라이언트에 알림을 보낼지 여부를 지정합니다.

이러한 속성에 대한 자세한 설명은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요. SQL 어댑터를 사용하여 SQL Server 알림을 받는 방법에 대한 자세한 내용은 자세히 알아보세요.

SQL Server 데이터베이스에서 알림 메시지를 받는 방법

BizTalk Server SQL 어댑터를 사용하여 SQL Server 데이터베이스에서 작업을 수행하려면 SQL 어댑터를 사용하여 BizTalk 애플리케이션을 개발하기 위한 구성 요소에 설명된 절차 작업이 포함됩니다. 알림 메시지를 받도록 어댑터를 구성하려면 다음 작업을 수행합니다.

  1. BizTalk 프로젝트를 만든 다음 알림 인바운드 작업에 대한 스키마를 생성합니다. 필요에 따라 InboundOperationTypeNotificationStatement 바인딩 속성에 대한 값을 지정할 수 있습니다.

  2. BizTalk 프로젝트에서 SQL Server 데이터베이스에서 알림을 받기 위한 메시지를 만듭니다.

  3. 이전 섹션에 설명된 대로 오케스트레이션을 만듭니다.

  4. BizTalk 프로젝트를 빌드하고 배포합니다.

  5. 물리적 송신 및 수신 포트를 만들어 BizTalk 애플리케이션을 구성합니다.

    참고

    알림 메시지 수신과 같은 인바운드 작업의 경우 단방향 WCF-Custom 또는 WCF-SQL 수신 포트만 구성해야 합니다. 양방향 WCF-Custom 또는 WCF-SQL 수신 포트는 인바운드 작업에 지원되지 않습니다.

  6. BizTalk 애플리케이션을 시작합니다.

    이 항목에서는 이러한 작업을 수행하는 지침을 제공합니다.

스키마 생성

알림 인바운드 작업에 대한 스키마를 생성해야 합니다. 스키마를 생성하는 방법에 대한 자세한 내용은 SQL 어댑터를 사용하여 Visual Studio에서 SQL Server 작업에 대한 메타데이터 검색을 참조하세요. 스키마를 생성할 때 다음 작업을 수행합니다. 디자인 타임에 바인딩 속성을 지정하지 않으려면 첫 번째 단계를 건너뜁니다.

  1. 스키마를 생성하는 동안 InboundOperationTypeNotificationStatement 바인딩 속성에 대한 값을 지정합니다. 이 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요. 바인딩 속성을 지정하는 방법에 대한 지침은 SQL 어댑터에 대한 바인딩 속성 구성을 참조하세요.

  2. 계약 유형을 서비스(인바운드 작업)로 선택합니다.

  3. 알림 작업에 대한 스키마를 생성합니다.

메시지 및 메시지 형식 정의

이전에 생성한 스키마는 오케스트레이션의 메시지에 필요한 "형식"을 설명합니다. 메시지는 일반적으로 해당 스키마에 의해 정의된 형식인 변수입니다. 스키마가 생성되면 BizTalk 프로젝트의 오케스트레이션 보기에서 메시지에 연결해야 합니다.

이 항목의 경우 SQL Server 데이터베이스에서 알림을 받을 메시지를 하나 만들어야 합니다.

다음 단계를 수행하여 메시지를 만들고 스키마에 연결합니다.

  1. BizTalk 프로젝트에 오케스트레이션을 추가합니다. 솔루션 탐색기 BizTalk 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다. BizTalk 오케스트레이션의 이름을 입력한 다음 추가를 클릭합니다.

  2. 아직 열려 있지 않은 경우 BizTalk 프로젝트의 오케스트레이션 보기 창을 엽니다. 보기를 클릭하고 다른 창을 가리킨 다음 오케스트레이션 보기를 클릭합니다.

  3. 오케스트레이션 보기에서 메시지를 마우스 오른쪽 단추로 클릭한 다음 새 메시지를 클릭합니다.

  4. 새로 만든 메시지를 마우스 오른쪽 단추로 클릭한 다음 속성 창을 선택합니다.

  5. Message_1속성 창에서 다음을 수행합니다.

    사용 항목 원하는 작업
    ID NotifyReceive.
    메시지 유형 드롭다운 목록에서 스키마를 확장하고 Process_Notification.Notification을 선택합니다. 여기서 Process_Notification BizTalk 프로젝트의 이름입니다. 알림알림 작업에 대해 생성된 스키마입니다.

오케스트레이션 설정

SQL Server 데이터베이스에서 알림 메시지를 받은 다음 받은 알림 유형에 따라 작업을 수행하는 데 BizTalk Server 사용할 BizTalk 오케스트레이션을 만들어야 합니다. 이 오케스트레이션에서 어댑터는 NotificationStatement 바인딩 속성에 대해 지정된 SELECT 문을 기반으로 알림 메시지를 받습니다. 식 셰이프 내에 지정된 xpath 쿼리는 알림 유형을 변수(예: NotificationType)로 추출합니다. Decide 셰이프는 이 변수의 값을 사용하여 수신된 알림의 종류를 결정하고 적절한 "경로"를 사용하여 후속 작업을 수행합니다. 이전 섹션에서 설명한 대로 오케스트레이션은 받은 알림 메시지의 종류에 따라 다음 작업을 수행합니다.

  • 알림 메시지가 삽입 또는 업데이트 작업인 경우 어댑터 클라이언트는 메시지를 C:\TestLocation\UpsertNotification 폴더에 복사합니다.

  • 알림 메시지가 다른 작업(예: 삭제)에 대한 경우 어댑터 클라이언트는 메시지를 C:\TestLocation\OtherNotificaiton 폴더에 복사합니다.

    따라서 오케스트레이션에는 다음이 포함되어야 합니다.

  • 알림 메시지를 수신하는 단방향 수신 포트입니다.

  • 받은 알림 종류를 추출하는 xpath 쿼리가 포함된 식 셰이프입니다.

  • 오케스트레이션에 의사 결정 블록을 포함할 결정 셰이프입니다. 이 의사 결정 블록에서 애플리케이션은 받은 알림 메시지에 따라 수행할 후속 작업을 결정합니다.

  • 마지막으로 알림 메시지를 받는 두 개의 단방향 송신 포트입니다.

  • 수신 셰이프입니다.

    샘플 오케스트레이션은 다음과 유사합니다.

    20f62716-603d-4293-84f7-8c8f6d82ccd0알림 후 작업

메시지 셰이프 추가

각 메시지 셰이프에 대해 다음 속성을 지정해야 합니다. Shape 열에 나열된 이름은 방금 언급한 오케스트레이션에 표시된 메시지 셰이프의 이름입니다.

도형 도형 유형 속성
ReceiveNotification Receive - 이름을ReceiveNotification으로 설정

- 활성화True로 설정

식 셰이프 추가

오케스트레이션에 식 셰이프를 포함하는 목적은 xpath 쿼리를 사용하여 수신된 알림 메시지의 종류를 추출하는 것입니다. xpath 쿼리를 만들기 전에 알림 메시지의 형식을 살펴보겠습니다. 일반적인 알림 메시지는 다음과 유사합니다.

<Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
  <Info>Insert</Info>   
  <Source>Data</Source>   
  <Type>Change</Type>   
</Notification>  

보듯이 알림 유형에 대한 정보는 태그 내에서 부모 <Notification> 태그 내에서 <info> 사용할 수 있습니다. 따라서 이 식 셰이프의 일부로 다음을 수행해야 합니다.

  • 태그 내에 값이 포함된 변수를 만들고 해당 형식을 <Info> System.String으로 설정합니다. 변수를 만드는 방법에 대한 자세한 내용은 오케스트레이션에서 변수 사용을 참조하세요.

    이 항목의 경우 변수 이름을 NotificationType으로 지정합니다.

  • 정보> 태그에서 값을 추출하는 xpath 쿼리를 <만듭니다. xpath 쿼리는 다음과 유사합니다.

    NotificationType = xpath(NotifyReceive,"string(/*[local-name()='Notification']/*[local-name()='Info']/text())");  
    

    이 xpath 쿼리에서 NotifyReceive 는 알림 메시지를 수신하기 위해 만든 메시지입니다. 함수 내에서 발췌한 string 내용은 쿼리가 태그 내 <Info> 의 값을 추출해야 하며, 이 값은 태그 내에 있어야 했음을 <Notification> 나타냅니다. 마지막으로 쿼리에서 추출한 값은 NotificaitonType 변수에 할당됩니다.

결정 셰이프 추가

Decide 셰이프를 추가하는 목적은 오케스트레이션에 의사 결정 블록을 포함하여 수신된 알림 메시지의 종류에 따라 수행할 후속 작업을 결정하는 것입니다. 이 결정은 NotificationType 변수의 값을 기반으로 합니다. 이 항목에서 오케스트레이션은 받은 알림 메시지의 종류에 따라 결정을 내립니다. 따라서 규칙 셰이프의 조건은 다음과 같이 지정됩니다.

NotificationType.Equals("Insert") | NotificationType.Equals("Update")  

이 조건은 NotificaitonType 변수 값이 Insert 또는 Update이면 오케스트레이션이 하나의 작업 집합을 수행함을 시사합니다. NotificationType 변수 값이 다른 경우 오케스트레이션은 다른 작업 집합을 수행합니다.

이전 섹션에서 설명한 것처럼 간단한 방법을 설명하기 위해 오케스트레이션은 알림 메시지 유형에 따라 메시지를 다른 폴더에 복사합니다. 따라서 규칙 및 기타 블록 내에서 셰이프 보내기를 추가하여 메시지를 다른 포트로 보내야 합니다. 이 항목의 경우 규칙 블록의 보내기 셰이프를 SendUpsertNotification 으로, Else 블록의 Send 셰이프 이름을 SendOtherNotification으로 지정합니다.

포트 추가

이제 오케스트레이션에 다음 논리 포트를 추가해야 합니다.

  • SQL Server 알림 메시지를 수신하는 단방향 수신 포트입니다.

  • 특정 폴더에 삽입 및 업데이트 작업에 대한 알림 메시지를 보내는 단방향 송신 포트입니다.

  • 단방향 송신 포트를 사용하여 다른 작업에 대한 알림 메시지를 특정 폴더로 보냅니다.

    각 논리 포트에 대해 다음 속성을 지정해야 합니다. 포트 열에 나열된 이름은 오케스트레이션에 표시된 포트의 이름입니다.

포트 속성
SQLNotifyPort - 식별자를SQLNotifyPort로 설정

- 형식SQLNotifyPortType으로 설정

- 통신 패턴을단방향으로 설정

- 수신통신 방향 설정
NotificationUpsertPort - 식별자를NotificationUpsertPort로 설정

- TypeNotificationUpsertPortType으로 설정

- 통신 패턴을단방향으로 설정

- 전송할 통신 방향 설정
OtherNotificationPort - 식별자를OtherNotificationPort로 설정

- 형식OtherNotificationPortType으로 설정

- 통신 패턴을단방향으로 설정

- 전송할 통신 방향 설정

작업 셰이프에 대한 메시지 지정 및 포트에 연결

다음 표에서는 작업 셰이프에 대한 메시지를 지정하고 메시지를 포트에 연결하도록 설정해야 하는 속성과 해당 값을 지정합니다. Shape 열에 나열된 이름은 앞에서 언급한 오케스트레이션에 표시된 메시지 셰이프의 이름입니다.

도형 속성
ReceiveNotification - NotifyReceive메시지 설정

- 작업을SQLNotifyPort.Notify.Request로 설정
SendUpsertNotification - NotifyReceive메시지 설정

- 작업을NotificationUpsertPort.Upsert.Request로 설정
SendOtherNotification - 메시지를선택으로 설정

- 작업을OtherNotificationPort.Other.Request로 설정

이러한 속성을 지정하면 메시지 셰이프와 포트가 연결되고 오케스트레이션이 완료됩니다.

이제 BizTalk 솔루션을 빌드하고 BizTalk Server 배포해야 합니다. 자세한 내용은 오케스트레이션 빌드 및 실행을 참조하세요.

BizTalk 애플리케이션 구성

BizTalk 프로젝트를 배포한 후에는 이전에 만든 오케스트레이션이 BizTalk Server 관리 콘솔의 오케스트레이션 창 아래에 나열됩니다. 애플리케이션을 구성하려면 BizTalk Server 관리 콘솔을 사용해야 합니다. 연습은 연습: 기본 BizTalk 애플리케이션 배포를 참조하세요.

애플리케이션 구성에는 다음이 포함됩니다.

  • 애플리케이션에 대한 호스트를 선택합니다.

  • 오케스트레이션에서 만든 포트를 BizTalk Server 관리 콘솔의 실제 포트에 매핑합니다. 이 오케스트레이션의 경우 다음을 수행해야 합니다.

    • 물리적 WCF-Custom 또는 WCF-SQL 단방향 수신 포트를 정의합니다. 이 포트는 SQL Server 데이터베이스에서 들어오는 알림을 수신 대기합니다. 포트를 만드는 방법에 대한 자세한 내용은 SQL 어댑터에 대한 물리적 포트 바인딩 수동 구성을 참조하세요. 수신 포트에 대해 다음 바인딩 속성을 지정해야 합니다.

      중요

      디자인 타임에 바인딩 속성을 지정한 경우에는 이 단계를 수행할 필요가 없습니다. 이러한 경우 어댑터 서비스 사용 추가 기능에서 만든 바인딩 파일을 가져와 필요한 바인딩 속성이 설정된 WCF 사용자 지정 또는 WCF-SQL 수신 포트를 만들 수 있습니다. 자세한 내용은 SQL 어댑터를 사용하도록 포트 바인딩 파일을 사용하여 물리적 포트 바인딩 구성을 참조하세요.

      Binding 속성
      InboundOperationType 이를 알림으로 설정합니다.
      NotificationStatement 다음으로 설정합니다.

      SELECT Employee_ID, Name FROM dbo.Employee WHERE Status=0

      참고: 이 SELECT 문에 표시된 대로 문에서 열 이름을 구체적으로 지정해야 합니다. 또한 항상 스키마 이름과 함께 테이블 이름을 지정해야 합니다. 예: dbo.Employee.
      NotifyOnListenerStart 이를 True로 설정합니다.

      다양한 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요.

      참고

      SQL 어댑터를 사용하여 인바운드 작업을 수행하는 동안 트랜잭션 격리 수준 및 트랜잭션 시간 제한을 구성하는 것이 좋습니다. WCF-Custom 또는 WCF-SQL 수신 포트를 구성하는 동안 서비스 동작을 추가하여 이 작업을 수행할 수 있습니다. 서비스 동작을 추가하는 방법에 대한 지침은 SQL을 사용하여 트랜잭션 격리 수준 및 트랜잭션 시간 제한 구성을 참조하세요.

    • 하드 디스크의 위치와 BizTalk 오케스트레이션이 삽입 및 업데이트 작업을 위해 SQL Server 데이터베이스에서 알림 메시지를 삭제하는 해당 파일 포트를 정의합니다. C:\TestLocation\UpsertNotification 폴더에 알림 메시지를 삭제하도록 이 포트를 구성합니다.

    • 하드 디스크의 위치와 BizTalk 오케스트레이션이 다른 모든 작업에 대해 SQL Server 데이터베이스에서 알림 메시지를 삭제하는 해당 파일 포트를 정의합니다. C:\TestLocation\OtherNotification 폴더에 알림 메시지를 삭제하도록 이 포트를 구성합니다.

애플리케이션 시작

SQL Server 데이터베이스에서 알림 메시지를 수신하고 후속 선택 및 업데이트 작업을 수행하려면 BizTalk 애플리케이션을 시작해야 합니다. BizTalk 애플리케이션 시작에 대한 지침은 오케스트레이션을 시작하는 방법을 참조하세요.

이 단계에서는 다음을 확인합니다.

  • 데이터베이스가 실행 중인 SQL Server 알림 메시지를 수신하는 WCF-Custom 또는 WCF-SQL 단방향 수신 포트입니다.

  • SQL Server 메시지를 받는 두 개의 FILE 송신 포트가 실행 중입니다.

  • 작업에 대한 BizTalk 오케스트레이션이 실행 중입니다.

작업 실행

BizTalk 오케스트레이션을 시작한 후 다음 작업 집합이 수행됩니다.

  • NotifyOnListenerStart 바인딩 속성이 True로 설정되어 있으므로 다음 메시지가 표시됩니다.

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>ListenerStarted</Info>   
      <Source>SqlBinding</Source>   
      <Type>Startup</Type>   
    </Notification>  
    

    태그의 값 <Info> 은 "ListnerStarted"입니다. 따라서 이 메시지는 C:\TestLocation\OtherNotification 폴더에 수신됩니다.

  • Employee 테이블에 레코드를 삽입합니다. 다음과 유사한 알림 메시지가 표시됩니다.

    <?xml version="1.0" encoding="utf-8" ?>   
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Insert</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    태그의 값 <Info> 은 "Insert"입니다. 따라서 이 메시지는 C:\TestLocation\UpsertNotification 폴더에 수신됩니다.

  • Employee 테이블에서 레코드를 업데이트합니다. 다음과 유사한 알림 메시지가 표시됩니다.

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Update</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    태그의 값 <Info> 은 "업데이트"입니다. 따라서 이 메시지는 C:\TestLocation\UpsertNotification 폴더에 수신됩니다.

  • Employee 테이블에서 레코드를 삭제합니다. 다음과 유사한 알림 메시지가 표시됩니다.

    <?xml version="1.0" encoding="utf-8" ?>  
    <Notification xmlns="http://schemas.microsoft.com/Sql/2008/05/Notification/">  
      <Info>Delete</Info>   
      <Source>Data</Source>   
      <Type>Change</Type>   
    </Notification>  
    

    태그의 값 <Info> 은 "Delete"입니다. 따라서 이 메시지는 C:\TestLocation\OtherNotification 폴더에 수신됩니다.

모범 사례

BizTalk 프로젝트를 배포하고 구성한 후에는 구성 설정을 바인딩 파일이라는 XML 파일로 내보낼 수 있습니다. 바인딩 파일을 생성한 후에는 파일에서 구성 설정을 가져올 수 있으므로 송신 포트를 만들고 동일한 오케스트레이션에 대한 포트를 받을 필요가 없습니다. 바인딩 파일에 대한 자세한 내용은 어댑터 바인딩 다시 사용을 참조하세요.

알림 메시지를 받은 후 복잡한 작업 수행

이 항목의 오케스트레이션은 단순하고 더 잘 이해하기 위해 알림 유형에 따라 메시지를 다른 폴더에 복사합니다. 그러나 실제 시나리오에서는 더 복잡한 작업을 수행할 수 있습니다. 이 항목에 제공된 대로 유사한 절차를 수행하고 이를 기반으로 빌드하여 원하는 작업을 수행할 수 있습니다. 예를 들어 Employee 테이블에서 삽입 작업에 대한 알림 메시지가 표시되면 다른 테이블에 레코드를 삽입하도록 오케스트레이션을 변경할 수 있습니다. 이러한 경우 결정 셰이프 내에서 적절한 변경을 수행할 수 있습니다.

이러한 시나리오 중 하나는 자습서 2: 직원 - SQL 어댑터를 사용한 구매 주문 프로세스에 자세히 설명되어 있습니다.

참고 항목

BizTalk Server 사용하여 SQL 쿼리 알림 받기