다음을 통해 공유


방법: 알려진 메시지 유형에 대한 비즈니스 규칙 정책을 사용하여 내용 기준 라우팅 구현

목표

이 섹션에서는 비즈니스 규칙 정책을 사용하여 알려진 메시지 유형(Microsoft BizTalk Server Configuration 데이터베이스에 배포된 스키마)의 내용을 기반으로 메시지를 동적으로 라우팅하는 여정을 만드는 방법을 보여 줍니다.

이 방법 항목에서는 다음 단계를 완료합니다.

  • 콘텐츠를 기반으로 메시지를 라우팅하는 데 사용할 비즈니스 규칙 정책을 만듭니다.

  • BRE 확인자를 사용하여 여정 라우팅 쪽지를 만들어 메시지를 동적으로 라우팅합니다.

  • 여정 테스트 클라이언트 샘플 애플리케이션을 사용하여 여정을 테스트합니다.

필수 구성 요소

이 방법 항목의 절차에서는 개발 활동에 대한 필수 구성 요소를 완료해야 합니다.

시작하기 전에

이 방법 항목의 뒷부분에서 단계를 수행하기 전에 다음 작업을 완료합니다.

  • GlobalBank West 테스트 메시지를 만듭니다.

  • GlobalBank East 테스트 메시지를 만듭니다.

    다음 절차에서는 이러한 각 작업을 수행하는 방법을 설명합니다.

GlobalBank West 테스트 메시지를 만들려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. NAOrderDoc.xml 복사본을 만든 다음 복사본 이름을 West.xml.

  3. 메모장에서 West.xml 연 다음 customerName 요소의 값을 GlobalBankWest로 변경합니다.

  4. West.xml UTF-8로 저장한 다음 메모장을 닫습니다.

GlobalBank East 테스트 메시지를 만들려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. NAOrderDoc.xml 복사본을 만든 다음 복사본 이름을 East.xml.

  3. 메모장에서 East.xml 연 다음 customerName 요소의 값을 GlobalBankEast로 변경합니다.

  4. East.xml UTF-8로 저장한 다음 메모장을 닫습니다.

단계

사용자 지정 메시지 속성을 사용하여 라우팅하는 BRE 정책을 만들려면

이 규칙은 고객의 이름을 사용하여 메시지를 라우팅하는 데 사용되는 엔드포인트를 동적으로 설정합니다.

  1. 작업 표시줄에서 시작을 클릭하고 모든 프로그램, BizTalk Server 차례로 가리킨 다음 비즈니스 규칙 작성기를 클릭합니다.

  2. 정책 Explorer 정책을 마우스 오른쪽 단추로 클릭한 다음 새 정책 추가를 클릭합니다. 정책 이름을 RouteBasedOnCustomerKnownType으로 지정합니다.

고객 GlobalBank West에 대한 라우팅 규칙을 추가하려면

  1. RouteBasedOnCustomerKnownType 정책에서 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 새 규칙 추가를 클릭합니다. 규칙 이름을 SetWestEndpoint로 지정합니다.

  2. 팩트 Explorer XML 스키마 탭을 클릭하고 스키마를 마우스 오른쪽 단추로 클릭한 다음 찾아보기를 클릭합니다.

  3. 스키마 파일 대화 상자에서 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB로 이동합니다. DynamicResolution.Schemas에서 NAOrderDoc.xsd를 선택한 다음 열기를 클릭합니다.

    참고

    테스트에 사용할 서부 및 동부 메시지를 만드는 데 사용된 NAOrderDoc.xml 메시지를 정의하는 스키마입니다.

  4. 팩트 Explorer NAOrderDoc.xsd를 클릭한 다음 속성 창에서 문서 형식 속성을 클릭한 다음 GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc를 입력합니다.

    참고

    스키마의 정규화된 이름입니다.

  5. 팩트 Explorer NAOrderDoc.xsd를 확장한 다음 OrderDoc를 확장합니다.

  6. 규칙 창에서 조건을 마우스 오른쪽 단추로 클릭하고 조건자를 가리킨 다음 같음을 클릭합니다.

  7. 팩트 Explorer customerName 요소를 조건 아래의 argument1 노드로 끌어옵니다.

  8. argument2 노드를 클릭한 다음 GlobalBankWest를 입력합니다.

  9. 팩트 Explorer 어휘 탭을 클릭하고 ESB를 확장합니다. EndPointInfo를 확장한 다음 버전 1.0을 확장합니다.

    참고

    Microsoft BizTalk ESB 도구 키트에는 ESB에서 사용할 규칙을 만드는 데 사용할 수 있는 몇 가지 어휘가 포함되어 있습니다. 이들 중 일부는 사용자 고유의 어휘로 바꾸거나 보강해야 합니다. 예를 들어 DynamicRunTimeMaptypes 에는 GlobalBank 샘플에 제공된 맵에 대한 정의가 있습니다.

  10. 팩트 Explorer 엔드포인트 아웃바운드 전송 위치 설정 정의를 작업으로 끌어옵니다.

  11. 빈 문자열>을 클릭한< 다음 C:\HowTos\Out\West%MessageID%.xml를 입력합니다.

  12. 팩트 Explorer 엔드포인트 아웃바운드 전송 유형 설정 정의를 작업으로 끌어옵니다.

  13. 팩트 Explorer ESB를 확장합니다. TransportTypes, 버전 1.0을 확장한 다음, 어댑터 공급자 정의를 빈 문자열>로< 끕니다.

  14. 작업 창에서 어댑터 공급자 드롭다운 목록을 확장하고 파일을 클릭합니다.

고객 GlobalBank East에 대한 라우팅 규칙을 추가하려면

  1. 정책 Explorer SetWestEndpoint 규칙을 마우스 오른쪽 단추로 클릭한 다음 복사를 클릭합니다.

  2. 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 붙여넣기를 클릭합니다.

  3. 새 규칙 이름 대화 상자에서 SetEastEndpoint를 입력하고 확인을 클릭합니다.

  4. 정책 Explorer SetEastEndpoint 규칙을 클릭합니다.

  5. 조건 섹션에서 GlobalBankWest를 마우스 오른쪽 단추로 클릭한 다음 인수 다시 설정을 클릭합니다.

  6. argument2를 클릭한 다음 GlobalBankEast를 입력합니다.

  7. 작업 섹션에서 C:\HowTos\Out\West%MessageID%.xml를 마우스 오른쪽 단추로 클릭한 다음 인수 다시 설정을 클릭합니다.

  8. 빈 문자열>을 클릭한< 다음 C:\HowTos\Out\East%MessageID%.xml입력합니다.

알 수 없는 고객에 대한 라우팅 규칙을 추가하려면

  1. RouteBasedOnCustomerKnownType 정책에서 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 새 규칙 추가를 클릭합니다. 규칙 이름을 SetUnknownCustomerEndpoint로 지정합니다.

  2. 규칙 창에서 조건을 마우스 오른쪽 단추로 클릭한 다음 논리 AND 추가를 클릭합니다.

  3. 규칙 창에서 AND를 마우스 오른쪽 단추로 클릭하고 조건자를 가리킨 다음 NotEqual을 클릭합니다.

  4. 팩트 Explorer XML 스키마 탭을 클릭하고 NAOrderDoc.xsd를 확장한 다음 OrderDoc를 확장합니다.

  5. 팩트 Explorer customerName 요소를 조건 아래의 argument1 노드로 끌어옵니다.

  6. argument2 노드를 클릭한 다음 GlobalBankWest를 입력합니다.

  7. 규칙 창에서 AND를 마우스 오른쪽 단추로 클릭하고 조건자를 가리킨 다음 NotEqual을 클릭합니다.

  8. 팩트 Explorer customerName 요소를 조건 아래의 argument1 노드로 끌어옵니다.

  9. argument2 노드를 클릭한 다음 GlobalBankEast를 입력합니다.

  10. 팩트 Explorer 어휘 탭을 클릭하고 ESB를 확장합니다. EndPointInfo를 확장한 다음 버전 1.0을 확장합니다.

  11. 팩트 Explorer 엔드포인트 아웃바운드 전송 위치 설정 정의를 작업으로 끌어옵니다.

  12. 빈 문자열>을 클릭한 <다음 C:\HowTos\Out\CustomerUnknown%MessageID%.xml 입력합니다.

  13. 팩트 Explorer 엔드포인트 아웃바운드 전송 유형 설정 정의를 작업으로 끌어옵니다.

  14. 팩트 Explorer ESB를 확장합니다. TransportTypes, 버전 1.0을 확장한 다음, 어댑터 공급자 정의를 빈 문자열>로 <끕니다.

  15. 작업 창에서 어댑터 공급자 드롭다운 목록을 확장하고 파일을 클릭합니다.

정책을 게시하고 배포하려면

  1. 정책 Explorer RouteBasedOnCustomerKnownType 정책에서 버전 1.0(저장되지 않음)을 마우스 오른쪽 단추로 클릭한 다음 게시를 클릭합니다.

  2. 정책 Explorer RouteBasedOnCustomerKnownType 정책에서 버전 1.0 - 게시됨을 마우스 오른쪽 단추로 클릭한 다음 배포를 클릭합니다.

ESB 여정 DSL 모델을 만들려면

  1. Visual Studio에서 C:\HowTos\Patterns\Patterns.sln을 엽니다.

  2. 솔루션 탐색기 여정라이브러리 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 여정을 클릭합니다.

  3. 새 항목 추가 대화 상자의 이름 상자에 CbrKnownType을 입력하고 추가를 클릭합니다.

여정의 속성을 구성하려면

  1. Visual Studio에서 CbrKnownType.itinerary의 디자인 화면을 클릭합니다. CbrKnownType 속성 창 다음 속성을 구성합니다.

    1. 모델 내보내기 드롭다운 목록에서 XML 여정 내보내기를 클릭합니다.

    2. Extender 설정 섹션의 여정 XML 파일 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.

    3. XML 파일 선택 대화 상자의 파일 이름 상자에 C:\HowTos\Itineraries\CbrKnownType을 입력하고 저장을 클릭합니다.

      참고

      이 단계를 통해 여정을 XML로 로컬 파일 위치로 내보낼 수 있습니다. 여정 데이터베이스 대신 로컬 파일 위치로 여정을 내보내면 ESB 테스트 클라이언트 애플리케이션을 사용하여 여정을 테스트할 수 있습니다. 이 방법 항목의 뒷부분에서 이 프로세스를 완료합니다.

여정의 구조를 정의하려면

  1. 도구 상자에서 On-Ramp 모델 요소를 디자인 화면으로 끌어옵니다. OnRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 ReceiveNAOrder를 입력합니다.

    2. Extender 드롭다운 목록에서 On-Ramp ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 Microsoft.Practices.ESB를 클릭합니다.

    4. 수신 포트 드롭다운 목록에서 OnRamp.Itinerary를 클릭합니다.

  2. 도구 상자에서 오프 램프 모델 요소를 디자인 화면으로 끌어온 다음 ReceiveNAOrder 모델 요소의 오른쪽에 놓습니다. OffRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendRegionalOrders를 입력합니다.

    2. Extender 드롭다운 목록에서 오프 램프 ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 GlobalBank.ESB를 클릭합니다.

    4. 송신 포트 드롭다운 목록에서 DynamicResolutionOneWay를 클릭합니다.

  3. 도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어서 ReceiveNAOrder 모델 요소와 SendRegionalOrders 모델 요소 사이에 배치합니다. ItineraryService1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendPortFilter를 입력합니다.

    2. 여정 서비스 확장기 드롭다운 목록에서 경사로 확장기를 클릭합니다.

    3. 램프 끄기 드롭다운 목록에서 SendRegionalOrders를 확장한 다음 송신 처리기를 클릭합니다.

  4. SendPortFilter 모델 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 RouteRegionalOrders를 입력합니다.

    2. 전송 이름 드롭다운 목록에서 BRE를 클릭합니다.

    3. 해결 프로그램 구현 드롭다운 목록에서 Bre Resolver 확장을 클릭합니다.

    4. 정책 드롭다운 목록에서 RouteBasedOnCustomerKnownType을 클릭합니다.

    5. 메시지 형식 인식 드롭다운 목록에서 True를 클릭합니다.

    6. UseMsg 드롭다운 목록에서 True를 클릭합니다.

      참고

      오케스트레이션에서 BRE Resolver 확장을 사용하는 경우 recognizeMessageFormat 속성을 False로 설정해야 합니다.

  5. 도구 상자에서 커넥터를 클릭합니다. ReceiveNAOrder 모델 요소에서 SendPortFilter 모델 요소로 연결을 끌어옵니다.

  6. 도구 상자에서 커넥터를 클릭합니다. SendPortFilter 모델 요소에서 SendRegionalOrders 모델 요소로 연결을 끌어옵니다.

여정 테스트 클라이언트와 함께 사용할 모델을 내보내려면

  1. Visual Studio에서 CbrKnownType 여정의 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 모델 내보내기를 클릭합니다.

    참고

    일정의 XML 버전이 Visual Studio에서 열립니다.

  2. 모든 프로젝트 아티팩트 저장

  3. Windows Explorer C:\HowTos\Itineraries로 이동하여 여정 XML(CbrKnownType.xml)을 만듭니다.

여정 및 비즈니스 규칙을 테스트하려면

  1. 개발 활동(C:\HowTos\ESB.Itinerary.Test.exe - 바로 가기)에 대한 필수 구성 요소 중에 만든 바로 가기를 사용하여 여정 테스트 클라이언트 샘플 애플리케이션을 엽니다.

  2. 여정 테스트 클라이언트에서 WCF 서비스 검사 사용 상자의 선택을 취소한 다음 여정 로드를 클릭합니다.

  3. 일정 파일 열기 대화 상자에서 C:\HowTos\Itineraries로 이동합니다. CbrKnownType.xml를 선택한 다음 열기를 클릭하여 여정을 로드합니다.

  4. 확인 을 클릭하여 적재된 여정 메시지의 선택을 취소합니다.

  5. 여정 테스트 클라이언트에서 메시지 로드 상자 옆에 있는 줄임표 단추(...)를 클릭합니다.

  6. 로드할 XML 문서 선택 대화 상자에서 C:\HowTos로 이동합니다. West.xml를 선택한 다음 열기를 클릭하여 테스트 메시지를 로드합니다.

  7. 요청 제출 단추를 클릭합니다. 테스트가 완료되면 확인을 클릭하여 표시되는 확인을 해제합니다.

  8. Windows Explorer C:\HowTos\Out으로 이동합니다. West%MessageID%.xml 메시지가 디렉터리에 기록되었는지 확인합니다.

  9. East.xml 메시지를 사용하여 테스트 프로세스를 반복합니다.

  10. Windows Explorer C:\HowTos\Out으로 이동합니다. East%MessageID%.xml 메시지가 디렉터리에 기록되었는지 확인합니다.

  11. NAOrderDoc.xml 메시지를 사용하여 테스트 프로세스를 반복합니다.

  12. Windows Explorer C:\HowTos\Out으로 이동합니다. CustomerUnknown%MessageID%.xml 메시지가 디렉터리에 기록되었는지 확인합니다.

추가 리소스

자세한 내용은 다음 관련 항목을 참조하십시오.