내보내기(0) 인쇄
모두 확장

BizTalk Services 프로젝트의 연결에서 대상으로 메시지 라우팅

업데이트 날짜: 2014년 9월

다양한 BizTalk Services 프로젝트 구성 요소를 연결하는 가장 큰 이유 중 하나는 구성 요소 간에 메시지를 라우팅하기 위해서입니다. 그러나 또 다른 요구 사항도 있습니다. 비즈니스 논리(라우팅 조건이라고도 함)를 기준으로 둘 이상의 대상 구성 요소로 원본 구성 요소 하나의 메시지를 라우팅해야 하는 경우를 예로 들 수 있습니다. 라우팅 조건이 둘 이상이면 라우팅 조건 적용 순서도 설정해야 합니다. 마지막으로 메시지가 최종적으로 대상에 라우팅되기 전에 메시지에 대해 수행해야 하는 몇 가지 작업이 있습니다(예: 메시지 헤더에 값 할당, 사용자 지정 헤더 추가 등). 이 항목에서는 이와 같은 측면에 대해 자세히 설명하고 BizTalk Services 프로젝트에서 이러한 작업을 수행하는 방법에 대한 지침도 제공합니다.

이 항목에서는 예제 시나리오를 사용하여 이러한 단계를 설명합니다. 여기서는 XML 단방향 연결을 사용하여 다음 형식의 XML 메시지를 처리해야 한다고 가정합니다.

<PaymentHistory xmlns:ns0="http://Integration.PipelineChaining">
  <BaseData>
    <Amount>10.4</Amount> 
    <CurrencyCode>CurrencyCode_0</CurrencyCode> 
    <EntryDate>1999-05-31</EntryDate> 
    <EntryTime>13:20:00.000-05:00</EntryTime> 
    <PaymentMode>Mode_0</PaymentMode> 
    <StatusCode>StatusCode_0</StatusCode> 
    <PurposeCode>PurposeCode_0</PurposeCode> 
  </BaseData>
</PaymentHistory>

비즈니스 논리는 결제 모드가 신용 카드이면 메시지를 단방향 외부 서비스로 라우팅하고, 모드가 현금이면 메시지를 단방향 릴레이 끝점으로 라우팅하는 것입니다. 그 외의 모드에서는 메시지를 Service Bus 큐로 라우팅해야 합니다.

라우팅 대상은 간단하게 정의할 수 있습니다. 즉, 들어오는 메시지가 연결에서 처리된 후 라우팅되는 경로 대상을 정의해야 합니다. XML 단방향 연결 또는 XML 요청-응답 연결에서 들어오는 메시지를 라우팅할 수 있는 위치와 관련한 몇 가지 고려 사항은 다음과 같습니다. 이러한 고려 사항에 대한 자세한 내용은 Constraints on Using an XML One-Way BridgeConstraints on Using an XML Request Reply Bridge을 참조하십시오.

다음 절차에서는 메시지 흐름의 두 구성 요소를 연결하는 방법을 설명합니다.

  1. BizTalk 서비스 프로젝트 만들기의 설명에 따라 BizTalk Services 프로젝트를 만듭니다.

  2. 다양한 항목의 Configure Rich Messaging Endpoints on Azure에서 설명하는 대로 BizTalk Services 프로젝트에 구성 요소를 추가합니다.

  3. 도구 상자에서 연결 범주 아래의 커넥터 구성 요소를 클릭합니다.

  4. 메시지 원본으로 사용할 구성 요소의 오른쪽 끝에 마우스 포인터를 놓습니다(구성 요소 위로 커서를 이동하면 빨간 점으로 표시됨). 그러면 마우스 포인터가 작은 "S" 기호로 바뀌어 이 구성 요소가 메시지 원본을 추가할 것임을 나타냅니다. 점을 마우스로 누른 상태로 대상 구성 요소의 왼쪽 끝(이 지점에서 커서가 다시 바뀌어 대상을 나타내는 작은 "T"가 표시됨)으로 끈 다음 마우스를 놓습니다. 그러면 두 구성 요소가 연결됩니다. 원본 구성 요소 하나를 여러 대상 구성 요소에 연결할 수 있습니다.

    note참고
    현재 중요 시점에서는 메시지 흐름이 항상 XML 단방향 연결 또는 XML 요청-응답 연결로 시작되어야 합니다. 그 이후에는 제약 조건을 준수하면서 어떤 구성 요소로든 메시지를 라우팅할 수 있습니다. 제약 조건은 Constraints on Using an XML One-Way BridgeConstraints on Using an XML Request Reply Bridge에 나와 있습니다.

    예제 시나리오의 경우 XML 단방향 연결을 단방향 외부 서비스, 단방향 릴레이 끝점 및 Service Bus 큐에 연결해야 합니다.

두 구성 요소를 연결하는 것 이외에 라우팅에서 또 다른 중요한 요소는, 비즈니스 논리에 따라 원본 구성 요소 하나에서 둘 이상의 대상 구성 요소로 메시지를 라우팅하는 것입니다.

위에서 설명한 예제 시나리오의 경우에는 XML 메시지의 PaymentMode 요소로 표시되는 결제 모드를 기준으로 라우팅 조건을 적용해야 합니다. BizTalk Services 프로젝트에서 이 비즈니스 논리를 구현하려면 각 조건에 대해 라우팅 필터를 만들어야 합니다. 다음 절차에서 해당 방법을 설명합니다.

note참고
필터 만들기를 시작하기 전에 이전 절차에서 설명한 대로 세 개의 커넥터를 모두 만들었는지 확인합니다. 또한 XML 메시지의 PaymentMode 요소 값을 추출하기 위해 연결의 보강 단계에서 PaymentMode 속성을 만든 상태여야 합니다. XML 요소에서 값을 추출하는 방법에 대한 지침은 To extract values from a message body using xpath을 참조하십시오.

다음 절차에서는 BizTalk Services 프로젝트에서 라우팅 조건을 설정하는 방법을 설명합니다.

  1. XML 단방향 연결 및 단방향 외부 서비스 간의 경로 커넥터를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 속성 창에서 필터 조건 속성에 대해 줄임표(…) 단추를 클릭하여 경로 필터 구성 대화 상자를 엽니다.

  2. 대화 상자에서 필터 옵션을 선택하고 다음 필터 문자열을 지정합니다.

    PaymentMode='credit_card'
    
    note참고
    필터 식에는 표준 SQL 92 구문을 사용해야 합니다.

    보강 단계에서 추출용으로 PaymentMode 속성을 지정한 상태여야 합니다. XML 단방향 연결 및 단방향 외부 서비스 간의 커넥터에 대해 지정되는 이 필터 조건은 해당 필터 조건이 충족되면 메시지를 단방향 외부 서비스로 보내도록 지정합니다.

    확인을 클릭하여 변경 내용을 저장하고 종료합니다.

  3. 마찬가지로 XML 단방향 연결 및 단방향 릴레이 끝점 간의 커넥터에 대해 필터 문자열을 다음과 같이 지정합니다.

    PaymentMode='cash'
    
  4. 결제 모드가 현금도 아니고 신용 카드도 아니면 메시지를 Service Bus 큐로 라우팅해야 합니다. 메시지 흐름에서 이러한 라우팅을 수행하려면 XML 단방향 연결 및 Service Bus 큐 간의 커넥터에 대해 경로 필터 구성 대화 상자를 열고 모두 일치를 선택해야 합니다. 그러면 필터 조건이 모두 일치하지 않는 경우 해당 필터 조건을 적용하고 메시지를 Service Bus 큐로 라우팅하도록 지정됩니다.

이전 섹션에서는 적절한 메시지가 메시지 흐름의 적절한 구성 요소로 라우팅되도록 경로 커넥터에 대해 필터를 설정했습니다. 라우팅 순서도 라우팅 필터만큼 중요합니다. 예를 들어 위에서 설명한 시나리오의 경우 PaymentModecredit_card로 설정된 메시지가 모두 일치가 설정된 필터 조건으로 라우팅되는 경우 단방향 외부 서비스 끝점이 아닌 Service Bus 큐로 라우팅됩니다. 그러므로 비즈니스 논리에 따르면 모두 일치 조건은 마지막에 적용되어야 합니다. 이렇게 하려면 필터 조건 적용 순서를 설정하면 됩니다.

  1. XML 연결(XML 단방향 연결 또는 XML 요청-응답 연결)을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 속성 창에서 경로 순서 지정 테이블 속성에 대해 줄임표(…) 단추를 클릭합니다.

  2. 경로 순서 지정 테이블 대화 상자에는 라우팅 필터를 적용하는 기본 순서가 표시됩니다. 이 기본 순서는 라우팅 커넥터를 만든 순서입니다. 라우팅 필터의 순서를 변경하려면 라우팅 필터를 선택하고 위쪽 및 아래쪽 화살표 단추를 사용하여 필터를 올바른 순서로 정렬합니다. 원하는 정확한 라우팅 순서가 지정될 때까지 모든 라우팅 필터에 대해 이 단계를 반복해야 합니다.

  3. 확인을 클릭하여 변경 내용을 저장하고 종료합니다.

메시지 받는 사람에게 메시지를 보내기 전에 일부 사용자 지정 메시지 헤더를 추가하거나 표준 메시지 헤더에 값을 할당하려는 경우가 있습니다. 이러한 경우 경로 동작을 사용할 수 있습니다. 자세한 내용은 Route Action를 참조하십시오.

계속해서 위에서 사용한 예제에서 사용자 지정 SOAP 헤더(CustomerName) 및 값과 함께 메시지를 단방향 외부 서비스로 보내야 한다고 가정하겠습니다.

  1. 연결 및 단방향 외부 서비스 간의 경로 커넥터를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 속성 창에서 경로 동작 속성에 대해 줄임표(…) 단추를 클릭하여 경로 동작 대화 상자를 엽니다.

  2. 경로 동작 대화 상자에서 추가를 클릭하여 경로 동작 추가 대화 상자를 엽니다. 경로 동작 추가 대화 상자에서 다음을 수행합니다.

     

    섹션 필드 이름 설명

    속성(읽기 대상)

    속성 이름

    XML 요청-응답 연결의 이전 두 보강 단계에서 정의된 모든 속성이 표시됩니다. 여기서 속성을 선택할 때 선택한 속성의 값을 나가는 메시지의 관련 메시지 헤더에 할당해야 하도록 지정합니다.

    식을 입력하려면 이 옵션을 사용합니다. 이 식을 계산한 값을 나가는 메시지의 관련 메시지 헤더로 전달합니다. 이 옵션을 사용하여 메시지 헤더에 할당할 상수 값을 지정할 수도 있습니다. 식의 몇 가지 예는 다음과 같습니다.

    • P1 + P2. 여기서 P1과 P2는 이전 두 보강 단계에서 이미 정의한 두 속성입니다.

    • 'Fabrikam'은 문자열 상수입니다.

      Important중요
      표현식에 대한 값은 항상 단일 따옴표 안에 지정해야 합니다.

    Important중요
    속성 이름 옵션 또는 옵션을 선택할 수 있습니다. 이 두 옵션 중 하나만 사용할 수 있습니다.

    대상(쓰기 대상)

    Type

    나가는 메시지의 메시지 유형을 지정합니다. 이 메시지의 헤더에 앞에서 지정한 값을 할당합니다.

    메시지 대상에 따라 드롭다운에서 사용 가능한 값이 변경됩니다.

    • 외부 서비스나 릴레이 끝점(단방향 또는 양방향)으로 라우팅하는 경우 드롭다운 목록에서 사용 가능한 값은 SOAPHTTP입니다.

    • 큐나 항목으로 라우팅하는 경우 드롭다운 목록에서 사용 가능한 값은 SOAP조정됨입니다.

    • FTP 대상으로 라우팅하는 경우 드롭다운에서 사용 가능한 값은 FTP입니다.

    • SFTP 대상으로 라우팅하는 경우 드롭다운에서 사용 가능한 값은 SFTP입니다.

    • Azure Blob로 라우팅하는 경우 드롭다운에서 사용 가능한 값은 Azure Blob입니다.

    SOAP 헤더 네임스페이스(유형SOAP로 설정된 경우에만 해당됨)

    값을 할당할 사용자 지정 SOAP 헤더의 네임스페이스를 지정합니다.

    Important중요
    식별자 드롭다운 목록에서 표준 헤더를 선택하면 이 필드를 사용할 수 없습니다. 사용자 지정 SOAP 헤더에만 네임스페이스를 입력하면 됩니다.

    유형HTTP 또는 조정됨으로 설정된 경우에도 이 필드를 사용할 수 없습니다.

    식별자

    값을 할당할 메시지 헤더 속성의 이름을 지정합니다.

    여기서 사용자 지정 헤더를 지정할 수도 있습니다. SOAP 메시지 유형의 경우 드롭다운에는 4개 표준 식별자가 나열됩니다. HTTP 메시지 유형의 경우에는 표준 헤더가 매우 많으므로 드롭다운에는 헤더가 나열되지 않습니다. SOAP 및 HTTP 메시지 유형의 경우 값을 다른 속성에 할당할 사용자 지정 헤더를 나열할 수 있습니다.

    FTP, SFTP, Azure Blob와 같은 기타 대상 유형의 경우에는 속성 값을 작성해야 하는 메시지 헤더를 선택할 수 있습니다.

    앞에서 사용한 예제의 경우에는 이 속성을 나가는 메시지에 포함해야 하는 사용자 지정 헤더 이름인 CustomerName으로 설정해야 합니다.

  3. 경로 동작 추가 대화 상자에서 확인을 클릭합니다. 그러면 대화 상자가 다음과 같이 표시됩니다.

    경로 동작

    이 대화 상자에 표시된 설정에 따르면, 연결은 이전 보강 단계 중 하나에서 이미 정의된 P1 속성의 값을 사용하고 네임스페이스가 http://schemas.microsoft.com/integration/promotedpropertiesinfo인 사용자 지정 SOAP 헤더 CustomerName에 해당 값을 할당한 다음 메시지 받는 사람에게 보냅니다.

    Important중요
    P1 및 P2와 같이 서로 다른 두 속성을 사용하여 같은 대상을 가리키는 두 경로 동작을 같은 라우팅 커넥터에 만들어도 빌드 오류가 발생하지는 않습니다. 마지막 경로 동작이 이전에 정의된 경로 동작을 재정의하기 때문입니다. 이 예에서는 P2 속성의 경로 동작이 적용됩니다.

  4. 경로 동작을 업데이트하거나 제거하려면 대화 상자에서 해당 동작을 선택한 다음 편집 또는 제거를 각각 클릭하면 됩니다. 경로 동작 대화 상자에서 확인을 클릭한 후 저장을 클릭하여 연결 구성에 변경 내용을 저장합니다.

참고 항목

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft